c语言作业汇编.docx
- 文档编号:9912687
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:55
- 大小:28.63KB
c语言作业汇编.docx
《c语言作业汇编.docx》由会员分享,可在线阅读,更多相关《c语言作业汇编.docx(55页珍藏版)》请在冰豆网上搜索。
c语言作业汇编
1.
1.1.3编写程序,在屏幕上显示一个短句“ProgramminginCisfun!
”。
【问题描述】1.1.3编写程序,在屏幕上显示一个短句“ProgramminginCisfun!
”。
【输入形式】无
【输出形式】输出短句
【样例输入】无
【样例输出】ProgramminginCisfun!
-:
1:
#include
-:
2:
intmain(void)
1:
3:
{
1:
4:
printf("ProgramminginCisfun!
\n");
1:
5:
return0;
-:
6:
}
2.
1.1.4编程显示图案。
【问题描述】编写程序,在屏幕上显示如下图案。
****
***
**
*
【输入形式】无
【输出形式】图案
【样例输入】
【样例输出】
【样例说明】符号之间无空格
【评分标准】
-:
1:
#include
-:
2:
intmain(void)
1:
3:
{
1:
4:
printf("****\n***\n**\n*\n");
1:
5:
return0;
-:
6:
}
1.
2.1.5编程,输入一个三位正整数,求解并输出该数的个位数、十位数和百位数。
【问题描述】2.1.5编程,输入一个三位正整数,求解并输出该数的个位数、十位数和百位数。
【输入形式】输入三位正整数
【输出形式】依次输出个、十、百位,用空格分隔
【样例输入】152
【样例输出】251
-:
1:
#include
-:
2:
intmain(void)
2:
3:
{
-:
4:
intn;
2:
5:
scanf("%d",&n);
2:
6:
printf("%d%d%d\n",n%10,n/10%10,n/100);
2:
7:
return0;
-:
8:
}
2.
2.2.7编程计算并输出旅途时间。
【问题描述】2.2.7输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是0000~2359(前两位表示小时,后两位表示分钟),不需要考虑出发时间晚于到达时间的情况。
【样例输入输出】(括号内为说明文字)
Entertime1:
712(出发时间是7:
12)
Entertime2:
1411(到达时间是14:
11)
Thetrainjourneytimeis6hours59minutes
-:
1:
#include
-:
2:
intmain(void)
2:
3:
{
-:
4:
inta,b,c,d,time1,time2;
2:
5:
printf("Entertime1:
");
2:
6:
scanf("%d",&time1);
2:
7:
printf("Entertime2:
");
2:
8:
scanf("%d",&time2);
2:
9:
a=time1%100;
2:
10:
b=time2%100;
2:
11:
if(b>=a){
1:
12:
c=(time2-time1)/100;
1:
13:
d=b-a;
-:
14:
}
-:
15:
else{
1:
16:
c=(time2-time1)/100;
1:
17:
d=b-a+60;
-:
18:
}
2:
19:
printf("Thetrainjourneytimeis%dhours%dminutes\n",c,d);
2:
20:
return0;
-:
21:
}
3.
2.2.8编程题,输入一个四位正整数,将其加密后输出。
【问题描述】2.2.8输入一个四位正整数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。
【样例输入输出】(括号内为说明文字)
Enteranumber:
1257
Theencryptednumberis4601(每一位上的数字加9除以10取余后得0146,交换后得到4601)
-:
1:
#include
-:
2:
intmain(void)
2:
3:
{
-:
4:
intx,y,a,b,c,d;
2:
5:
printf("Enteranumber:
");
2:
6:
scanf("%d",&x);
2:
7:
d=x%10;
2:
8:
c=(x-d)%100/10;
2:
9:
b=(x/100)%10;
2:
10:
a=x/1000;
2:
11:
a=(a+9)%10;
2:
12:
b=(b+9)%10;
2:
13:
c=(c+9)%10;
2:
14:
d=(d+9)%10;
2:
15:
y=c*1000+d*100+a*10+b;
2:
16:
printf("Theencryptednumberis%d\n",y);
2:
17:
return0;
-:
18:
}
4.
2.3.5求1-1/4+1/7-1/10+1/13-1/16+…的前n项之和
【问题描述】
输入一个正整数n,计算1-1/4+1/7-1/10+1/13-1/16+…的前n项之和,输出时保留3位小数。
【输入形式】
从键盘输入一个正整数n。
【输入输出样例1】(下划线部分表示输入)
Entern:
3
sum=0.893
【输入输出样例2】(下划线部分表示输入)
Entern:
10
sum=0.819
【样例说明】
输入提示符后要加一个空格。
其中“:
”后要加一个且只能一个空格。
输出语句的“=”两边无空格。
英文字母区分大小写。
必须严格按样例输入输出。
-:
1:
#include
-:
2:
intmain(void)
4:
3:
{
-:
4:
inta,b,i,n;
-:
5:
doublem,sum;
4:
6:
printf("Entern:
");
4:
7:
scanf("%d",&n);
4:
8:
a=1;
4:
9:
b=1;
4:
10:
sum=0;
73:
11:
for(i=1;i<=n;i++){
69:
12:
m=a*1.0/b;
69:
13:
sum=sum+m;
69:
14:
a=-a;
69:
15:
b=b+3;
-:
16:
}
4:
17:
printf("sum=%.3f\n",sum);
4:
18:
return0;
-:
19:
}
-:
20:
.
2.4.3求组合数
【问题描述】
根据下列公式可以计算出从n个不同元素中取出m个元素(m≤n)的组合数。编写程序,输入2个正整数m和n(m≤n),计算并输出组合数。要求定义和调用函数fact(n)计算n!
函数类型为double。
【输入形式】
从键盘输入正整数m和正整数n。
【输入输出样例1】(下划线部分表示输入)
Enterm:
5
Entern:
12
result=792
【样例说明】
输入提示符后要加一个空格。
其中“:
”后要加一个且只能一个空格。
输出语句的“=”两边无空格。
英文字母区分大小写。
必须严格按样例输入输出。
-:
1:
#include
-:
2:
doublefact(doubles)
6:
3:
{
6:
4:
doublei,a=1;
50:
5:
for(i=1;i<=s;i++)
44:
6:
a=a*i;
6:
7:
returna;
-:
8:
}
-:
9:
intmain()
2:
10:
{
-:
11:
doublex,y,m,n;
2:
12:
printf("Enterm:
");
2:
13:
scanf("%lf",&m);
2:
14:
printf("Entern:
");
2:
15:
scanf("%lf",&n);
2:
16:
y=fact(n-m);
2:
17:
m=fact(m);
2:
18:
n=fact(n);
2:
19:
x=n/(y*m);
2:
20:
printf("result=%.0f",x);
2:
21:
return0;
-:
22:
}
1.
3.1.3统计字符个数
【问题描述】
输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
【输入形式】
从键盘输入正实数x的值。
【输入输出样例1】(下划线部分表示输入)
Input10characters:
Reold123?
letter=5,blank=1,digit=3,other=1
【样例说明】
输入提示符后要加一个空格。
例如“Input10characters:
”,其中“:
”后要加一个且只能一个空格。
输出语句的“=”两边无空格。
英文字母区分大小写。
必须严格按样例输入输出。
-:
1:
#include
-:
2:
intmain(void)
2:
3:
{
-:
4:
intdigit,i,letter,blank,other;
-:
5:
charch;
2:
6:
digit=letter=blank=other=0;
2:
7:
printf("Input10characters:
");
22:
8:
for(i=1;i<=10;i++){
20:
9:
ch=getchar();
30:
10:
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
10:
11:
letter++;
16:
12:
elseif(ch>='0'&&ch<='9')
6:
13:
digit++;
7:
14:
elseif((ch=='\n')||(ch==''))
3:
15:
blank++;
-:
16:
else
1:
17:
other++;
-:
18:
}
2:
19:
printf("letter=%d,blank=%d,digit=%d,other=%d\n",letter,blank,digit,other);
2:
20:
return0;
-:
21:
}
2.
3.1.7计算三角形周长和面积
【问题描述】
输入三角形的三边a,b,c,如果能构成一个三角形,输出面积area
和周长perimeter(保留两位小数);否则,输出
“Thesesidesdonotcorrespondtoavalidtriangle”
在一个三角形钟,任意两边之和大于第三边。
三角形面积计算公式:
area=sqrt(s*(s-a)*(s-b)*(s-c))
其中:
s=(a+b+c)/2
【输入形式】
输入三角形的三条边的数据。
【输入输出样例1】(下划线部分表示输入)
Enter3sidesofthetriangle:
553
area=7.15;perimeter=13.00【样例说明】
输入提示符后要加一个空格。
例如“Enter3sidesofthetriangle:
”,其中“:
”后要加一个且只能一个空格。
输出语句的“=”两边无空格。
英文字母区分大小写。
必须严格按样例输入输出。
-:
1:
#include
-:
2:
#include
-:
3:
intmain(void)
2:
4:
{
-:
5:
inta,b,c;
-:
6:
doublearea,perimeter,s;
2:
7:
printf("Enter3sidesofthetriangle:
");
2:
8:
scanf("%d%d%d",&a,&b,&c);
4:
9:
if(a+b>c&&a+c>b&&b+c>a){
2:
10:
s=(a+b+c)/2.00;
2:
11:
area=sqrt(s*(s-a)*(s-b)*(s-c));
2:
12:
perimeter=a+b+c;
2:
13:
printf("area=%.2f;perimeter=%.2f\n",area,perimeter);
-:
14:
}
-:
15:
else{
#####:
16:
printf("Thesesidesdonotcorrespondtoavalidtriangle");
-:
17:
}
2:
18:
return0;
-:
19:
}
-:
20:
3.
3.1.8计算个人所得税
【问题描述】
输入一个职工的月薪salary,输出应交的个人所得税tax(保留两位小数)。
计算方式:
tax=rate*(salary-850)
当salary<=850时,rate=0;
当850 当1350 当2850 当5850 【输入形式】 输入月薪。 【输入输出样例1】(下划线部分表示输入) Enterthesalary: 1010.87 tax=8.04 【输入输出样例2】(下划线部分表示输入) Enterthesalary: 32098.76 tax=6249.75 【输入输出样例3】(下划线部分表示输入) Enterthesalary: 800 tax=0.00 【输入输出样例4】(下划线部分表示输入) Enterthesalary: 4010 tax=474.00 【输入输出样例5】(下划线部分表示输入) Enterthesalary: 2850 tax=200.00 【样例说明】 输入提示符后要加一个空格。 例如“Enterthesalary: ”,其中“: ”后要加一个且只能一个空格。 输出语句的“=”两边无空格。 英文字母区分大小写。 必须严格按样例输入输出。 -: 1: #include -: 2: intmain(void) 6: 3: { -: 4: doubletax,rate,salary; 6: 5: printf("Enterthesalary: "); 6: 6: scanf("%lf",&salary); 6: 7: if(salary<=850){ 1: 8: rate=0; 1: 9: tax=rate*(salary-850); -: 10: } 5: 11: elseif(salary<=1350){ 1: 12: rate=0.05; 1: 13: tax=rate*(salary-850); -: 14: } 4: 15: elseif(salary<=2850){ 1: 16: rate=0.1; 1: 17: tax=rate*(salary-850); -: 18: } 3: 19: elseif(salary<=5850){ 1: 20: rate=0.15; 1: 21: tax=rate*(salary-850); -: 22: } -: 23: else{ 2: 24: rate=0.2; 2: 25: tax=rate*(salary-850); -: 26: } 6: 27: printf("tax=%.2f\n",tax); 6: 28: return0; -: 29: } -: 30: 4. 3.1.9统计等级分个数 【问题描述】 输入一个正整数n,再输入n个学生的百分制成绩(整数),计算平均分, 并统计各等级成绩的个数。 成绩等级分为五级, 分别为A(90-100)、B(80-89)、C(70-79)、 D(60-69)和E(0-59)。 。 【输入形式】 从键盘输入正整数n的,然后再数入n个人的成绩。 【输入输出样例1】(下划线部分表示输入) Entern: 5 Entergrade1: 77 Entergrade2: 54 Entergrade3: 92 Entergrade4: 73 Entergrade5: 60 ThenumberofA(90~100): ThenumberofB(80~89): 0 ThenumberofC(70~79): 2 ThenumberofD(60~69): 1 ThenumberofE(0~59): 1 【样例说明】 输入提示符后要加一个空格。 例如“Entern: ”,其中“: ”后要加一个且只能一个空格。 输出语句的“=”两边无空格。 英文字母区分大小写。 必须严格按样例输入输出。 -: 1: #include -: 2: intmain(void) 2: 3: { -: 4: inti,n,a,b,c,f,e,grade; 2: 5: printf("Entern: "); 2: 6: scanf("%d",&n); 2: 7: grade=0; 2: 8: a=b=c=f=e=0; 10: 9: for(i=1;i<=n;i++){ 8: 10: printf("Entergrade%d: ",i); 8: 11: scanf("%d",&grade); 10: 12: if(grade<=100&&grade>=90){ 2: 13: a++;} 6: 14: elseif(grade<=89&&grade>=80){ #####: 15: b++;} 9: 16: elseif(grade<=79&&grade>=70){ 3: 17: c++;} 5: 18: elseif(grade<=69&&grade>=60){ 2: 19: f++;} 1: 20: elseif(grade<=59){ 1: 21: e++;} -: 22: } 2: 23: printf("ThenumberofA(90~100): %d\nThenumberofB(80~89): %d\nThenumberofC(70~79): %d\nThenumberofD(60~69): %d\nThenumberofE(0~59): %d\n",a,b,c,f,e); 2: 24: return0; -: 25: } 1. 4.1.5编程题《求一批整数的最小值》 【问题描述】 输入一个正整数n,再输入n个整数,输出最小值。 【输入形式】 从键盘输入一个正整数n和n个整数。 【输入输出样例1】(下划线部分表示输入) Inputn: 4 Inputnumbers: -2-1231000 min=-123 【输入输出样例2】(下划线部分表示输入) Inputn: 4 Inputnumbers: -9-11-8 min=-9 【输入输出样例3】(下划线部分表示输入) Inputn: 3 Inputnumbers: 531 min=1 【样例说明】 输入提示符后要加一个空格。 其中“: ”后要加一个且只能一个空格。 输入的数据之间以一个空格相隔。 输出语句的“=”两边无空格。 英文字母区分大小写。 必须严格按样例输入输出。 -: 1: #include -: 2: intmain(void) 4: 3: { -: 4: inti,number,min,n; 4: 5: printf("Inputn: "); 4: 6: scanf("%d",&n); 4: 7: printf("Inputnumbers: ",n); 4: 8: scanf("%d",&number); 4: 9: min=number; 14: 10: for(i=1;i 10: 11: scanf("%d",&number); 10: 12: if(min>number) 3: 13: min=number; -: 14: } 4: 15: printf("min=%d\n",min); 4: 16: return0; -: 17: } 2. 4.1.8编程题《求a+aa+aaa+aa…a(n个a)之和》 【问题描述】 输入2个正整数a和n,求a+aa+aaa+aa…a(n个a)之和。例如,输入2和3,输出246(2+22+222)。 【输入形式】 从键盘输入正整数a和正整数n。 【输入输出样例1】(下划线部分表示输入) Inputa,n: 85 s=98760 【样例说明】 输入提示符后要加一个空格。 其中“: ”后要加一个且只能一个空格。 输出语句的“=”两边无空格。 英文字母区分大小写。 必须严格按样例输入输出。 -: 1: #include -: 2: #include -: 3: intmain(void) 2: 4: { -: 5: inti,a,n,item,s; -: 6: 2: 7: printf("Inputa,n: "); 2: 8: scanf("%d%d",&a,&n); -: 9: 2: 10: item=0; 2: 11: s=0; -: 12: 16: 13: for(i=1;i<=n;i++){ 14: 14: item=item*10+a; 14: 15: s=s+item; -: 16: } 2: 17: printf("s=%d\n",s); -: 18: 2: 19: return0; -: 20: } -: 21: 3. 4.1.9编程题《自由落体运动——求第n次反弹落地经过的路程与第n次反弹高度》 【问题描述】 皮球从height米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复。 皮球在第n次反弹落地时,在空中经过的路程是多少米? 第n次反弹的高度是多少? (输出保留1位小数) 【输入形式】 从键盘输入两个正整数height和n。 【输入输出样例1】(下划线部分表示输入) Inputheight: 10 Inputn: 2 distance=25.0 height=2.5 【输入输出样例2】(下划线部分表示输入) Inputheight: 100 Inputn: 8 distance=299.2 height=0.4 【样例说明】 输入提示符后要加一个空格。 其中“: ”后要加一个且只能一个空格。 输出语句分两行输出,并且输出语句的“=”两边无空格。 英文字母区分大小写。 必须严格按样例输入输出。 -: 1: #include -: 2: intmain(void) 2: 3: { -: 4: inti,n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业 汇编