首页 > 其他分享 >习题(二)

习题(二)

时间:2023-03-31 16:47:00浏览次数:43  
标签:输出 10 int 样例 格式 习题 输入

计算平均分

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均成绩(结果按整型输出)。

输入格式:

本题无输入

 

输出格式:

按照下列格式输出结果:

math = 87, eng = 72, comp = 93, average = 
 1 #include <stdio.h>
 2 struct student
 3 {
 4     int math;
 5     int english;
 6     int cs; 
 7  } ;
 8 void average(struct student *stu)
 9 {
10     int av = (stu->math + stu->english + stu->cs)/3;
11     printf("math = %d, eng = %d, comp = %d, average = %d",stu->math,stu->english,stu->cs,av);
12 }
13 int main(void)
14 {
15     struct student stu = {87,72,93};
16     average(&stu);
17     return 0;
18  } 

  日期格式化 

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式:

输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。

输出格式:

在一行中按照“yyyy-mm-dd”的格式给出年、月、日。

输入样例:

03-15-2017
 

输出样例:

2017-03-15
   
 1 #include <stdio.h>
 2 void change(int y, int m,int d )
 3 {
 4     int temp = m;
 5     m = y;
 6     y = temp;
 7     temp = d;
 8     d = y;
 9     y = temp;
10     if(d<10)
11     {
12         if(y<10)
13         {
14           printf("%d-0%d-0%d\n",m,d,y);     
15         }
16         else
17         {
18           printf("%d-0%d-%d\n",m,d,y);
19         }
20     }
21     else if(y<0)
22     {
23         printf("%d-%d-0%d\n",m,d,y);
24     }
25     
26 }
27 int main(void)
28 {
29     int y,m,d;
30     scanf("%d-%d-%d",&m,&d,&y);
31     change(y,m,d);
32     return 0;
33  } 

 后天

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。

输入格式:

输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。

输出格式:

在一行中输出D天的后天是星期几。

输入样例:

3
 

输出样例:

5


 1 #include <stdio.h>
 2 int at(int* a)
 3 {
 4     if(*a >= 1 && *a <= 7)
 5     {
 6         if(*a+2<=7)
 7     {
 8         printf("%d",*a+2);
 9     }
10     else
11     {
12         printf("%d",*a+2-7);
13     }
14     }
15     else
16     {
17         return 0;    
18     }
19 }
20 int main(void)
21 {
22     int a;
23     scanf("%d",&a);
24     at(&a);
25     return 0;
26  } 

 

 计算符号函数的值
 

对于任一整数n,符号函数sign(n)的定义如下:

请编写程序计算该函数对任一输入整数的值。

输入格式:

输入在一行中给出整数n。

输出格式:

在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。

输入样例1:

10
 

输出样例1:

sign(10) = 1
 

输入样例2:

0
 

输出样例2:

sign(0) = 0
 

输入样例3:

-98
 

输出样例3:

sign(-98) = -1
   
 1 #include <stdio.h>
 2 void sign(int *n)
 3 {
 4     if(*n > 0)
 5     {
 6         printf("sign(%d) = %d",*n,1);
 7     }
 8     else if(*n == 0)
 9     {
10         printf("sign(%d) = %d",*n,0);
11     }
12     else
13     {
14         printf("sign(%d) = %d",*n,-1);
15     }
16 }
17 int main(void)
18 {
19     int n;
20     scanf("%d",&n);
21     sign(&n);
22     return 0;
23  } 

 

 出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

  • 起步里程为3公里,起步费10元;
  • 超起步里程后10公里内,每公里2元;
  • 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
  • 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

输入格式:

输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。

输出格式:

在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

输入样例1:

2.6 2
 

输出样例1:

10
 

输入样例2:

5.1 4
 

输出样例2:

14
 

输入样例3:

12.5 9
 

输出样例3:

34
 1 #include <stdio.h>
 2 void input(const float* mil,const int* time) 
 3 {
 4     float amount = 0;
 5     if(*mil <= 3)
 6     {
 7         amount = *time/5*2 + 10;
 8         printf("%d",(int)amount);
 9     }
10     else if(*mil > 3 && *mil <= 10)
11     {
12         amount = *time/5*2 + 10 + (*mil-3)*2;
13         if( ((int)(amount*10)%10) >= 5)
14         {
15             printf("%d",(int)amount+1);
16         }
17         else
18         {
19             printf("%d",(int)amount);;
20         }
21     }
22     else
23     {
24         amount = *time/5*2 + 10 + 14 + (*mil - 10)*3;
25         if( ((int)(amount*10)%10) >= 5)
26         {
27             printf("%d",(int)amount+1);
28         }
29         else
30         {
31             printf("%d",(int)amount);;
32         }
33      } 
34 }
35 int main(void)
36 {
37     float mil;
38     int   time;
39     scanf("%f %d",&mil,&time);
40     input(&mil,&time);
41     return 0;
42  } 

 计算天数

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

输入样例1:

2009/03/02
 

输出样例1:

61
 

输入样例2:

2000/03/02
 

输出样例2:

62

 1 #include <stdio.h>
 2 void days(int *year, int *month ,int *day)
 3 {
 4     int arr1[] = {31,28,31,30,31,30,31,31,30,31,30,31};
 5     //int arr2[] = {31,29,31,30,31,30,31,31,30,31,30,31};
 6     int amount = 0;
 7     if( ((*year%100 != 0 && *year % 4 == 0) || *year%400 == 0) && (*month > 2 || (*month == 2 && *day == 29)) )
 8     {
 9         for(int n = 0; n < *month-1 ; n++)
10         {
11             amount += arr1[n];
12         }
13         amount = amount + *day +1;
14         printf("%d",amount);
15     }
16     else 
17     {
18         for(int n = 0; n < *month-1 ; n++)
19         {
20             amount += arr1[n];
21         }
22         amount = amount + *day ;
23         printf("%d",amount);
24     }
25     
26 }
27 int main(void)
28 {
29     int day,month,year;
30     scanf("%d/%d/%d",&year,&month,&day);
31     days(&year,&month,&day);
32     return 0;
33  } 

简单计算器(没想出答案用chatgpt得出的答案)

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

输入格式:

输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。

输出格式:

在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。

输入样例:

1+2*10-10/2=
 

输出样例:

10
 
 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     char op;        // 运算符
 6     int num1, num2; // 运算数
 7     int result;     // 运算结果
 8 
 9     // 读入第一个运算数
10     scanf("%d", &result);
11 
12     // 读入运算符和第二个运算数,计算结果
13     while (1) {
14         scanf("%c", &op);
15         if (op == '=') {
16             break;
17         }
18         scanf("%d", &num2);
19         switch (op) {
20             case '+':
21                 result += num2;
22                 break;
23             case '-':
24                 result -= num2;
25                 break;
26             case '*':
27                 result *= num2;
28                 break;
29             case '/':
30                 if (num2 == 0) {
31                     printf("ERROR\n");
32                     return 0;
33                 }
34                 result /= num2;
35                 break;
36             default:
37                 printf("ERROR\n");
38                 return 0;
39         }
40     }
41 
42     printf("%d\n", result);
43 
44     return 0;
45 }

 

 超速判断

模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出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

 1 #include <stdio.h>
 2 int sped(int* speed)
 3 {
 4     if(*speed > 500 || *speed < 0)
 5     {
 6         return 0;
 7     }
 8     else if(*speed <= 60)
 9     {
10         printf("Speed: %d - OK",*speed);
11     }
12     else
13     {
14         printf("Speed: %d - Speeding",*speed);
15     }
16     return 0;
17 }
18 int main(void)
19 {
20     int speed;
21     scanf("%d",&speed);
22     sped(&speed);
23     return 0;
24  } 

 

用天平找小球

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

输入格式:

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

输出格式:

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

输入样例:

1 1 2

输出样例:

C
 
 1 #include <stdio.h>
 2 void compare(int*A, int*B, int*C)
 3 {
 4     if(*A == *C)
 5     {
 6         printf("B");
 7     }
 8     else if(*A == *B)
 9     {
10         printf("C");
11     }
12     else
13     {
14         printf("A");
15     }
16 }
17 int main(void)
18 {
19     int A,B,C;
20     scanf("%d %d %d",&A,&B,&C);
21     compare(&A,&B,&C);
22     return 0;
23  } 

 

 分段计算居民水费  

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。

输入格式:

输入在一行中给出非负实数x。

输出格式:

在一行输出应交的水费,精确到小数点后2位。

输入样例1:

12
 

输出样例1:

16.00
 

输入样例2:

16
 

输出样例2:

22.50
   
 1 #include <stdio.h>
 2 int money(float*x)
 3 {
 4     float y;
 5     if(*x >=0)
 6     {
 7             if(*x <=15)
 8      {
 9         y = *x * 4 / 3;
10         printf("%.2f", y);
11      }
12     else
13      {
14         y = *x * 2.5 - 17.5;
15         printf("%.2f", y);
16      }
17     }
18     else
19     {
20         return 0;
21     }
22 
23 }
24 int main(void)
25 {
26     float x;
27     scanf("%f",&x);
28     money(&x);
29     return 0;
30  } 

 

 
 
 
 

标签:输出,10,int,样例,格式,习题,输入
From: https://www.cnblogs.com/zaiyewujiang/p/17261674.html

相关文章

  • A模块练习题
    mysql练习题1.查找数据库版本号mysql>selectversion();2.查找数据库列表mysql>showtables;3.查看所有用户和权限,找到可以从任意IP地址访问mysql>showgrantsforroot@localhostmysql>selectdistinctconcat('user:''',user,'''@''',......
  • Mysql练习题
    ......
  • 类和对象练习题
    ......
  • 函数练习题2
    ......
  • 函数练习题1
    ......
  • 字典集合练习题
    ......
  • 视觉SLAM第四讲李群与李代数习题
    视觉SLAM第四讲李群与李代数习题一、验证\(SO(3)、SE(3)、SIM(3)\)关于乘法成群首先引入一下群的定义。群(Group)是一种集合加上一种运算的代数结构。我们把集合记作......
  • 天梯赛练习题 L3-003 社交集群 (简单并查集)
    https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805053141925888题目大意:当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到......
  • 天梯赛练习题 L3-002 特殊堆栈(stl)
    https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805053695574016输入样例:17PopPeekMedianPush3PeekMedianPush2PeekMedianPush1PeekM......
  • 3月日常练习题-1
    目录一、找1二、挑兵挑将三、水位线四、小码哥的跳棋游戏五、小码哥与机器人六、银行账户七、数字问题八、字符串的解码九、斐波那契,但是是字符串十、最大的平均值十一、数......