C语言 输入若干个学生成绩,输入n表示结束.计算总成绩。

如果输入-1结束输入的话我会写的,但是输入n的话。。。

求大神。
只有输入N才结束。其他字母不可以的。

    int i;
    int sum = 0;

    while(1)
    {
        scanf(" %d", &i);
        if(i == -1)
        {
            break;
        }
        sum += i;
    }

    printf("\nsum = %d", sum);

追问

输入N程序终止,不是-1

追答

饿看错了,稍等。判断函数scanf的返回值就行了,如果输入的不是数字打头的,都会退出。

    int i, j;
    int sum = 0;

    while(1)
    {
        j = scanf(" %d", &i);
        if(j == 0)
        {
            break;
        }
        sum += i;
    }

追问

但是要求的是,只有输入N,才算总成绩。。输其他的话会提示输入错误的。

追答

这个样子啊,那就不能用%d了。需要按照字符串处理。

    int  i, len, loop;
    int  sum = 0;
    char num[100];

    while(1)
    {
        scanf("%s", num);
        if(strcmp(num, "N") == 0)
        {
            break;
        }

        len = strlen(num);
        for(loop = 0; loop < len; loop++)
        {
            if((num[loop] < '0') || (num[loop] > '9'))
            {
                printf("input not number!");
                continue;
            }
        }
        i = atoi(num);
        sum += i;
    }

    printf("\nsum = %d", sum);

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值?_百 ...
c include int main() { int i;float score, sum = 0, avg;printf("请输入10个学生的成绩:\\n");for (i = 1; i <= 10; i++) { printf("第%d个学生的成绩:", i);scanf("%f", &score);sum += score;} avg = sum \/ 10;printf("10个学生的成绩总和为%.2f,平均值为%....

c语言 循环结构编程 输入若干个学生成绩, 若输入数据大于100或小于0则...
i;float score[ARR_LEN],sum,average;puts("请分别输入每个学生的成绩:"); count = i = sum = 0;while (1) {printf ("第%d个学生:",i+1);scanf ("%f",&score[i]);if (score[i]<=100 && score[i]>=0) { \/*成绩输入合法*\/sum+=score[i];...

C语言 编程实现 输入若干个学生成绩,输入-1表示结束,求平均成绩
average=sum\/count;printf("%.2lf\\n",average);return 0;}

C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值...
展开全部 #include \\x0d\\x0a\\x0d\\x0a#define MAX 10\\x0d\\x0a\\x0d\\x0astruct student {\\x0d\\x0achar no[10];\\x0d\\x0achar name[10];\\x0d\\x0afloat score[3];\\x0d\\x0a}stu[MAX];\\x0d\\x0a\\x0d\\x0afloat ave_course[3] = {0};\\x0d\\x0afloat ave_student[MAX]...

用C语言编程从键盘输入10个学生的成绩,求平均成绩?
C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩。1、虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。 C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。2、循环语句中进行10个数的累加在sum里面,然后...

从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的...
从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时,结束输入。include<stdio.h> void main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while(x>=0){ if(x>amax)amax=x;if(x<amin)amin=x;scanf("%f",&x);} printf("\\namax=%f\\namin=%f\\n"...

编程C语言 输入n个学生成绩,计算他们的平均值并输出所有高于平均的学生...
思路:定义一个数组用于保存n个学生的成绩,输入他们的成绩的时候统计总分,并计算出他们的平均分,在来一个循环,让n个学生的成绩分别和平均分进行比较,满足大于平均分则输出 \/\/c语言实现 include<stdio.h> define MAX 100 int main(){ int n,i;double score[MAX],average,sum=0;printf("\\n...

用c语言解:从键盘上输入若干学生的c语言成绩,统计并输出最高和最低成 ...
{ int max=0,min=0,n,a[100]={1}; \/\/max,min:最高、最低分所在的下标 printf("请输入学生的成绩,以负数表示结束:");for(n=0;;n++){ scanf("%d",&a[n]);if(a[n]<0)break;if(a[n]>a[max])max=n;if(a[n]

如何用c语言统计学生成绩
要用C语言统计学生成绩,你可以使用一个数组来存储学生成绩,然后使用循环遍历数组来进行统计。下面是一个示例代码:include <stdio.h> int main() { ;printf("请输入学生人数:");scanf("%d", &num);int scores[num];int sum = 0;int = 0;int min = 100;printf("请输入%d个学生成绩:\\n...

C语言:从键盘上输入若干学生的成绩,计算出平均成绩,并输出不及格的成绩...
int main(){ char ch;int i,x,n=0,s=0;for(i=1;;i++){ printf("请输入学生成绩,以空格隔开,以回车结束:\\n");scanf("%d",&x);if(x<60){ printf("%d ",x);n++;} s+=x;if((getchar())=='\\n')break;} printf("\\n平均分=%d 班级人数%d 不及格人数=%d\\n",s\/i...

相似回答
大家正在搜