计算平均分
已知某位学生的数学、英语和计算机课程的成绩分别是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