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

这两段C和C++代码演示了如何从用户输入的一行整数中读取并求和。程序利用`scanf`或`cin`读取整数,忽略空格,并在遇到换行符时结束输入。输入结束后,程序会输出所有整数的总和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//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() 	
}```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值