哈工大C语言程序设计精髓MOOC慕课 周编程题答案 下载本文

\下面代码的功能是将百分制成绩转换为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; }\

\

#include<> int main() {

int n,a,i,j; double p=0,q=0; printf(\ scanf( \ for(i=1;i<=n;i++) {

for(j=0,p=0;j

p=p+a*pow(10,j); } q=p+q; }

printf(\ return 0; }\

\