下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法
字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出?Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。
#include<> #include <> int main() { char score[100]; int flag = 0, i, s; char grade; printf(\ while (1) { flag=0; scanf(\ for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue; } else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf(\ printf(\ continue; } else{ break; } } s = atoi(score); if (s >= 90)
}
{ grade = 'A'; }
else if (s >= 80) { grade = 'B'; }
else if (s >= 70) { grade = 'C'; }
else if (s >= 60) { grade = 'D'; } else { grade = 'E'; }
printf(\return 0;
编程计算a+aa+aaa+…+aa…a(n个a)的值(4分)
题目内容:
编程计算 a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。
#include<> #include<> int main() {
int n,a,i,j; double p=0,q=0;
printf(\); scanf( \,&a,&n); for(i=1;i<=n;i++) {
for(j=0,p=0;j
p=p+a*pow(10,j); }
q=p+q;
}
printf(\,q); return 0; }
搬砖问题(4分)
题目内容:
n块砖(?27 #include \main() { int a, b, c; long n, i, t, s = 0; printf(\ scanf(\ for (a = 0; 4 * a <= n; a++) for (b = 0; 4 * a + 3 * b <= n; b++) for (c = 0; 4 * a + 3 * b + c / 2 <= n; c += 2) if (4 * a + 3 * b + c / 2 == n && c%2 == 0 && a+b+c==36) { printf(\ } } 编程输出某年某月有多少天(考虑到闰年)。(5分) 题目内容: 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程。 #include <> int main() {int year,month,day; printf(\); scanf(\,&year,&month); switch(month) { case 1: day=31;break; case 2: day=28;break; case 3: day=31;break; case 4: day=30;break; case 5: day=31;break; case 6: day=30;break; case 7: day=31;break; case 8: day=31;break; case 9: day=30;break; case 10: day=31;break; case 11: day=30;break; case 12: day=31;break; default:day=-1;printf(\); } if((year%4==0&&year0!=0||year@0==0)&&month==2) day=29; if (day!=-1) printf(\,day); return 0; }