A. 实验3-9 三天打鱼两天晒网
题目描述
中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
输入
输入在一行中给出一个不超过1000的正整数N。
输出
在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。
输入样例:103
输出样例:Fishing in day 103
实验代码:
#include <stdio.h>
int main()
{
int N, x;
scanf("%d", &N);
x = N % 5; //取余,五天为一周期,判断的关键
if (x>=1 && x <= 3)
{
printf("Fishing in day %d", N);
}
else
{
printf("Drying in day %d", N);
}
return 0;
}
B. 实验3-8 输出三角形面积和周长
题目描述
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。
输入
输入为3个正整数,分别代表三角形的3条边a、b、c。
输出
如果输入的边能构成一个三角形,则在一行内,按照
area = 面积; perimeter = 周长
的格式输出,保留两位小数。否则,输出
These sides do not correspond to a valid triangle
输入样例1 :
5 5 3
输出样例1:
area = 7.15; perimeter = 13.00
实验代码:
#include <stdio.h>
#include<math.h>
int main()
{
int a,b,c;
double s,area,perimeter; //注意输出样例要求的精度
scanf("%d %d %d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)*1.0/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
printf("area = %.2f; perimeter = %.2f",area,perimeter);
}
else
printf("These sides do not correspond to a valid triangle");
}
C. 实验3-7 统计学生成绩
题目描述
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例1
7
77 54 92 73 60 65 69
输出样例1
1 0 2 3 1
实验代码:
#include <stdio.h>
int main()
{
int N, A = 0, B = 0, C = 0, D = 0, E = 0;
scanf("%d", &N);
int score[N]; //思考如何对五个成绩进行运算
for( int i=0; i<N; i++)
{
scanf(" %d", &score[i]);
if( score[i] < 60 )
E++;
else if( score[i] >= 60 && score[i] < 70 )
D++;
else if( score[i] >= 70 && score[i] < 80 )
C++;
else if( score[i] >= 80 && score[i] < 90 )
B++;
else
A++;
}
printf("%d %d %d %d %d", A, B, C, D, E);
return 0;
}
D. 实验3-6 计算个人所得税
题目描述
假设个人所得税为:税率×(工资−1600)。请编写程序计算应缴的所得税,其中税率定义为:
- 当工资不超过1600时,税率为0;
- 当工资在区间(1600, 2500]时,税率为5%;
- 当工资在区间(2500, 3500]时,税率为10%;
- 当工资在区间(3500, 4500]时,税率为15%;
- 当工资超过4500时,税率为20%。
输入:
输入在一行中给出非负工资。
输出:
在一行输出个人所得税,精确到小数点后2位。
输入样例1
1600
输出样例1
0.00
实验代码:
#include<stdio.h>
int main()
{
double wage,rate;
scanf("%lf",&wage);
if(wage<0)
{
printf("errow");
scanf("%lf",&wage);
}
if(wage<=1600)
{
rate=0;
}
else if(wage<=2500)
{
rate=0.05*(wage-1600);
}
else if(wage<=3500)
{
rate=0.1*(wage-1600);
}
else if(wage<=4500)
{
rate=0.15*(wage-1600);
}
else
{
rate=0.2*(wage-1600);
}
printf("%.2lf",rate);
return 0;
}
E. 实验3-3 比较大小
题目描述
本题要求将输入的任意3个整数从小到大输出。
输入
输入在一行中给出3个整数,其间以空格分隔。
输出
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例1
4 2 8
输出样例1
2->4->8
实验代码:
#include"stdio.h"
int main(void)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
int min;
if(a>b)
{
min=a;
a=b;
b=min;
}
if(a>c)
{
min=a;
a=c;
c=min;
}
if(b>c)
{
min=b;
b=c;
c=min;
}
printf("%d->%d->%d",a,b,c);
}
F. 【B卷第2题】输入月份输出不同句子(选择)
题目描述
请你编写程序,根据键盘输入的整数月份,显示如下这样一句话:
3,4,5:X月是春季
6,7,8:X月是夏季
9,10,11:X月是秋季
12,1,2:X月是冬季
其他输入:X月不存在
(其中X代表月份的数值)。
输入
月份X
输出
对应月份X的一句话输出
输入样例1 :
3
输出样例1:
3月是春季
实验代码:
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
if(x==3||x==4||x==5)
{
printf("%d月是春季", x);
}
else if(x==6||x==7||x==8)
{
printf("%d月是夏季", x);
}
else if(x==9||x==10||x==11)
{
printf("%d月是秋季", x);
}
else if(x==12||x==1||x==2)
{
printf("%d月是冬季", x);
}
else
{
printf("%d月不存在", x);
}
return 0;
}
G. 判断相等
题目描述
判断输入的x与y是否相等
输入
一个正整数n,表示有n组输入
对于每一组,判断x与y是否相等,如果相等输出Yes,否则输出No
输出
每一组输出判断结果,每个判断结果输出后要换行
输入样例1
3
1 2
3 4
2 2
输出样例1
No
No
Yes
实验代码
#include <stdio.h>
int main(void)
{
int n,a,b;
scanf("%d", &n);
for (int i=0;i<n;++i)
{
scanf("%d %d", &a, &b);
if (a == b)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
H. 加密 I
题目描述
请利用scanf函数连续输入任意5个字符,如'C'、'h'、'i'、'n'、'a',或'K'、'o'、'r'、'e'、'a',将这5个字符组成的单词(如"China"或"Korea")译成密码。译码规律是:用原来字母后面的第3个字母代替原来的字母。
例如,字母A后面第3个字母是D,用D代替A。因此,"China"应译为"Fklqd","Korea"应译为"Nruhd"。最后用printf函数输出这5个字符。
输入
请编一程序,用scanf函数键盘输入的方法给c1、c2、c3、c4、c5五个char变量赋任意英文字母(大小写都可以)。
输出
经过运算(即加密),使字符c1、c2、c3、c4、c5分别转换为对应的加密字符,并输出。
输入样例1
China
输出样例1
China的密码是Fklqd
实验代码
#include <stdio.h>
int main()
{
char c1,c2,c3,c4,c5;
scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
int a=c1,b=c2,c=c3,d=c4,e=c5;
c1=c1+3;
c2=c2+3;
c3=c3+3;
c4=c4+3;
c5=c5+3;
printf("%c%c%c%c%c的密码是%c%c%c%c%c\n",a,b,c,d,e,c1,c2,c3,c4,c5);
return 0;
}