如何让代码重新输入,而不是直接结束

```

#include <stdio.h>

int main ()
{
int pass=0,score=0;
printf("请输入考试的总成绩:");
scanf("%d",&pass);
printf("请输入你的成绩:");
scanf("%d",&score);
if(score > pass) {
printf("你的成绩是%d。考试总分为%d。输入的成绩有误,请重新输入!\n",score,pass);
return 0;
}
else {printf("你的成绩是%d。考试总分为%d。\n",score,pass);
}

if (score < pass*0.6){
printf("很遗憾,这个成绩没有及格。\n");
}
else{printf("祝贺你,这个成绩及格了。\n");
}
printf("再见!\n");
return 0;
}

```怎么样让出错的成绩返回代码的起始,而非结束

可以使用while来解决问题,也可以使用goto

#include <stdio.h>

int main ()
{
int pass=0,score=0;
shuru:
printf("请输入考试的总成绩:");
scanf("%d",&pass);
printf("请输入你的成绩:");
scanf("%d",&score);
if(score > pass) {
printf("你的成绩是%d。考试总分为%d。输入的成绩有误,请重新输入!\n",score,pass);
goto shuru;
}
else {printf("你的成绩是%d。考试总分为%d。\n",score,pass);
}

if (score < pass*0.6){
printf("很遗憾,这个成绩没有及格。\n");
}
else{printf("祝贺你,这个成绩及格了。\n");
}
printf("再见!\n");
return 0;
}

把main函数里面的代码扔进一个死循环,每次循环开始时先读入一个字符,如果字符是q则退出循环,否则继续这套代码
当出错时continue到下一次循环

整体用while循环,然后在成绩出错的if语句下加上continue;