7-11 计算平均分 (5 分)
- 题目描述
已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均成绩(结果按整型输出)。
输入格式:
本题无输入
输出格式:
按照下列格式输出结果:
math = 87, eng = 72, comp = 93, average = 计算所得的平均成绩
#include<stdio.h>
int main()
{
printf("math = 87, eng = 72, comp = 93, average = %d",(87+72+93)/3);
return 0;
}
7-12 日期格式化 (5 分)
- 题目描述
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。
输入样例:
03-15-2017
输出样例:
2017-03-15
#include<stdio.h>
int main()
{
int year,month,day;
scanf("%d-%d-%d",&month,&day,&year);
printf("%d-%02d-%02d",year,month,day);
return 0;
}
注:C语言中**%d**、% 2d、 % 02d、 %.2d的区别
- %d 就是普通的输出了
- % 2d 是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。如下:
- % 02d,和% 2d差不多,只不过左边补0
- %.2d从执行效果来看,和% 02d一样
#include<stdio.h>
int main() {
int num;
scanf("input = %d", &num);
printf("%%d = %d\n", num);
printf("%%2d = %2d\n", num);
printf("%%02d = %02d\n", num);
printf("%%.2d = %.2d\n", num);
return 0;
}
输出结果为:
input = 5
%d = 5
%2d = 5
%02d = 05
%.2d = 05
7-13 后天 (5 分)
- 题目描述
如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。
输入格式:
输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。
输出格式:
在一行中输出D天的后天是星期几。
输入样例:
3
输出样例:
5
作者: 陈越
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
#include<stdio.h>
int main()
{
int D;
scanf("%d",&D);
if(D>0&&D<6)
{
printf("%d",D+2);
}else
{
printf("%d",D-5);
}
return 0;
}
7-14 然后是几点 (15 分)
- 题目描述
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。
输入格式:
输入在一行中给出2个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。
输出格式:
输出四位数字表示的终止时间。题目保证起始时间和终止时间在同一天内。
输入样例:
1120 110
输出样例:
1310
#include<stdio.h>
int main()
{
int input,minutes,hour,minute,result_hour,result_minute,output;
scanf("%d %d",&input,&minutes);
hour = input/100;
minute = input % 100;
result_hour = hour + minutes/60;
result_minute = minute + minutes%60;
if