中国大学mooc高级语言程序设计地址:https://www.icourse163.org/course/JLU-62001
第三讲:分支程序 & 循环初步–编程题
1输出成绩等级(10分)
题目内容:给出一个百分制成绩,要求输出成绩等级大写字符:‘A’、‘B’、‘C’、‘D’、‘E’。(90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。)
输入: 一个整数
输出:对应等级
样例1:输入 100 输出 A
样例2:输入 89 输出 B
#include<stdio.h>
int main(){
int mark;
scanf("%d",&mark);
mark=mark/10;
if(mark>=9)
printf("A");
switch(mark){
case 8:printf("B"); break;
case 7:printf("C"); break;
case 6:printf("D"); break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("E"); break;
}
return 0;
}
灵活运用switch和break的性质能在这道题偷点小懒~
2回文数字(10分)
题目内容:输入一个四位数,如果将这个数逆序后依然等于这个数本身,则输出OK,否则输出NO。
输入:一个整数
输出:OK或NO
样例1:输入 1234 输出 NO
样例2:输入 1221 输出 OK
#include<stdio.h>
int main(){
int number,a,b,c,d;
scanf("%d",&number);
a=number/1000;
b=number/100%10;
c=number/10%10;
d=number%10;
if(a==d&&b==c){
printf("OK");
}else{
printf("NO");
}
return 0;
}
这道题关键就是懂得如何把四位数的每位都求出来(后面慢慢会对算法有新的要求)
3时间值是否合法(10分)
题目内容:输入时、分、秒,判断值是否合法,合法输出OK,否则输出NO
输入:三个整数 ;
输出: OK或NO
样例1:输入 12 54 21 输出 OK
样例2:输入 25 25 12 输出 NO
include<stdio.h>
int main(){
int hour,min,second;
scanf("%d %d %d",&hour,&min,&second);
if(hour<=23&&min<=59&&second<=59&&<