-
如果代码存在问题,麻烦大家指正 ~ ~
-
有帮助麻烦点个赞 ~ ~
实验一-顺序结构
- [7-1 逆序的三位数(分数 10)](#7-1 逆序的三位数(分数 10))
- [7-2 求整数均值(分数 10)](#7-2 求整数均值(分数 10))
- [7-3 日期格式化(分数 10)](#7-3 日期格式化(分数 10))
- [7-4 混合类型数据格式化输入(分数 10)](#7-4 混合类型数据格式化输入(分数 10))
- [7-5 然后是几点(分数 10)](#7-5 然后是几点(分数 10))
- [7-6 计算存款利息(分数 10)](#7-6 计算存款利息(分数 10))
- [7-7 计算并联电阻的阻值(分数 10)](#7-7 计算并联电阻的阻值(分数 10))
- [7-8 每天进步一点点(分数 10)](#7-8 每天进步一点点(分数 10))
7-1 逆序的三位数(分数 10)
作者 翁恺
单位 浙江大学
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
cpp
123
输出样例:
cpp
321
鸣谢安阳师范学院软件学院李康康同学补充数据!
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
#include <stdio.h>
int main()
{
int a, b, c, d;
scanf("%d", &a);
b=a/100;
c=a/10%10;
d=a%10;
printf("%d", d*100+10*c+b);
return 0;
}
7-2 求整数均值(分数 10)
作者 乔林
单位 清华大学
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式"Sum = 和; Average = 平均值"顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
cpp
1 2 3 4
输出样例:
cpp
Sum = 10; Average = 2.5
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
#include<stdio.h>
main()
{
int a, b, c, d, s;
float ave;
scanf("%d %d %d %d", &a, &b, &c, &d);
s=a+b+c+d;
ave = 1.0*s/4;
printf("Sum = %d; Average = %.1f", s, ave);
return 0;
}
7-3 日期格式化(分数 10)
作者 陈越
单位 浙江大学
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成"月-日-年",而中国人习惯写成"年-月-日"。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照"mm-dd-yyyy"的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照"yyyy-mm-dd"的格式给出年、月、日。
输入样例:
cpp
03-15-2017
输出样例:
cpp
2017-03-15
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
#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;
}
7-4 混合类型数据格式化输入(分数 10)
作者 乔林
单位 清华大学
本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。
输入格式:
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出格式:
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
输入样例:
cpp
2.12 88 c 4.7
输出样例:
cpp
c 88 2.12 4.70
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
#include <stdio.h>
int main()
{
char c;
int d;
double f1, f2;
scanf("%lf%d %c%lf", &f1, &d, &c, &f2);
printf("%c %d %.2f %.2f", c, d, f1, f2);
return 0;
}
7-5 然后是几点(分数 10)
作者 翁恺
单位 浙江大学
有时候人们用四位数字表示一个时间,比如 1106
表示 11
点零 6
分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5
点 30
分表示为 530
;0
点 30
分表示为 030
。注意,第二个数字表示的分钟数可能超过 60
,也可能是负数。
输入格式:
输入在一行中给出 2
个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5
点 30
分表示为 530
;0
点 30
分表示为 030
。流逝的分钟数可能超过 60
,也可能是负数。
输出格式:
输出不多于四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。
输入样例:
cpp
1120 110
输出样例:
cpp
1310
鸣谢燕山大学穆运峰老师、用户任钰补充数据!
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d%d", &a, &b);
c = a/100*60+a%100;
c = c+b;
c = c/60*100+c%60;
printf("%03d", c);
return 0;
}
7-6 计算存款利息(分数 10)
作者 颜晖
单位 浙大城市学院
本题目要求计算存款利息,计算公式为 i n t e r e s t = m o n e y × ( 1 + r a t e ) y e a r − m o n e y interest=money×(1+rate)^{year} − money interest=money×(1+rate)year−money,其中 i n t e r e s t interest interest为存款到期时的利息(税前), m o n e y money money是存款金额, y e a r year year是存期, r a t e rate rate是年利率。
输入格式:
输入在一行中顺序给出三个正实数 m o n e y money money、 y e a r year year和 r a t e rate rate,以空格分隔。
输出格式:
在一行中按"interest = 利息"的格式输出,其中利息保留两位小数。
输入样例:
cpp
1000 3 0.025
输出样例:
cpp
interest = 76.89
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
# include<stdio.h>
# include<math.h>
int main()
{
double interest, money, rate, year;
scanf("%lf %lf %lf", &money, &year, &rate);
interest = money*pow(1+rate,year)-money;
printf("interest = %0.2lf", interest);
return 0;
}
7-7 计算并联电阻的阻值(分数 10)
作者 吕曦
单位 武汉理工大学
对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下: R = 1/(1/r1 + 1/r2),编程计算并联电阻的阻值。
输入格式:
两个电阻阻值大小,实数,以一个空格分开。
输出格式:
并联之后的阻值大小,实数,保留小数点后两位。
输入样例:
cpp
2 3
输出样例:
在这里给出相应的输出。例如:
cpp
1.20
代码长度限制
16 KB
时间限制400 ms
内存限制64 MB
参考代码
c
#include<stdio.h>
int main()
{
double r1, r2, R;
scanf("%lf %lf", &r1, &r2) ;
R=1.0/(1.0/r1 + 1.0/r2);
printf("%.2f", R);
return 0;
}
7-8 每天进步一点点(分数 10)
作者 周永
单位 西南石油大学
1.01的365次方约等于37.78,意思是每天进步一点点,连续进步一年,进步的量非常可观。从键盘接收一个整数n ,假定输入的n一定在360到366之间(包含边界)。计算1.01的n次方,记为a;计算0.99的n次方,记为b。再计算a在b中占的百分比,就是用a乘以100后除以b。输出三个数据时,前两个数据保留两位小数 ,最后一个数据保留一位小数。
输入格式:
输入一个整数,该整数一定在360到366之间。
输出格式:
两个小数和一个百分比数据,三者之间都用一个空格分开。
输入样例:
用户输入365后敲回车键,代表一年的天数。
cpp
365
输出样例:
前两个数据保留两位小数,第三个数据保留一位小数且跟上了一个百分号,数据之间有且仅有一个空格。所谓保留是指四舍五入。
cpp
37.78 0.03 148066.0%
代码长度限制
4 KB
时间限制4000 ms
内存限制100 MB
参考代码
c
#include<stdio.h>
#include<math.h>
int main()
{
double n, a=1.00, b=1.00;
scanf("%lf", &n);
a = pow((1.01), n);
b = pow((0.99), n);
printf("%.2lf %.2lf %.1lf%\n", a, b, a/b*100);
return 0;
}