最新C语言作业题整理.docx
- 文档编号:413222
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:34
- 大小:34.86KB
最新C语言作业题整理.docx
《最新C语言作业题整理.docx》由会员分享,可在线阅读,更多相关《最新C语言作业题整理.docx(34页珍藏版)》请在冰豆网上搜索。
最新C语言作业题整理
C语言作业题整理
1.第一次
1.1.编写一程序,通过键盘输入一华氏温度,将其转换为摄氏温度后输出。
公式为c=5/9(f-32)
#include"stdio.h"
main()
{
floatf=0,h=0;
printf("请输入华氏温度:
");
scanf("%f",&f);
printf("转化为摄氏温度为:
");
h=(float)5/9*(f-32);
printf("%.2f\n",h);
}
1.2.通过键盘输入一小写字母,将其转换为大写字母输出,并输出该大写字母的后一位字母和前一位字母〔如果输入该大写字母为A,那么其前一位字母为Z;如果输入该大写字母为Z,那么其后一位字母为A〕。
#include"stdio.h"
main()
{
charch1,ch2,ch3,ch;
printf("请输入一个小写字母:
\n");
while(scanf("%c",&ch),ch<97||ch>122)
{
printf("您输入的符号不是小写字母,请重新输入一个小写字母:
\n");
}
printf("其对应的大写字母和前后的大写字母分别为:
\n");
if(ch=='a'){ch2=ch-32;ch1=ch2+25;ch3=ch2+1;}
elseif(ch=='z'){ch2=ch-32;ch1=ch2-1;ch3=ch2-25;}
else{ch2=ch-32;ch1=ch2-1;ch3=ch2+1;}
printf("%c,%c,%c\n",ch1,ch2,ch3);
}
1.3.通过键盘输入一个两位的整数,试编写程序将其个位与十位分别以字符的方式输出。
输出形式为:
“theinputnumberis你输入的整数,thetensis十位数字,theunitsis个位数字。
〞如果输入的整数不正确,那么输出“wronginput〞
#include"stdio.h"
main()
{
inta,b1,b2;
printf("请输入一个两位正整数:
\n");
scanf("%d",&a);
if(a<10||a>=100)
{
printf("输入不符合要求");
}
else
{
b1=a%10;
b2=a/10;
printf("十位数是:
%c\n个位数是:
%c\n",b2+'0',b1+'0');
}
}
1.4.给定方程ax^2+bx+c=0,试编写程序根据键盘输入实数a、b、c,能输出其根,要求:
如果该方程有两个不同的根,那么输出形式为"theAnswerofax^2+bx+c=0isx1=根1,x2=根2"
如果该方程有两个相同的根,那么输出形式为"theAnswerofax^2+bx+c=0isx1=X2=根"
如果该方程无解,那么输出形式为"theAnswerofax^2+bx+c=0isnone",其中a、b、c均为键盘输入,输出结果保存两位小数。
#include"stdio.h"
#include"math.h"
main(){
floata,b,c,disc,x1,x2;
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc==0){
x1=x2=-b/(2*a);
printf("theAnswerofax^2+bx+cisx1=x2=%.2f\n",x1);
}
elseif(disc>0){
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("theAnswerofax^2+bx+cisx1=%.2f,x2=%.2f\n",x1,x2);
}
else{printf("theAnswerofax^2+bx+c=0isnone\n");}
}
2.第二次
2.1.求1/3+3/5+5/7+…前20项之和。
(此题要求分别以goto,for,do...while,while四种循环语句实现)
#include
intmain()
{
inti;
floats=0;
for(i=1;i<=20;i++){
s+=(float)(2*i-1)/(2*i+1);
}
printf("s=%f\n",s);
return0;
}
#include
intmain()
{
intn;
printf("请输入你的学号:
\n");
scanf("%d",&n);
if(n%2==0)
{
inti,j,k=3,s=1;
for(i=1;i<8;i++)
{
for(j=0;j for(j=0;j printf("\n"); if(i<4) {k--;s=s+2;} else {k++;s=s-2;} } } else { intm,a,b; printf("请输入任意一个正整数: \n"); scanf("%d",&m); for(a=1;a<=m;a++) {for(b=1;b<=m;b++) printf("*"); printf("\n"); } } return0; } 2.2.如果一个正整数的所有因子之和等于该正整数,那么称这个正整数为完全数。 编写程序读入n,输出不超过n的全部完全数。 如6=1+2+3 28=1+2+4+7+14 #include voidmain() { ints,i,j; inta; printf("请输入一个数: \n"); scanf("%d",&a); for(i=1;i<=a;i++) { s=0; for(j=1;j { if(i%j==0)s=s+j; } if(i==s) { printf("完全数%d=",i); for(j=1;j if(i%j==0) printf("%d+",j); printf("\b\n"); } } } 2.3.将学号对2取模〔即取余〕,值为0的同学完成编写程序利用星号打印出菱形图案;否那么完成编写程序利用星号打印出正方形图案。 #include intmain() { intn; printf("请输入你的学号: \n"); scanf("%d",&n); if(n%2==0) { inti,j,k=3,s=1; for(i=1;i<8;i++) { for(j=0;j for(j=0;j printf("\n"); if(i<4) {k--;s=s+2;} else {k++;s=s-2;} } } else { intm,a,b; printf("请输入任意一个正整数: \n"); scanf("%d",&m); for(a=1;a<=m;a++) {for(b=1;b<=m;b++) printf("*"); printf("\n"); } } return0; } 3.第三次 3.1.y=2x^3-3x^4+6x^5-4x+50,从x=0到x=2,每隔0.2计算,并输入正整数n,将y的值进行排序后由小到大输出前n项和后n项(如输入5,那么输出前5项和后5项,即最小的5个y值及最大的5个y值)。 #include main() { inti,j,k,h,l,n; floatx,t,y[11]; i=0; for(x=0;x<2.1;x=x+0.2) { y[i]=2*x*x*x-3*x*x*x*x+6*x*x*x*x*x-4*x+50;i=i+1; } printf("请输入一个1--11以内正整数\n"); scanf("%d",&n); if(0 { for(l=0;l { for(j=1;j {if(y[j-1]>y[j]) {t=y[j-1];y[j-1]=y[j];y[j]=t;} } } printf("最小的%d个y值是\n\n",n); for(k=0;k printf("%f\n\n",y[k]); printf("最大的%d个y值是\n\n",n); for(h=11-n;h<11;h++) printf("%f\n\n",y[h]); } elseprintf("您输入的数字超出规定范围\n"); } 3.2.输入一个班10个学生的成绩,统计各分数段[0,60),[60,70),[70,80),[80,90),[90-100]的人数。 #include main() { inti,a=0,b=0,c=0,d=0,e=0; floatg[10]; printf("请输入10个学生的成绩,输入完成请按回车键\n"); for(i=0;i<10;i++) scanf("%f",&g[i]); for(i=0;i<10;i++) { if(0<=g[i]&&g[i]<60)a++; elseif(60<=g[i]&&g[i]<70)b++; elseif(70<=g[i]&&g[i]<80)c++; elseif(80<=g[i]&&g[i]<90)d++; elseif(90<=g[i]&&g[i]<=100)e++; elseprintf("输入的成绩有问题\n"); } printf("0-60分人数为%d\n",a); printf("60-70分人数为%d\n",b); printf("70-80分人数为%d\n",c); printf("80-90分人数为%d\n",d); printf("90-100分人数为%d\n",e); } 3.3.求任意输入的5个数中的最大值、最小值和平均值,并求出有多少个数超过平均值。 #include main() { inti,j,k,l,num=0; floatave,t,g[5]; printf("请输入5个数,输入完成请按回车键\n"); for(i=0;i<5;i++) scanf("%f",&g[i]); for(j=0;j<5;j++) { for(k=1;k<5;k++) { if(g[k-1]>g[k]) {t=g[k-1];g[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言 作业题 整理