C/C++输入一串整数和任意数目的空格这些整数必须位于同一行中但允许出现在该行中的任何位置当用户敲下“Enter“键时输入结束自动对所有的整数求和

//C语言
//输入一串整数和任意数目的空格
//这些整数必须位于同一行中
//但允许出现在该行中的任何位置
//当用户敲下"Enter"键时输入结束
//自动对所有的整数求和
 
#include <stdio.h>
#include <stdlib.h>

int main()
{
    
    
	int i;
	int sum=0;
	char ch;
	
	printf("请输入一串整数和任意数目的空格:");
	
	while(scanf("%d",&i)==1)
	{
    
    
		sum+=i;
		
		while((ch=getchar())==' ')
		;
		if(ch=='\n')
			break;
		
		//将变量 ch 中存放的字符退回给 stdin 输入流 
		ungetc(ch,stdin);
	}
	
	printf("结果是:%d",sum);
	printf("\n");
	system("pause"); 
}
//C++
//输入一串整数和任意数目的空格
//这些整数必须位于同一行中
//但允许出现在该行中的任何位置
//当用户敲下"Enter"键时输入结束
//自动对所有的整数求和
#include <iostream> //包含头文件 iostream 
using namespace std; //使用命名空间 std 
int main()
{
    
    
	int sum=0;
	
	cout<<"请输入一串整数和任意数目的空格:";
	
	//正常返回自身
	//反之,返回false 
	int i;
	 
	while(cin>>i)
	{
    
    
		sum+=i;
		while(cin.peek()==' ')
		{
    
    
			// 流对象cin:类型是istream
			//如何从用户终端读取数据 
			cin.get();			
		} 
		if(cin.peek()=='\n')
		{
    
    
			break;
		}
	}
	
	cout <<"结果是:"<<sum<<endl;
	
	return 0;
	
	//如果用户不进行键盘的输入
	//程序将会阻塞 
	
	//>>  :最初定义为右移操作符
	//它在C++中进行了重载,当它按照这里所示的方式使用时
	//它就用于从输入流对象提取信息
	//这个操作符对所有内建的数据类型都进行了重载
	//所以它可以从输入流对象
	//提取出 int float double 型数据
	//也可以提取字符串等数据 
	
	
	//C和C++事实上在声明变量得事实上有点不同
	//C++ 允许我们在程序的任意位置声明变量
	//这大大的提高了大型C++程序的可读性 
	
	//cin.ignore()
	//cin.getline()
	//cin.get()
	//cin.peek()
	//cin.gcount()
	//cin.read() 
	
	//cout.precision()
	//cout.width() 	
}```

猜你喜欢

转载自blog.csdn.net/qq_48167493/article/details/120592513