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