C语言历次上机作业总汇.docx

上传人:b****8 文档编号:9484154 上传时间:2023-02-04 格式:DOCX 页数:93 大小:1.35MB
下载 相关 举报
C语言历次上机作业总汇.docx_第1页
第1页 / 共93页
C语言历次上机作业总汇.docx_第2页
第2页 / 共93页
C语言历次上机作业总汇.docx_第3页
第3页 / 共93页
C语言历次上机作业总汇.docx_第4页
第4页 / 共93页
C语言历次上机作业总汇.docx_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

C语言历次上机作业总汇.docx

《C语言历次上机作业总汇.docx》由会员分享,可在线阅读,更多相关《C语言历次上机作业总汇.docx(93页珍藏版)》请在冰豆网上搜索。

C语言历次上机作业总汇.docx

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,保存为test4.c

#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);

for(i=2;i

{if(a%i==0)

break;

}

if(i>=a)

printf("%d是素数\n",a);

}

【作业6】输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

保存为test7.c

#include

voidmain()

{

chara;

inti=0,j=0,k=0,l=0;

printf("请输入一些字符\n");

while((a=getchar())!

='\n')

{

if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))

i++;

elseif(a>='0'&&

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1