b)max=a;elsemax=b;printf("最大值是:%d\n",max);return0;}第二次上机作业题目二:请编程实现输出如下图形,保存为test2.c(也可为星形,或正方形,图形不限)#includevoid" />
第一次上机作业
题目五:求两个数的中的较大值:(尝试运行并抄写在课本P9),并保存为test5.c
#include
int main( )
{
int a,b,max;
scanf("%d%d",&a,&b);
if(a>b)
max=a;
else
max=b;
printf("最大值是:%d\n",max);
return 0;
}
第二次上机作业
题目二:请编程实现输出如下图形,保存为test2.c(也可为星形,或正方形,图形不限)
#include
void main()
{
printf(" * \n");
printf(" *** \n");
printf(" ***** \n");
printf("*******\n");
printf(" ***** \n");
printf(" *** \n");
printf(" * \n");
}
题目四(选作题):编写一个程序,输入a,b,c三个值,输出其中最大者,保存为test4.c #include
void main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if(a>=b && a>=c)
max=a;
else if(b>=a && b>=c)
else
max=c;
printf("max is %d\n",max);
}
第三次上机作业
题目一:编写以下程序,保存为test1.c
已知一个学生的C语言成绩为92.5,大学物理成绩为85,概率论成绩为79.5,编程求他的总分和平均成绩,并输出总分和平均成绩。
#include
void main()
{
float a=92.5,b=85,c=79.5;
int sum;
float aver;
sum=a+b+c;
aver=(a+b+c)/3;
printf("%d, %.2f\n",sum,aver);
}
题目二:编写程序实现如下功能,保存为test2.c
输入一个三位整数,找出每位上的数字,并反序输出这个数。如,输入456,则输出654的结果。
#include
void main()
{
int m,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
void main()
{
float x=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这五个变量的值分别为
#include
void main()
{
char c[]="China";
int i;
for(i=0;c[i]!='\0';i++)
c[i]=c[i]+4;
printf("%s\n",c);
}
第四次上机作业
题目二:由用户从键盘输入圆的半径,编程序求出圆的周长L和面积S。要求用scanf函数输入数据,输出时要求有文字说明,取小数点后2位数字,保存为test2.c。
#include
void main()
{
int r;
float L,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
void main()
{
int score;
scanf("%d",&score);
if(score>=60 && score<=100)
printf("PASS\n");
else if(score>0 && score<60)
printf("NOT PASS\n");
else
printf("ERROR\n");
}
题目五:给定一个大写字母,要求用小写字母输出,并且输出该小写字母对应的ASCII码。保存为test5.c。
#include
void main()
{
char A;
printf("%c,%d\n",A+32,A+32);
}
选作题:
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输入一个三位数,然后判断它是不是水仙花数,如果是水仙花数,就输出这个数,否则不输出。
#include
void main()
{
int m,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:请用getchar putchar来实现输入一个大写字母,要求用小写字母输出,并且输出该小写字母。
#include
void main()
{
char A,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
void main()
{
int score;
scanf("%d",&score);
if(score>=90 && score<=100)
printf("A\n");
else if(score>=80 && score<90)
printf("B\n");
printf("C\n");
else if(score>=60 && score<70)
printf("D\n");
else if(score>=0 && score<60)
printf("E\n");
else printf("ERROR\n");
}
作业4:输入某一年,判定这一年是不是闰年,并输出判定结果。
#include
void main()
{
int year;
scanf("%d",&year);
if((year%4==0 && year%100!=0) ||year%400==0)
printf("这年是闰年\n");
else
printf("这年不是闰年\n");
}
作业5:课本P112 习题6
#include
void main()
{
int x,y;
scanf("%d",&x);
if(x<1)
y=x;
else if(x>=1 && x<10)
y=2*x-1;
else
y=3*x-11;
printf("%d\n",y);
}
作业6:编程序,输入月份数,输出是那个季节。(春3 4 5月,夏6 7 8,秋9 10 11,冬12,1,2月)#include
void main()
{
int month;
scanf("%d",&month);
if(month>12 || month<1)
printf("ERROR\n");
else if(month>11 && month<3)
printf("春天\n");
else if(month>2 && month<6)
printf("夏天");
else if(month>5 && month<9)
printf("秋天\n");
else printf("冬天\n");
选作题:有3个整数a,b,c,由键盘输入,输出其中最大的数。
#include
void main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if(a>=b && a>=c)
max=a;
else if(b>=a && b>=c)
max=b;
else
max=c;
printf("max is %d\n",max);
}
选作题:输入一个字符,判定它的类别,比如是数字、小写字母、大写字母和其他字符。
#include
void main()
{
char c;
scanf("%c",&c);
if(c>='0' && c<='9')
printf("数字\n");
else if(c>='a' && c<='z')
printf("小写字母\n");
else if(c>='A' && c<='Z')
printf("大写字母\n");
else printf("其他字符\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
void main()
{
float a;
printf("请输入成绩:\n");
scanf("%f",&a);
printf("error\n"); //防止输入104…输出A
else switch((int)(a/10)) //int取整如10.26 舍入后为10,如-5.2 舍入后为-6 {
case 10 :
case 9: printf("A\n");break;
case 8: printf("B\n");break;
case 7: printf("C\n");break;
case 6: printf("D\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("E\n");break;
default: printf("error\n");
}
}
作业2:请输入3个整数,输出其中最大的数。保存为test2.c
#include
void main()
{
int a,b,c,max;
printf("请输入三个整数:\n");
scanf("%d %d %d",&a,&b,&c);
max=a;
if(a
max=b;
else if(a max=c; printf("max=%d\n",max); } 作业3:给一个不多于5位的正整数,请输入它是几位数。保存为test3.c #include void main() { int a,b; printf("请输入一个不多于5位的正整数:"); scanf("%d",&a); if(a>9999 && a<100000) b=5; else if(a>999 && a<10000) b=4; else if(a>999 && a<10000) b=3; else if(a>999 && a<10000) b=2; else if(a>-1 && a<10) else printf("error\n"); printf("这是一个%d位数",b); } 作业4:从键盘上输入三个数据(要求有数据输入前提示),看是否可以构成三角形,如果可以构成三角形,然后判断它是否为等腰三角形以及等边三角形还是直角三角形,否则输出不构成三角形。保存为test4.c #include void main() { int a,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("这三边构成等边三角形"); else if(a==b || b==c || c==a) printf("这三边构成等腰三角形"); else if(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 void main() { float a; printf("请输入一个实数\n"); scanf("%f",&a); printf("该实数的绝对值为%.2f",a=a>0?a:-a); } 作业6:输入某年某月某日,输出这一天是这一年的第几天?保存为test6.c Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 1985/1/20 2006/3/12 Sample Output 20 71 第二步:先计算某月以前月份的总天数 第三步:注意闰年的判断 最后输出天数。 可以用if elseif elseif elseif …….等完成,也可以用switch 语句来实现。 #include void main() { int year,month,day; printf("请输入年月日\n"); scanf("%d %d %d",&year,&month,&day); switch(month) { case 1:day+=0;break; case 2:day+=31;break; case 3:day+=59;break; case 4:day+=90;break; case 5:day+=120;break; case 6:day+=151;break; case 7:day+=181;break; case 8:day+=212;break; case 9:day+=243;break; case 10:day+=273;break; case 11:day+=304;break; case 12:day+=334;break; default:printf("error");break;} if((year%4==0 && year%100!=0) || (year%400==0)) day+=1; else day=day; printf("这是%d年的第%d天",year,day); } 第7次作业 作业1:编程序完成以下功能:输入一个整数判断它能不能被3整除,如果能被3整除,就输出这个数,否则不输出。保存为test1.c #include void main() { int a; printf("请输入一个整数\n"); scanf("%d",&a); if(a%3==0) printf("%d\n",a); else printf("\n"); } 作业2:编程序完成以下功能:输入数字1-7中的一个数,按照输入的值输出对应的星期(星期一到星期天),请用switch语句来实现。保存为test2.c int a; printf("请输入一个1到7的整数\n"); scanf("%d",&a); switch(a) { case 1:printf("星期一"); break; case 2:printf("星期二"); break; case 3:printf("星期三"); break; case 4:printf("星期四"); break; case 5:printf("星期五"); break; case 6:printf("星期六"); break; case 7:printf("星期日"); break; default:printf("error\n"); } } 作业3:编程序完成以下功能:输入三个学生的成绩(整型),求这三个学生的总成绩和平均成绩(保留2位小数)。保存为test3.c #include void main() { int a,b,c; float aver; 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 void main() { float x1,y1,x2,y2; double d; 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 float r; double v; printf("请输入半径\n"); scanf("%f",&r); v=4*P*r*r*r/3; printf("球的体积是%.2f",v); } 第八次作业 【作业2】将100~200之间的所有不能被3整除的数输出,要求输出格式尽量美观,保存为test3.c #include void main() { int i,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 void main() { int i,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 #define n 10 void main() { int i; double s=0; s+=(2*i-1)*(2*i+1)/((2.0*i)*(2*i)); printf("%f\n",s); } 【作业5】输入一个数,判断该数是否为素数。保存为test6.c #include void main() { int a,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 void main() { char a; int i=0,j=0,k=0,l=0; printf("请输入一些字符\n"); while((a=getchar())!='\n') { if((a>='a' && a<='z') ||(a>='A' && a<='Z')) i++; else if(a>='0' && a<='9') j++; else if(a==' ') k++; else l++;} printf("字母有%d\n数字有%d\n空格有%d\n其他字符有%d\n",i,j,k,l); } 第九次作业 【作业1】求费波那西(Fibonacci)数列的前40个数,要求一行显示5个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。 #include int main() { int f1=1,f2=1,f3; int i; printf("%12d %12d",f1,f2); for(i=3; i<=40; i++) { f3=f1+f2; if(i%4==0) printf("\n"); //每输出四个数后换行f1=f2; f2=f3; } return 0; } 【作业2】在屏幕上输出上三角九九乘法表。 #include void main() { int i,j; for(i=9;i>=1;i--) { for (j=1;j<=i;j++) printf("%d*%d=%d",i,j,i*j); printf("\n"); } } 【作业3】输出以下4*4的方阵。 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 #include void main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4;j++) printf("%9d",i*j); printf("\n");} } 【作业4】编写程序,输出100~200间的所有素数。 #include void main() { int i,j; { for(j=2;j<=i-1;j++) if(i%j==0) break; if(j>=i) printf("%d是素数\n",i); } } 第10次作业 【作业1】要求用数组来实现:输出费波那西(Fibonacci)数列的前40个数,要求一行显示4个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。 #include void main() { int i,n=0; int a[40]={1,1}; for(i=2;i<40;i++) a[i]=a[i-2]+a[i-1]; for(i=0;i<40;i++) { printf("%10d",a[i]); n++; if(n%6==0) printf("\n"); } } 【作业2】输入10个数存入数组中,要求对这10个数按从大到小排序。 #include void main() { int a[10],i,j,p; printf("请输入十个数"); for(i=0;i<=9;i++) scanf("%d",&a[i]); for(j=0;j<9;j++) for(i=0;i<9-j;i++)