程序改错v2.0
下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。
#include<stdio.h>
int main()
{
int score;
char grade;
printf("Please input score:");
scanf("%d", &score);
if (score < 0 || score > 100)
printf("Input error!\n");
else if (score >= 90)
grade = 'A’;
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'E';
printf("grade:%c\n", grade);
return 0;
}
#include<stdio.h>
int main()
{
int score,ret=0;
char grade;
printf("Please input score:\n");
ret = scanf("%d", &score);
while ((ret != 1) || (score < 0 || score > 100))
{
while (ret != 1)
{
printf("Input error!\n");
while (getchar () == '\n');
printf("Please input score:\n");
ret = scanf("%d", &score);
}
if (score < 0 || score > 100)
{
printf("Input error!\n");
printf("Please input score:\n");
ret = scanf("%d", &score);
}
}
if (score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'E';
printf("grade: %c\n", grade);
return 0;
}
编程计算a+aa+aaa+…+aa…a(n个a)的值
题目内容:
编程计算 a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。
程序运行结果示例:
Input a,n:
2,4↙
sum=2468
输入提示信息