关于#c语言 计分程序#的问题,如何解决?

c语言#计蒜客#计分程序
困扰我的问题是:不知道要输入几个数据。我一般用for循环,这个for里面第二个分号应该是i<=多少啊?
这种不确定输入几个数的类型的题确实不会,希望大家可以教教我。

img

img


下面是我的代码:

#include<stdio.h>
int main()
{
    int n,i,score;
    for(i=1;i<=10;i++)
    {
        scanf("%d\n",&n);
    if(n>=0&&n<=10)
        score=6*n;
    else if(n>=11&&n<=20)
        score=60+2*(n-10);
    else if(n>=21&&n<=40)
        score=60+20+(n-20);
    else if(n>40)
        score=100;
    printf("%d\n",score);
    }
    return 0;
}

错误:scanf("%d\n",&n); 这里不用可加 ‘ \n ’,scanf函数读取时遇到空格符,回车符会自动停止, 只读取前面的数。可以去详细了解一下scanf函数。

处理多组问题可以采用下面方法:

#include <stdio.h>
int main()
{
    int n = 0;
    int score = 0;
    while (scanf("%d", &n) != EOF)  //没有可读取的数时循环停止
    {
        if (n >= 0 && n <= 10)
            score = 6 * n;
        else if (n >= 11 && n <= 20)
            score = 60 + 2 * (n - 10);
        else if (n >= 21 && n <= 40)
            score = 60 + 20 + (n - 20);
        else if (n > 40)
            score = 100;
        printf("%d\n", score);
    }
    return 0;
}

scanf("%d\n",&n);
->
scanf("%d",&n);