C语言历次上机作业总汇.docx
- 文档编号:9484154
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:93
- 大小:1.35MB
C语言历次上机作业总汇.docx
《C语言历次上机作业总汇.docx》由会员分享,可在线阅读,更多相关《C语言历次上机作业总汇.docx(93页珍藏版)》请在冰豆网上搜索。
C语言历次上机作业总汇
第一次上机作业
题目五:
求两个数的中的较大值:
(尝试运行并抄写在课本P9),并保存为test5.c
#include
intmain()
{
inta,b,max;
scanf("%d%d",&a,&b);
if(a>b)
max=a;
else
max=b;
printf("最大值是:
%d\n",max);
return0;
}
第二次上机作业
题目二:
请编程实现输出如下图形,保存为test2.c(也可为星形,或正方形,图形不限)
#include
voidmain()
{
printf("*\n");
printf("***\n");
printf("*****\n");
printf("*******\n");
printf("*****\n");
printf("***\n");
printf("*\n");
}
题目四(选作题):
编写一个程序,输入a,b,c三个值,输出其中最大者,保存为test4.c
#include
voidmain()
{
inta,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if(a>=b&&a>=c)
max=a;
elseif(b>=a&&b>=c)
max=b;
else
max=c;
printf("maxis%d\n",max);
}
第三次上机作业
题目一:
编写以下程序,保存为test1.c
已知一个学生的C语言成绩为92.5,大学物理成绩为85,概率论成绩为79.5,编程求他的总分和平均成绩,并输出总分和平均成绩。
#include
voidmain()
{
floata=92.5,b=85,c=79.5;
intsum;
floataver;
sum=a+b+c;
aver=(a+b+c)/3;
printf("%d,%.2f\n",sum,aver);
}
题目二:
编写程序实现如下功能,保存为test2.c
输入一个三位整数,找出每位上的数字,并反序输出这个数。
如,输入456,则输出654的结果。
#include
voidmain()
{
intm,a,b,c,n;
printf("请输入一个三位数");
scanf("%d",&m);
a=m/100;
b=m/10%10;
c=m%10;
n=c*100+b*10+a;
printf("这个新的三位数为%d\n",n);
}
题目三:
编写程序实现如下功能,保存为test3.c
己知小数x=10.1,y=20.2,求z的值,其中z=x*x+y*y
#include
voidmain()
{
floatx=10.1,y=20.2,z;
z=x*x+y*y;
printf("%.2f\n",z);
}
题目四:
编写程序实现如下功能,保存为test4.c
要将China译成密码.密码规律是:
用原来的字母后面第4个字母代替原来的字母.例如.字母A后面的第4个字母是E用E代替A.因此,CHINA应译为Glmre.请编一程序.用赋初值的方法使C1.C2.C3.C4.C5这五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出.
#include
voidmain()
{
charc[]="China";
inti;
for(i=0;c[i]!
='\0';i++)
c[i]=c[i]+4;
printf("%s\n",c);
}
第四次上机作业
题目二:
由用户从键盘输入圆的半径,编程序求出圆的周长L和面积S。
要求用scanf函数输入数据,输出时要求有文字说明,取小数点后2位数字,保存为test2.c。
#include
voidmain()
{
intr;
floatL,S;
printf("请输入一个半径r");
scanf("%d",&r);
L=2*3.14*r;
S=3.14*r*r;
printf("周长是%.2f\n面积是%.2f\n",L,S);
}
题目四:
用scanf语句输入一个学生的成绩,判断是否通过考试。
判断标准是大于等于60为通过考试,保存为test4.c。
#include
voidmain()
{
intscore;
scanf("%d",&score);
if(score>=60&&score<=100)
printf("PASS\n");
elseif(score>0&&score<60)
printf("NOTPASS\n");
else
printf("ERROR\n");
}
题目五:
给定一个大写字母,要求用小写字母输出,并且输出该小写字母对应的ASCII码。
保存为test5.c。
#include
voidmain()
{
charA;
scanf("%c",&A);
printf("%c,%d\n",A+32,A+32);
}
选作题:
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:
153=1^3+5^3+3^3。
现在要求输入一个三位数,然后判断它是不是水仙花数,如果是水仙花数,就输出这个数,否则不输出。
#include
voidmain()
{
intm,a,b,c;
scanf("%d",&m);
a=m/100;
b=m%100/10;
c=m%10;
if(m==a*a*a+b*b*b+c*c*c)
printf("%d\n",m);
}
第5次作业
作业1:
请用getcharputchar来实现输入一个大写字母,要求用小写字母输出,并且输出该小写字母。
#include
voidmain()
{
charA,a;
A=getchar();
a=A+32;
putchar(a);
putchar('\n');
}
作业2:
请用if语句实现“奖学金评定”的编程。
如输入一个百分制成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。
判别学生成绩的等级:
90~100分A级;
80~89分B级;
70~79分C级;
60~69分D级;
<60分E级。
#include
voidmain()
{
intscore;
scanf("%d",&score);
if(score>=90&&score<=100)
printf("A\n");
elseif(score>=80&&score<90)
printf("B\n");
elseif(score>=70&&score<80)
printf("C\n");
elseif(score>=60&&score<70)
printf("D\n");
elseif(score>=0&&score<60)
printf("E\n");
elseprintf("ERROR\n");
}
作业4:
输入某一年,判定这一年是不是闰年,并输出判定结果。
#include
voidmain()
{
intyear;
scanf("%d",&year);
if((year%4==0&&year%100!
=0)||year%400==0)
printf("这年是闰年\n");
else
printf("这年不是闰年\n");
}
作业5:
课本P112习题6
#include
voidmain()
{
intx,y;
scanf("%d",&x);
if(x<1)
y=x;
elseif(x>=1&&x<10)
y=2*x-1;
else
y=3*x-11;
printf("%d\n",y);
}
作业6:
编程序,输入月份数,输出是那个季节。
(春345月,夏678,秋91011,冬12,1,2月)
#include
voidmain()
{
intmonth;
scanf("%d",&month);
if(month>12||month<1)
printf("ERROR\n");
elseif(month>11&&month<3)
printf("春天\n");
elseif(month>2&&month<6)
printf("夏天");
elseif(month>5&&month<9)
printf("秋天\n");
elseprintf("冬天\n");
}
选作题:
有3个整数a,b,c,由键盘输入,输出其中最大的数。
#include
voidmain()
{
inta,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if(a>=b&&a>=c)
max=a;
elseif(b>=a&&b>=c)
max=b;
else
max=c;
printf("maxis%d\n",max);
}
选作题:
输入一个字符,判定它的类别,比如是数字、小写字母、大写字母和其他字符。
#include
voidmain()
{
charc;
scanf("%c",&c);
if(c>='0'&&c<='9')
printf("数字\n");
elseif(c>='a'&&c<='z')
printf("小写字母\n");
elseif(c>='A'&&c<='Z')
printf("大写字母\n");
elseprintf("其他字符\n");
}
第六次作业
作业1:
请用switch语句实现“奖学金评定”的编程。
如输入一个百分制成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。
判别学生成绩的等级:
90~100分A级;
80~89分B级;
70~79分C级;
60~69分D级;
<60分E级。
当输入为负数或者大于100的数提示出错。
保存为test1.c
#include
voidmain()
{
floata;
printf("请输入成绩:
\n");
scanf("%f",&a);
if(a>100)
printf("error\n");//防止输入104…输出A
elseswitch((int)(a/10))//int取整如10.26舍入后为10,如-5.2舍入后为-6
{
case10:
case9:
printf("A\n");break;
case8:
printf("B\n");break;
case7:
printf("C\n");break;
case6:
printf("D\n");break;
case5:
case4:
case3:
case2:
case1:
case0:
printf("E\n");break;
default:
printf("error\n");
}
}
作业2:
请输入3个整数,输出其中最大的数。
保存为test2.c
#include
voidmain()
{
inta,b,c,max;
printf("请输入三个整数:
\n");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(a
max=b;
elseif(a max=c; printf("max=%d\n",max); } 作业3: 给一个不多于5位的正整数,请输入它是几位数。 保存为test3.c #include voidmain() { inta,b; printf("请输入一个不多于5位的正整数: "); scanf("%d",&a); if(a>9999&&a<100000) b=5; elseif(a>999&&a<10000) b=4; elseif(a>999&&a<10000) b=3; elseif(a>999&&a<10000) b=2; elseif(a>-1&&a<10) b=1; elseprintf("error\n"); printf("这是一个%d位数",b); } 作业4: 从键盘上输入三个数据(要求有数据输入前提示),看是否可以构成三角形,如果可以构成三角形,然后判断它是否为等腰三角形以及等边三角形还是直角三角形,否则输出不构成三角形。 保存为test4.c #include voidmain() { inta,b,c; printf("请输入三个数据: \n"); scanf("%d%d%d",&a,&b,&c); if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b) {printf("这三边能够成三角形\n"); if(a==b==c) printf("这三边构成等边三角形"); elseif(a==b||b==c||c==a) printf("这三边构成等腰三角形"); elseif(a*a+b*b==c*c||c*c+b*b==a*a||c*c+a*a==b*b) printf("这三边构成直角三角形");} else printf("这三边不能够成三角形\n"); } 作业5: 输入一个实数,求该实数的绝对值,要求用条件表达式来完成。 保存为test5.c #include voidmain() { floata; printf("请输入一个实数\n"); scanf("%f",&a); printf("该实数的绝对值为%.2f",a=a>0? a: -a); } 作业6: 输入某年某月某日,输出这一天是这一年的第几天? 保存为test6.c Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sampleinput,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 SampleInput 1985/1/20 2006/3/12 SampleOutput 20 71 算法分析提示: 第一步: 注意scanf输入格式,哪个变量接收”月”,哪个变量接收”日” 第二步: 先计算某月以前月份的总天数 第三步: 注意闰年的判断 最后输出天数。 可以用ifelseifelseifelseif…….等完成,也可以用switch语句来实现。 #include voidmain() { intyear,month,day; printf("请输入年月日\n"); scanf("%d%d%d",&year,&month,&day); switch(month) { case1: day+=0;break; case2: day+=31;break; case3: day+=59;break; case4: day+=90;break; case5: day+=120;break; case6: day+=151;break; case7: day+=181;break; case8: day+=212;break; case9: day+=243;break; case10: day+=273;break; case11: day+=304;break; case12: day+=334;break; default: printf("error");break;} if((year%4==0&&year%100! =0)||(year%400==0)) day+=1; elseday=day; printf("这是%d年的第%d天",year,day); 第7次作业 作业1: 编程序完成以下功能: 输入一个整数判断它能不能被3整除,如果能被3整除,就输出这个数,否则不输出。 保存为test1.c #include voidmain() { inta; printf("请输入一个整数\n"); scanf("%d",&a); if(a%3==0) printf("%d\n",a); elseprintf("\n"); } 作业2: 编程序完成以下功能: 输入数字1-7中的一个数,按照输入的值输出对应的星期(星期一到星期天),请用switch语句来实现。 保存为test2.c #include voidmain() { inta; printf("请输入一个1到7的整数\n"); scanf("%d",&a); switch(a) { case1: printf("星期一");break; case2: printf("星期二");break; case3: printf("星期三");break; case4: printf("星期四");break; case5: printf("星期五");break; case6: printf("星期六");break; case7: printf("星期日");break; default: printf("error\n"); } } 作业3: 编程序完成以下功能: 输入三个学生的成绩(整型),求这三个学生的总成绩和平均成绩(保留2位小数)。 保存为test3.c #include voidmain() { inta,b,c; floataver; printf("请输入三名学生的成绩\n"); scanf("%d%d%d",&a,&b,&c); aver=(a+b+c)/3.0; printf("总成绩为%d\n",a+b+c); printf("平均成绩为%.2f\n",aver); } 作业4: 编程序完成以下功能: 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离(保留2位小数)。 提示: 开平方用sqrt函数,因为要用到数学函数,要在main()前加#include #include #include voidmain() { floatx1,y1,x2,y2; doubled; printf("请输入第一个坐标\n"); scanf("%f%f",&x1,&y1); printf("请输入第二个坐标\n"); scanf("%f%f",&x2,&y2); d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); printf("这两点之间的距离是%.2f\n",d); } 作业5: 编程序完成以下功能: 根据输入的半径值,计算球的体积(保留2位小数)。 保存为test5.c #include #defineP3.1415926 voidmain() { floatr; doublev; printf("请输入半径\n"); scanf("%f",&r); v=4*P*r*r*r/3; printf("球的体积是%.2f",v); } 第八次作业 【作业2】将100~200之间的所有不能被3整除的数输出,要求输出格式尽量美观,保存为test3.c #include voidmain() { inti,a=0; for(i=100;i<=200;i++) {if(i%3! =0) {printf("%4d",i); a++;if(a%4==0)printf("\n"); } } 【作业3】输出100-900之间所有水仙花数。 水仙花数是指个位、十位、百位数字的立方和为这个数本身。 例如,153是一个水仙花数,因为153=1^3+5^3+3^3。 保存为test4.c #include voidmain() { inti,a,b,c; for(i=100;i<=900;i++) {a=i/100; b=(i/10)%10; c=i%10; if(i==a*a*a+b*b*b+c*c*c) printf("%d\n",i); } } 【作业4】计算下式前n项的和,例如,当形参n的值为10时,函数返回: 9.612558。 保存为test5.c #include #definen10 voidmain() { inti; doubles=0; for(i=1;i<=n;i++) s+=(2*i-1)*(2*i+1)/((2.0*i)*(2*i)); printf("%f\n",s); } 【作业5】输入一个数,判断该数是否为素数。 保存为test6.c #include voidmain() { inta,i; printf("请输入一个数\n"); scanf("%d",&a);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 历次 上机 作业 总汇