解题思路:

我这个应该是最简单,不需要太多知识点就能解答问题的方法了,希望能给初学者解惑!

1、首先是需要输入一个值,如n的值,它表示了将有n个会进行相加。所以需要一个scanf()函数用来输入n的值;

2、还需输入n个数字,所以还需要scanf()函数来输入n个数字,同时还要求这n个数字的和是多少,因为n是未知的,所以不知道要写多少个scanf()函数,所以只能使用循环函数,来输入n个数字了,同时求n数字的和,最好用的就是循环函数,所以可以知道,这个里面至少使用了一个循环函数,同时用来确定n个数字的输入,以及用来求和的;

3、又因为可以重复输入多组数据进行求和,所以至少还有一个函数是用来确保能多组输入和求值的。这里建议使用while(1)函数,恒为真,一直循环下去。

4、当n输入为0的时候,就终止求和程序,同时不输出任意数字。这里最好是遇到n=0的时候,直接break,退出大循环。

注意事项:

1、n个数字求和时,每组的求和值得初始化值都要赋值为0,免得出现累加的错误;

2、注意题目要求当n=0时,不做任何输出,并终止程序的输入,切记是不做任何输出,所以就要保证n=0时,不会执行printf()函数;

参考代码:

#include<stdio.h>
int main()
{
    int a,i,sum,n;
    while(1)
    {
        sum=0;
        scanf("%d",&n);
        if(n!=0)
        {    
            for(i=n;i>0;i--)
            {
                scanf("%d",&a);
                sum=sum+a;
            }
            printf("%d\n",sum);
        }
        else
            break;
    }
    return 0;
}




点赞(3)
 

0.0分

4 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 5 条评论

KK 2年前 回复TA
拆分条件
#include<stdio.h>
int main()
{
	int N,a[100],sum=0;
	while(scanf("%d",&N)&&(N!=0))
	{
	    for(int i=1;i<=N;i++)
	    {
	        scanf("%d",&a[i]);
	        sum+=a[i];
	    }
	    printf("%d\n",sum);
	    sum=0;
	}
	return 0;
}
liuchengbo 5年前 回复TA
@liuchengbo 不用谢
liuchengbo 5年前 回复TA
#include<stdio.h>
int main()
{
    int a,i,sum,n,c[100],p=0;
    while(1)
    {
        sum=0;
        scanf("%d",&n);
        if(n!=0)
        {    
            for(i=n;i>0;i--)
            {
                scanf("%d",&a);
                sum=sum+a;
            }
            c[p]=sum;
            p++;
        }
        else
            break;
    }
    for(i=0;i<p;i++)
    printf("%d\n",c[i]);
    return 0;
}
liuchengbo 5年前 回复TA
简直辣眼睛
likky 6年前 回复TA
这代码不能连续输入,输入一行后就会得出结果