C语言程序设计习题集(中国大学MOOC翁凯)03

    科技2024-11-24  20

    03-0. 超速判断(10)

    模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。

    输入格式:

    输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。

    输出格式:

    在一行中输出测速仪显示结果,格式为:“Speed: V - S”,其中V是车速,S或者是Speeding、或者是OK。

    输入样例1: 40 输出样例1: Speed: 40 - OK

    输入样例2: 75 输出样例2: Speed: 75 - Speeding

    #include <stdio.h> int main() { int V; scanf("%d",&V); if(V > 60){ printf("Speed: %d - Speeding",V); } else{ printf("Speed: %d - OK",V); } return 0; }

    03-1. 三天打鱼两天晒网(15)

    中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?

    输入格式:

    输入在一行中给出1个不超过1000的正整数N。

    输出格式:

    在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。

    输入样例1: 103 输出样例1: Fishing in day 103

    输入样例2: 34 输出样例2: Drying in day 34

    #include <stdio.h> int main() { int N,x; scanf("%d",&N); x = N % 5; if (x <= 3){ printf("Fishing in day %d",N); } else{ printf("Drying in day %d",N); } return 0; }

    03-2. 用天平找小球(10)

    三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。

    输入格式:

    输入在一行中给出3个正整数,顺序对应球A、B、C的重量。

    输出格式:

    在一行中输出唯一的那个不一样的球。

    输入样例: 1 1 2 输出样例: C

    #include <stdio.h> int main() { int A,B,C; scanf("%d %d %d",&A,&B,&C); if(A == B){ printf("C"); } else if(A == C){ printf("B"); } else{ printf("A"); } return 0; }

    03-3. 12-24小时制(15)

    编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。

    输入格式:

    输入在一行中给出带有中间的“:”符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。

    提示:在scanf的格式字符串中加入“:”,让scanf来处理这个冒号。

    输出格式:

    在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串“AM”或表示下午的字符串“PM”。如“5:6 PM”表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。

    输入样例: 21:11 输出样例: 9:11 PM

    #include <stdio.h> int main() { int a,b; char c; scanf("%d : %d",&a,&b); if(a > 12){ a = a - 12; c = 'P'; } else{ a = a; c = 'A'; } printf("%d:%d %cM",a,b,c); return 0; }

    03-4. 成绩转换(15)

    本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:

    大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。 输入格式:

    输入在一行中给出1个整数的百分制成绩。

    输出格式:

    在一行中输出对应的五分制成绩。

    输入样例: 90 输出样例: A

    #include <stdio.h> int main() { int a; char b; scanf("%d",&a); if(a >= 90){ b = 'A'; } else if(a >= 80){ b = 'B'; } else if(a >= 70){ b = 'C'; } else if(a >= 60){ b = 'D'; } else{ b = 'E'; } printf("%c",b); return 0; }
    Processed: 0.010, SQL: 8