C语言实现根据用户输入的整数求和(两种方法)

根据用户输入的整数求和。

程序分析:

while (number == 1)

==运算符是C的相等运算符,该表达式判断number是否等于1。

注意:不要把number==1与number=1混淆,后者是把1赋给status。

根据测试条件number==1,只要number等于1,循环就会重复。每次循环,num的当前值都被加到sum上,这样sum的值始终是当前整数之和。当number的值不为1时,循环结束。然后程序打印sum的最终值。

要让程序正常运行,每次循环都要获取num的一个新值,首先,使用scanf()读取num的一个新值:然后,检查scanf()的返回值判断是否成功获取值。

注意:如果用户输入的不是数字,scanf()会读取失败并返回0。此时,number的值就是0,循环结束。

q to quit

因为输入的字符q不是数字,所它会被放回输入队列中(实际上,不仅仅是q,任何非数值的数据都会导致循环终止,但是提示用户输入q退出程序比提示用户输入一个非数字字符要简单)。

总结:

1、把sum初始化为0;

2、提示用户输入数据;

3、读取用户输入的数据;

4、当输入的数据为整数时,输入加给sum;

5、提示用户再次进行输入

6、再次读取用户输入数据;

7、打印sum的值;

注意:while循环是一个入口条件循环,程序在进入循环体之前必须获取输入的数据并检测其是否为真。所以在while前面要有一个scanf()函数,要让循环继续执行,在循环内需要一个读取数据的语句,所以在while循环最后还要有一个scanf()函数。

方法一:程序如下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int num ,number;
	int sum = 0;
	printf("请输入求和的一个数:\n");
	number=scanf("%d", &num);
	while (number == 1)//while循环,判断number是否为真
	{
		sum = num + sum;
		printf("请输入下一个数:(q to quit)\n");
		number=scanf("%d", &num);
	}
	printf("这些数的和为%d\n", sum);*/
	
	return 0;
}

输出结果如下:

 方法二:程序如下(其实就是简化了代码)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int num;
	int sum = 0;
	printf("请输入求和的一个数:\n");
	while (scanf("%d", &num) == 1)
	{
		sum = num + sum;
		printf("请输入下一个数:(q to quit)\n");
		
	}
	printf("这些数的和为%d\n", sum);
	return 0;
}

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C的微妙世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值