中国大学mooc哈工大c语言程序设计精髓第六十二周编程题答案
6.1下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include #include int main() { char score[100]; int flag = 0, i, s; char grade; printf(“Please score:\n“); while (1) { flag=0; scanf(“%s“, score); for (i = 0; i = 0 } else { flag = 1; break; } } s = atoi(score); if (s 100 || flag == 1) { printf(“ error!\n“); printf(“Please score:\n“); 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(“grade: %c\n“, grade); return 0; } 6.2编程计算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(“ a,n:\n“); scanf( “%d,%d“, for(i=1;ib时,若a中含有与