7-24 书香节
当当网每年书香节都推出购书优惠活动:每满100元就减50元。请编写程序,输入你购书的金额,计算并输出可减金额和付款金额。
输入格式
购书金额
输出格式
可减金额
付款金额
样例输入1
228.76
样例输出1
100.00
128.76
样例输入2
1000.0
样例输出2
500.00
500.00
#include<stdio.h>
int main()
{
double m;
int a;
scanf("%lf",&m);
a=m/100;
printf("%.2lf\n%.2lf\n",(double)a*50,m-(double)a*50);
return 0;
}
7-25 买U盘(误差修正版)
IT 协会举办程序设计竞赛,准备购买 U 盘作奖品。请编写程序,根据活动经费和 U 盘单价预估可购买 U 盘的最大数量。
输入格式
活动经费和 U 盘单价
输出格式
可购买 U 盘的最大数量
输入样例
660.8 47.2
输出样例
14
输入样例2
504.9 19.8
输出样例2
25
#include<stdio.h>
#include<math.h>
int main()
{
double a,b;
int max;
scanf("%lf%lf",&a,&b);
max=a/b+0.00001;
printf("%d",max);
return 0;
}
7-28 何时空仓
某仓库现存货物 s 箱,每天上午出货 m 箱、下午进货 n 箱,若s≥m>n≥0,则第 k 天将会出现空仓的情况。请你帮仓库管理员编写程序,输入s、m 和 n,计算并输出 k。
输入格式
s,m,n (s≥m>n≥0)
输出格式
k
输入样例
4705 268 193
输出样例
61
#include<stdio.h>
int main()
{
int s,m,n,k=0;
scanf("%d %d %d",&s,&m,&n);
while(s>0){
k++;
s=s-m;
if(s<=0)
break;
s=s+n;
}
printf("%d\n",k);
return 0;
}
7-32 交换两实数的整数部分
输入两个实数,将其整数部分交换后输出,结果保留2位小数。
输入格式:
输入2个实数A和B。
输出格式:
输出交换整数部分之后的两个实数。数据之间以一个“,”分隔。
输入样例:
23.45 54.22
输出样例:
54.45,23.22
#include<stdio.h>
int main()
{
double a,b;
int a1 ,b1;
scanf("%lf %lf",&a,&b);
a1=(int)a;
b1=(int)b;
a=a-a1+b1;
b=b-b1+a1;
printf("%.2f,%.2f",a,b);
}
7-34 反序显示一个四位数
从键盘上输入一个四位整数,将结果按反序显示出来。
输入格式:
输入在一行中给出1个四位整数a。
输出格式:
在一行中输出a的反序数。
输入样例:
1234
输出样例:
4321
#include<stdio.h>
int main()
{
char a,b,c,d;
scanf("%c%c%c%c",&a,&b,&c,&d);
printf("%c%c%c%c",d,c,b,a);
return 0;
}
7-35 英文字母的大小写转换
输入一个大写字母c1和一个小写字母c2,把c1转换成小写,c2转换成大写,然后输出。
输入格式:
输入在一行中给出2个字母,第1个是大写字母c1,第2个是小写字母c2。
输出格式:
在一行中输出把c1转换成小写,c2转换成大写后的结果。数据之间留一个逗号。
输入样例:
Y e
输出样例:
y,E
#include<stdio.h>
int main()
{
char c1,c2;
scanf("%c %c",&c1,&c2);
printf("%c,%c",c1+32,c2-32);
return 0;
}
7-36 4位整数的数位和
输入一个4位数的整数,求其各数位上的数字之和。
输入格式:
输入在一行中给出1个4位的正整数n。
输出格式:
在一行中输出n的各数位上的数字之和。
输入样例:
1234
输出样例:
10
#include<stdio.h>
int main()
{
int n,s=0;
scanf("%d",&n);
s=s+n/1000;
s=s+(n%1000)/100;
s=s+(n%100)/10;
s=s+n%10;
printf("%d",s);
return 0;
}
7-38 等边三角形面积
数学基础对于程序设计能力而言很重要。对于等边三角形面积,请选择合适的方法计算之。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入1个实数表示等边三角形的边长。
输出格式:
对于每组测试,在一行上输出等边三角形的面积,结果保留2位小数。
输入样例:
1.0
2.0
输出样例:
0.43
1.73
//s=sqrt(3)a*a/4等边三角形的面积
#include <stdio.h>
#include <math.h>
int main()
{
float a,t,s;
while(scanf("%f",&a)!=EOF)
{
s=sqrt(3)*a*a/4;
printf("%.2f\n",s);
}
return 0;
}
7-40 统计闰年个数
现行格里高利历法的置闰规则可以概括为:四闰百不闰,四百闰。编程序实现:输入一个年份,求出到这一年的年末总共经历了多少个闰年,限定不能使用循环结构。假定从公元第一天开始,就实施格里高利历法。
(提示:求出经历了多少个4年、多少个100年、多少个400年。
1.假如所有能被4整除的年份都是闰年,那么到第n年的年末总共经历了多少个闰年?
2.假如所有能被100整除的年份都不是闰年,那么到第n年的年末总共减少多少个闰年?
3.假如所有能被400整除的年份都是闰年,那么到第n年的年末总共增加多少个闰年?)
输入格式:
输入一个代表年份的正整数。
输出格式:
输出闰年个数,最后换行。
输入样例:
2020
输出样例:
490
#include<stdio.h>
int main()
{
int x,y,z,m,n;
scanf("%d",&x);
m=x/400;
z=x/100;
n=x/4;
y=m+n-z;
printf("%d",y);
return 0;
}
7-41 计算年初总天数
编程序实现:输入一个年份,求出从公元1年1月1日到这一年的1月1日总共有多少天,限定不能使用循环结构。假定从公元第一天开始,就实施格里高利历法。格里高利历法的置闰规则是400年97闰,也可以概括为:四闰百不闰,四百闰。
输入格式:
输入一个代表年份的正整数。
输出格式:
输出总天数,最后换行。
输入样例:
2021
输出样例:
737791
#include<stdio.h>
int main()
{
int a,b,c,m,n;
scanf("%d",&m);
a=m/400;
b=m/100;
c=m/4;
if((m%4==0&&m%100!=0)||m%400==0)
n=366*(a+c-b) +365*(m-a-c+b-1);
else
n=366*(a+c-b) +365*(m-a-c+b-1)+1;
printf("%d",n);
return 0;
}