7-1 逆序的三位数
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出样例:
321
代码段:
#include <stdio.h>
int main()
{
int num,a,b,c;
scanf("%d",&num);
a=num/100;
b=num/10-a*10;
c=num%10;
if(c!=0)
printf("%d%d%d",c,b,a);
if(c+b==0)
printf("%d",a);
if(c==0&&b!=0)
printf("%d%d",b,a);
}
7-2 求整数均值
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5
代码段:
#include <stdio.h>
int main()
{
int a,b,c,d,sum;
scanf("%d %d %d %d",&a,&b,&c,&d);
float ave;
sum=a+b+c+d;
ave=sum/4.0;
printf("Sum = %d; Average = %.1f",sum,ave);
}
7-3 日期格式化
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。
输入样例:
03-15-2017
输出样例:
2017-03-15
代码段:
#include <stdio.h>
int main()
{
int y,m,d;
scanf("%d-%d-%d",&m,&d,&y);
printf("%d-%02d-%02d",y,m,d);
}
7-4 混合类型数据格式化输入
本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。
输入格式:
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出格式:
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
输入样例:
2.12 88 c 4.7
输出样例:
c 88 2.12 4.70
代码段:
#include <stdio.h>
int main()
{
int a;
float b,c;
char d;
scanf("%f %d %c %f",&b,&a,&d,&c);
printf("%c %d %.2f %.2f",d,a,b,c);
}
7-5 然后是几点
有时候人们用四位数字表示一个时间,比如 1106
表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530
;0 点 30 分表示为 030
。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。
输入格式:
输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530
;0 点 30 分表示为 030
。流逝的分钟数可能超过 60,也可能是负数。
输出格式:
输出不多于四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。
输入样例:
1120 110
输出样例:
1310
代码段:
#include <stdio.h>
int main()
{
int a,b,fz,h,m;
scanf("%d%d",&a,&b);
fz=(a/100)*60+(a%100)+b;
h=fz/60;
m=fz%60;
printf("%d%02d",h,m);
return 0;
}
7-6 计算存款利息
本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。
输入格式:
输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。
输出格式:
在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。
输入样例:
1000 3 0.025
输出样例:
interest = 76.89
代码段:
#include <stdio.h>
#include <math.h>
int main()
{
float money,year,rate,ls;
scanf("%f %f %f",&money,&year,&rate);
ls=money*pow(1+rate,year)-money;
printf("interest = %.2f",ls);
}
7-7 苹果装盘
有N个苹果要全部装盘,每个盘子装三个,编程输入苹果数量N,输出这些苹果能装多少盘。
输入格式:
输入一个整数N。
输出格式:
输出一个整数,即为盘子的数量。
输入样例:
10
输出样例:
4
代码段:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%3==0)
printf("%d",a/3);
else
printf("%d",a/3+1);
}
7-8 计算并联电阻的阻值
对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下: R = 1/(1/r1 + 1/r2),编程计算并联电阻的阻值。
输入格式:
两个电阻阻值大小,实数,以一个空格分开。
输出格式:
并联之后的阻值大小,实数,保留小数点后两位。
输入样例:
2 3
输出样例:
在这里给出相应的输出。例如:
1.20
代码段:
#include <stdio.h>
int main()
{
float r1,r2,r;
scanf("%f %f",&r1,&r2);
r = 1/(1/r1 + 1/r2);
printf("%.2f",r);
}