编程习题 C

1.

逆序的三位数(5分)

题目内容:

程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:

每个测试是一个3位的正整数。

输出格式:

输出逆序的数。

输入样例:

123

输出样例:

321

时间限制:500ms内存限制:32000kb
 1 #include<stdio.h> 
 2 int main()
 3 {
 4     int a,b1,b2,c,x,y;
 5     scanf("%d",&x);
 6     
 7     a=x/100;
 8     b1=x%100;
 9     b2=b1/10;
10     c=b1%10;
11     
12     y=c*100+b2*10+a;
13     printf("%d",y);
14     return 0;
15 }
View Code

 

 
 
2.
时间换算(5分)

题目内容:

UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。

有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据。

你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

提醒:要小心跨日的换算。

输入格式:

一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

输出格式:

一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

输入样例:

903

输出样例:

103

时间限制:500ms内存限制:32000kb
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,utc;
 5     scanf("%d",&a);
 6     
 7     if(a<0&&a>2359)
 8     {
 9         printf("the error time");
10     }
11     else if(a<800)
12     {
13         utc=a+2400-800;
14     }
15     else
16     {
17         utc=a-800;
18     }
19     printf("The UTC is %d",utc);
20     
21     return 0;
22 }
View Code

 

3.信号报告(5分)

题目内容:

无线电台的RS制信号报告是由三两个部分组成的:

R(Readability) 信号可辨度即清晰度.

S(Strength)    信号强度即大小.

其中R位于报告第一位,共分5级,用1—5数字表示.

  • 1---Unreadable

  • 2---Barely readable, occasional words distinguishable

  • 3---Readable with considerable difficulty

  • 4---Readable with practically no difficulty

  • 5---Perfectly readable

报告第二位是S,共分九个级别,用1—9中的一位数字表示

  • 1---Faint signals, barely perceptible

  • 2---Very weak signals

  • 3---Weak signals

  • 4---Fair signals

  • 5---Fairly good signals

  • 6---Good signals

  • 7---Moderately strong signals

  • 8---Strong signals

  • 9---Extremely strong signals

现在,你的程序要读入一个信号报告的数字,然后输出对应的含义。如读到59,则输出:

  1. Extremely strong signals, perfectly readable.

输入格式:

一个整数,信号报告。整数的十位部分表示可辨度,个位部分表示强度。输入的整数范围是[11,59],这个范围外的数字不可能出现在测试数据中。

输出格式:

一句话,表示这个信号报告的意义。按照题目中的文字,先输出表示强度的文字,跟上逗号和空格,然后是表示可辨度的文字,跟上句号。注意可辨度的句子的第一个字母是小写的。注意这里的标点符号都是英文的。

输入样例:

33

输出样例:

  1. Weak signals, readable with considerable difficulty.
时间限制:500ms内存限制:32000kb
 
 1 //R(Readability) 信号可辨度即清晰度.
 2 //S(Strength)    信号强度即大小.
 3 #include<stdio.h> 
 4 
 5 int main()
 6 {
 7     int a;
 8     scanf("%d",&a);
 9     if(a<11||a>59)
10     {
11         printf("the num is error\n");
12     }
13     else
14     {
15         //a1 = a/10;
16         //a2 = a%10;
17         switch(a%10)
18         {
19             case 1:
20                 printf("Faint signals, barely perceptible");
21                 break;
22             case 2:
23                 printf("Very weak signals");
24                 break;
25             case 3:
26                 printf("Weak signals");
27                 break;    
28             case 4:
29                 printf("Fair signals");
30                 break;    
31             case 5:
32                 printf("Fairly good signals");
33                 break;
34               case 6:
35                 printf("Good signals");
36                 break;
37             case 7:
38                 printf("Moderately strong signals");
39                 break;    
40             case 8:
41                 printf("Strong signals");
42                 break;    
43             case 9:
44                 printf("Extremely strong signals");
45                 break;                        
46         }
47         
48         switch(a/10)
49         {
50             case 1:
51                 printf(",unreadable");
52                 break;
53             case 2:
54                 printf(",barely readable, occasional words distinguishable");
55                 break;
56             case 3:
57                 printf(",readable with considerable difficulty");
58                 break;    
59             case 4:
60                 printf(",readable with practically no difficulty");
61                 break;    
62             case 5:
63                 printf(",perfectly readable");
64                 break;        
65         }
66     }
67     
68     return 0;
69 } 
View Code

 

*************************************************************************
1.计算时间差:
 1 #include <stdio.h> 
 2 int main()
 3 {
 4     int hour = 0;
 5     int min = 0;
 6     int hr1,hr2,min1,min2;
 7     printf("please input time1 and time2\n");
 8     scanf("%d %d",&hr1,&min1);
 9     scanf("%d %d",&hr2,&min2);
10     hour = hr2-hr1;
11     min = min2-min1;
12     
13     if(min<0){
14     min = min+60;
15     hour = hour-1;
16     }
17     
18     printf("This is %d hours and %d mins",hour,min);
19     return 0;
20 }
View Code

 2.设计一个找零计数器

 1 #include<stdio.h> 
 2 int main()
 3 {   
 4     int pay,dollor;
 5     printf("please input the pay and dollor\n");
 6     scanf("%d %d",&pay,&dollor);
 7     int checkpay = pay - dollor;
 8     
 9     if(checkpay<0){
10         printf("please put more money!\n");
11     }
12     else{
13         printf("this is the more %d  money and present!",checkpay);
14     }
15     
16     return 0;
17 }
View Code

 3.实现a b互换

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int a,b;
 5     scanf("%d %d",&a,&b);
 6     int t = a;
 7     a = b;
 8     b = t;
 9     printf("a = %d b = %d\n",a,b);
10      
11     return 0;
12 }
View Code

4.求abc中的最大值

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int a,b,c,max;
 5     scanf("%d %d %d",&a,&b,&c);
 6     
 7     if(a>b){
 8         if(a>c){
 9             max = a;
10         }
11         else{
12             max = b;
13         }
14     }
15     else{
16         if(b>c){
17             max = b;
18         }
19         else
20         {
21             max = c;
22         }
23     }
24     printf("the max is %d\n",max);
25     
26     return 0;
27 }
View Code

 5.5分制

 1 #include <stdio.h> 
 2 int main()
 3 {
 4     int score,grade;
 5     scanf("%d",&score);
 6     switch(score/10){
 7         case 10:
 8         case  9: printf("the score is A\n");
 9         break;
10         case 8:printf("the score is B");
11         break;
12         case 7:printf("the score is C");
13         break;
14         case 6:printf("the score is D");
15         break;
16         default:printf("the score is E");
17     }
18     
19     return 0;
20 }
View Code

 

 
 
 
 

转载于:https://www.cnblogs.com/luznn/p/4605221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值