c++_day1_cin cout

编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行的任何位置。当用户按下enter键,数据输入停止。程序自动对所有的整数进行求和并打印出结果。

需要解决两个问题,提取数字,提取连续数字。

//c
#include<stdio.h>

void main()
{
	int sum=0;;
	int i;
	char ch;

	while(scanf("%d",&i)==1)
	{
		sum+=i;
		
		while((ch=getchar())==' ')//屏蔽空格
			;

		if(ch=='\n')
			break;

		ungetc(ch,stdin);//将变量ch中存放的字符退回给stdin输入流。

	}

	printf("sum; %d\n",sum);
}

  

//c++
#include<iostream>

using namespace std;

int main()
{
	int sum=0;

	cout<<"请输入";
	 
	int i;
	
	while(cin>>i)
	{
		sum+=i;
	
		while(cin.peek()==' ')
		{
			cin.get();
		}
		if(cin.peek()=='\n')
			break;
	}

	cout<<"sum:"<<sum<<endl;

	return 0;

}

①表达式cin>>i返回输入流对象本身也就是cin,但如果读到文件尾或者提取操作符遇到一个非法值,返回值是false。

#include<iostream>

using namespace std;

int main()
{
	char buf[20];
	
	cin.ignore(7);
	cin.getline(buf,10);
	
	cout<<buf<<endl;
	
	return 0;
}
/*
输入:12345 12345 12345 12345
输出:2345 1234
*/ 

②cin.ignore(7)忽视前七个字符

③cin.getline(buff,10)获取十个到buf中存放(第十位是'\0)

 ④using namespace std;名字空间,c++所有标识符都是在同一个特殊的名字空间(std)中定义的。如果没有使用这条指令,需要用std::cout这样的语法来调用输出流对象。

#include<iostream>

using namespace std;

int main()
{
	const int SIZE=50;
	char buf[SIZE];
	
	cout<<"请输入一段文本:";
	cin.read(buf,20);
	
	cout<<"字符串收集到的字符数为:"
		<<cin.gcount()<<endl;
	
	cout<<"输入文本的信息是:"; 
	cout.write(buf,20);
	cout<<endl;
	
	return 0;
 
} 

  

猜你喜欢

转载自www.cnblogs.com/KIROsola/p/12154528.html