计算机实验报告书答案

实验一
1、
#include
void main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("sum=%d\n",a+b+c);
}2、
#include
void main()
{
int a,b,he,cha,ji,shang;
scanf("%d,%d",&a,&b);
he=a+b;
cha=a-b;
ji=a*b;
shang=a/b;
printf("he=%d\n",he);
printf("cha=%d\n",cha);
printf("ji=%d\n",ji);
printf("shang=%d\n",shang);

}3、
#include
void main()
{
int a,b,c,d,e,sum;
scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d,&e);
sum=a*a+b*b+c*c+d*d+e*e;
printf("sum=%d\n",sum);
}

4#include include
void main()
{
double a,b,c,sum;
scanf("%lf,%lf,%lf",&a,&b,&c);
sum=sqrt(a)+sqrt(b)+sqrt(c);
printf("sum=%f\n",sum);
}
5、
#include
#define PI 3.14159
void main()
{
float r,l,s;
printf("请输入圆半径(r):");
scanf("%f",&r);
l=2*PI*r;
s=r*r*PI;
printf("\n圆周长 l=%6.2f\n",l);
printf("圆面积 s=%6.2f\n",s);
}
6、
#include
void main()
{
printf("\"what a beautiful campus!\"\n");
printf("\"I wish you every success!\"\n");
}

实验二
1、#include
void main()
{
int a,b,c;float x;
scanf("a=%d,b=%d,c=%d,x=%f",&a,&b,&c,&x);
printf("%f",a*x*x*x+b*x*x+c);
}
2、#include
void main()
{
int a,b;
scanf("a=%d,b=%d",&a,&b);
printf("ji=%d,shang=%d,yushu=%d",a*b,a/b,a%b);
}3、
#include
void main()
{
float c,f;
printf("请输入一个华氏温度f:");
scanf("%f",&f);
c=5.0/9.0*(f-32);
printf("\n摄氏温度为: %5.2f\n",c);
}
4、
#include
#define PI 3.14159
void main()
{
float r,l,s;
printf("请输入圆半径(r):");
scanf("%f",&r);
l=2*PI*r;
s=r*r*PI;
printf("\n圆周长 l=%6.2f\n",l);
printf("圆面积 s=%6.2f\n",s);
}
5、
#include
void main()
{
float c=3.123456789;
printf("%f",c);
}
6、#include
void main()
{
int a=2;
a+=a;
printf("%d\n",a);
a-=2;
printf("%d\n",a);
a*=2+3;
printf("%d\n",a);
a/=a+a;
printf("%d\n",a);
实验三
1、#include
void main()
{
int a=3,b=4,c=5;
float x=1.414,y=1.732,z=2.712;
printf("a=%-7d b=%-7d c=%-7d\nx=%-7.3f y=%-7.3f z=%-7.3f",a,b,c,x,y,z);
}
2、#include
void main()
{
int a,b,c;
float x,y,z;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
scanf("%f",&x);
scanf("%f",&y);
scanf("%f",&z);
printf("a=%d,b=%d,c=%d\nx=%.3f,y=%.3f,z=%.3f,\n",a,b,c,x,y,z);

}

3、#include
void main()
{
int a,b,c,x1,x2;
scanf("%d,%d,%d",&a,&b,&c);
x1=a+b+c;
x2=a-b-c;
printf("x1=a+b+c=%d+%d+%d=%d\n",a,b,c,x1);
printf("x2=a-b-c=%d-%d-%d=%d\n",a,b,c,x2);
}

4、#include
void main()
{
char c1,c2,c3,c4;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
printf("%d,%d,%d,%d",c1,c2,c3,c4);
}
5、#include
void main()
{
int d1=6

0,d2=61,d3=62,d4=63;
printf("%c,%c,%c,%c",d1+5,d2+5,d3+5,d4+5);
}
6、#include
void main()
{
int m=12345678,n=3456789;
printf("m=%d n=%d",m,n);
}
7、#include
void main()
{
int a=20,b=64,c=127;
printf("a=%d,%o,%x\n",a,a,a);
printf("b=%d,%o,%x\n",b,b,b);
printf("c=%d,%o,%x\n",c,c,c);
}
8、#include
void main()
{
float x,y,z;
x=1.414;
y=1.732;
z=2.712;
printf("%6.2f,%6.2f,%6.2f",x,y,z);
}
9、#include
void main()
{
printf("%.6f%%",1.0/3);
}10、#include
void main()
{
int a,b,
a=getchar(b=getchar()c=getchar();
a=a+32;
b=b+32;
c=c+32;
putchar(a);
putchar(b);
putchar(c);
}
实验四 选择结构程序设计
1.有三个整数a,b,c, 由键盘输入,输出其中最大的数。
参考程序
main()
{ int a,b,c,max;
printf("请输入a,b,c=");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if (maxif (maxprintf("\n最大数max=%d\n",max);
}
2.参看《C程序设计》第三版 谭浩强 第108页的例5.6.
3.有一函数:

写一程序,输入x, 输出y 。
main()
{ float x,y;
printf("请输入x=");
scanf("%f",&x);
if (x<1) y=x;
else if (x<10) y=2*x-1;
else y=3*x-11;
printf("\n x=%f y=%f \n",x,y);
}
4.给出一百分制成绩,要求输出成绩等级: 90分以上为′A′;80~89分为′B′;70~79分为′C′; 60~69分以上为′D′; 60分以下为′E′。
参考程序1
main()
{ int s;char r;
printf("请输入score=");
scanf("%d",&s);
if (s>=90) r=′A′;
else if (s>=80) r=′B′ ;
else if(s>=70) r=′C′ ;
else if(s>=60) r=′D′ ;
else r=′E′;
printf("\n score=%d result=%c \n", s, r);
}
参考程序2
main()
{ int s,i;
char r;
printf("请输入score=");
scanf("%d",&s);
i=(s-s%10)/10;
switch (i)
{ case 10:
case 9: r=′A′; break;
case 8: r=′B′ ; break;
case 7: r=′C′ ; break;
case 6: r=′D′ ; break;
default: r=′E′;
}
printf("\n score=%d result=%c \n", s, r);
}



5. 企业发放奖金I根据利润提成,以下是提成办法:
I<=10 万部分 10%
10204060I>100 万部分 1%
从键盘输入当月利润I,求应发奖金总数。
要求:①用if语句编程序;②用switch语句编程序。
参考程序1
main()
{
float b1,b2,b3,b4,b5,b6,I;
printf("请输入本月利润:");
scanf("%f",&I);
b1=b2=b3=b4=b5=b6=0;
if (I>100) { b6=(I-100)*0.01;
b5=40*0.015;
b4=20*0.03;
b3=20*0.05;
b2=10*0.075;
b1=10*0.1;
}
else if (I>60) { b5=(I-60)*0.015;
b4=20*0.03;
b3=20*0.05;

b2

=10*0.075;
b1=10*0.1;
}
else if(I>40) { b4=(I-40)*0.03;
b3=20*0.05;
b2=10*0.075;
b1=10*0.1;
}
else if(I>20) { b3=(I-20)*0.05;
b2=10*0.075;
b1=10*0.1;
}
else if(I>10) { b2=(I-10)*0.075;
b1=10*0.1;
}
else b1=I*0.1;
printf("\n本月利润 I=%f 万元; 奖金 b=%f 万元\n",I,b1+b2+b3+b4+b5+b6);
}
参考程序2
main()
{
float b1,b2,b3,b4,b5,b6,I,B;
printf("请输入本月利润:");
scanf("%f",&I);
B=0;
b6=(I-100)*0.01;
b5=40*0.015;
b4=20*0.03;
b3=20*0.05;
b2=10*0.075;
b1=10*0.1;
if (I>100) B+=b1+b2+b3+b4+b5+b6;
else if (I>60) B+=(I-60)*0.015+b4+b3+b2+b1;
else if(I>40) B+=(I-40)*0.03+b3+b2+b1;


else if(I>20) B+=(I-20)*0.05+b2+b1
else if(I>10) B+=(I-10)*0.075+b1;
else B=I*0.1;
printf("\n本月利润 I=%f 万元; 奖金 B=%f 万元\n",I,B);
}

参考程序3
main()
{
float b1,b2,b3,b4,b5,b6,I,B;
int n;
printf("请输入本月利润:");
scanf("%f",&I);
B=0;
b6=(I-100)*0.01;
b5=40*0.015;
b4=20*0.03;
b3=20*0.05;
b2=10*0.075;
b1=10*0.1;
n=i/10;
switch(n)
{ case 0: B=I+0.1; break;
case 1: B+=(I-10)*0.075+b1; break;
case 2:
case 3: B+=(I-20)*0.05+b2+b1; break;
case 4:
case 5: B+=(I-40)*0.03+b3+b2+b1; break;
case 6:
case 7:
case 8:
case 9: B+=(I-60)*0.015+b4+b3+b2+b1; break;
case 10:
default : B+=b1+b2+b3+b4+b5+b6;
}
printf("\n本月利润 I=%f 万元; 奖金 B=%f 万元\n",I,B);
}


6.给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打main()
{
int n1,n2,n3,n4,n5,n;
long num;
printf("请输入0--99999之间的一个数:");
scanf("%ld",&num);
if (num>9999) n=5;
else if(num>999) n=4;
else if(num>99) n=3;
else if(num>9) n=2;
else n=1;
n3=num/100%10; /*取百位*/
n4=num/10%10; /*取十位*/
n5=num%10; /*取个位*/
printf("\n 原数据 num=%ld\n",num);
printf(" 反序数为: ");
switch(n)
{ case 1: printf("%d\n",n5); break;
case 2: printf("%d%d\n",n5,n4); break;
case 3: printf("%d%d%d\n",n5,n4,n3); break;
case 4: printf("%d%d%d%d\n",n5,n4,n3,n2); break;
case 5: printf("%d%d%d%d%d\n",n5,n4,n3,n2,n1); break;

}
n1=num/10000; /*取万位*/
n2=num/1000%10; /*取千位*/
[转] 郑州大学09级C语言实验报告答案(实验5——实验14)
转载自 真诚★相约 转

载于2010年05月05日 17:16 阅读(3) 评论(0) 分类: 大学生活
举报


实验五 循环(一)
1、参看谭浩强(第三版)P114-115
2、main()
{ int i , j;
for (i=1 ; i<11; i++)
{for (j=1; j<=40-i ; j++) printf(" ");
for (j=1; j<=2*i-1;j++) printf("%d",i-1);
printf("\n"); }
3、main()
{ int p=1; /*说明符号位*/
long n;
float t=1.0/3.0 ,sum=1-1.0/3.0;
for( n=3 ; t>=1.0e-5; n++)
{ t=1.0/(n*n+1); sum=sum+p*t ; p=-p; }
printf("\n sum= %f \n",sum);}
}
4、main()
{ char c;
int k;
int n1=0,a1=0,u1=0; /*分别存放数字、字母及其它字符个数*/
printf("\n Input 30 chars:");
for (k=1; k<=30; k++)
{ scanf("%c",&c);
if (c>=‘A’&&c<=‘Z’|| c>=‘a’&&c<=‘z’) a1++;
else if(c>=‘0’ && c<=‘9’) n1++;
else u1++;
}
printf("\n 0~9=%d; A~Z a~z=%d ; otherwise=%d\n",n1,a1,u1);
}
5、main()
{ int i;
long int f1, f2;
f1=0; f2=1;
for (i=1; i<=10; i++)
{ printf("%12ld %12ld",f1,f2);
if (i%2==0) printf("\n"); /*输出两次后换行*/
f1=f1+f2; f2=f2+f1;
}
}
实验六 循环(二)
1、main()
{ float sum=0,mul=1;
int i;
for(i=1;i<=10;i++)
{ mul*=i;
sum+=mul;
}
printf("\n 1!+2!+3!+4!+...+10!=%f\n",sum);
}
2、main()
{ int k,m;

for( k=1; k<=9; k++)
{ for (m=1; m<=k; k++) printf("%d*%d=%-2d ",m,k,m*k);
printf("\n");} }
3、main()
{ int i , j;
for (i=1 ; i<5 ; i++)
{for (j=1; j<=40-i ; j++) printf(" ");
for (j=1; j<=2*i-1;j++) printf("*");
printf("\n");
}
for (i=3 ; i>0 ; i--)
{for (j=1; j<=40-i ; j++) printf(" ");
for (j=1; j<=2*i-1;j++) printf("*");
printf("\n"); } }
4、main()
{ int x,y,z;
printf("\n 大公鸡 母鸡 雏鸡");
for (x=0; x<20; x++)
for (y=0;y<34;y++)
{ z=100-x-y;
if (z%3!=0) continue;
if (5*x+3*y+z/3==100)
printf("\n%8d %8d %8d",x,y,z);} }
5、main()
{ long s=0,sn=0;
int k, n;
printf("\n Input n=");
scanf("%d",&n);
for (k=1; k<=n ; k++)
{ sn=sn+k;
s=s+sn;
}
printf("\n n=%d ; s=%ld \n",n,s);
}

实验七 数组(一)
1、用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行3个数。
#include
void main()
{ int a[15],i;
for (i=0; i<15; i++)
{ a[i]=rand();
/* 产生-90~32767之间的随机整数*/
if(a[i]<0) a[i]= -a[i];
a[i]=a[i]%101;
if(i%5==0) printf("\n");
printf("%8d ",a[i]); }
}
2、求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。
#define N 10
voi

d main()
{ float a[N]={78,86,65,55,91,83,78,90,69,81};
float max=0,min=100,avg=0;
int i, num=0;
for (i=0; i{ if(a[i]>max) max=a[i];
if(a[i]avg=avg+a[i];
}
avg=avg/N;
for (i=0; iavg) num++;
printf("\n max=%.2f, min=%.2f\n",max,min);
printf("\n > %.2f=%d\n",avg,num);
}
3、使用数组,求出下列数列的前20项:1, 1, 2, 4, 7, 13, ……
void main()
{ long a[20]={1,1,2};
int i;
for(i=3;i<20;i++) a[i]=a[i-1]+a[i-2]+a[i-3];
for(i=0;i<20;i++)
{ if(i%5==0) printf("\n");
printf("%9ld ",a[i]);}
}
4、将一个一维数组反序放置 如:
a={67,89,76,98.66}反序放置后 a={66,98,76,8967}
#define N 5
void main()
{ int a[N]={67,89,76,98,66}, i, k;
for(i=0; i{ k=a[i];
a[i]=a[N-i-1];
a[N-i-1]=k;
}
printf("\n a={%d",a[0]);
for(i=1;iprintf("}\n");
}
5、有10个学生一门课程成绩,使用选择排序法将成绩由高向低排序.
#define N 10
void main()
{int a[N]={67,89,76,98,66,55,77,79,96,89};
int i, j, p, k;
for(i=0; i{ p=i;
for ( j=i+1; jif (a[p]if (p!=i)
{ k=a[i]; a[i]=a[p]; a[p]=k; }
}
for( i=0; iprintf("%4d", a[i]);
}
实验七 数组(二)
1、将一个一维数组a[9]中各元素值按行的顺序放入二维数组b[3][3]中。
void main()
{int a[9]={1,2,3,4,5,6,7,8,9},b[3][3],i,j,k=0;
for (i=0;i<3;i++)
{ for (j=0; j<3; j++)
{ b[i][j]=a[k++];
printf("%8d",b[i][j]);
}
printf("\n");}
}
2、有一m×n矩阵,各元素由随机数产生,将矩阵增加一列,求矩阵每一行的元素值之和,并将它放入增加列.
#include
#define m 3
#define n 4
void main()
{ long a
?[n+1];
int i,j;
for (i=0;i{ a[i][n]=0;
for(j=0;ja[i][n]=a[i][n]+a[i][j]; printf("%8ld",a[i][j]);}
printf(" %8ld \n",a[i][n]);}
}
3、有一m×n矩阵,找出最大元素值及其所在的行、列位置。


#include
#define m 3
#define n 4
main()
{ long a
?[n];
int i,j,row=0,col=0;
for (i=0;i{ for (j=0; j{a[i][j]=rand();
printf("%8ld",a[i][j]);
if (a[row][col]{ row=i;col=j; }
}
printf("\n");
}
printf("\n max=%ld row=%d col=%d \n",a[row][col],row+1,col+1);
}
4、有n个考生,每个考生有考号和总分成绩,如果录取m人,确定录取分数线并输出被录取考生的考号和成绩。
void main()
{ float a[100][2],temp,temp1; int i,j,p,n;
printf("\n input number of student n=");
scanf("%d",&n);
for (i=0;i{ printf("\n input num,score of %dth student:",i+1);
scanf("%f,%f",&temp1,&temp);

a[i][0]=temp1;a[i][1]=temp;
}
for (i=0; i{ p=i;
for (j=i+1; jif (p!=i)
{ temp=a[p][1];a[p][1]=a[i][1];a[i][1]=temp;
temp=a[p][0];a[p][0]=a[i][0];a[i][0]=temp; }
}
printf("\n input admittable number:");scanf("%d",&p);
printf("\n output name list: \n");
for (i=0; i

printf("%10.0f %10.1f\n",a[i][0],a[i][1]);
}
5、将矩阵m(n,n)对角线上的元素置为1,他置0.
#define n 10
void main()
{ int a[n][n]={0}, i, j;
for(i=0;i{ a[i][i]=1;
a[i][n-1-i]=1;
for(j=0;jprintf("\n"); }
}
实验十四 文件
1、 打开"开始---程序----附件----记事本"
输入:
1001 zhangsan 78 90 89
1002 lisi 99 88 77
1003 wangwu 89 76 55
1004 zhaoliu 53 55 44
存在e盘根目录下,文件名为chengji
2、#include
#include
#define N 5
main( )
{
FILE *fp;
int num,sc1,sc2,sc3,score,i;
char name[10];

if((fp=fopen("e:\\chengji.txt","r"))==NULL)
{ printf("Error");
exit(0);
}
for (i=1;i<=N;i++)
{ fscanf(fp,"%d%s%d%d%d\n",&num,name,&sc1,&sc2,&sc3);
score=sc1+sc2+sc3;
printf("%6d%10s%6d%6d%6d%6d\n",num,name,sc1,sc2,sc3,score/3);
}
fclose(fp);}
3、#include
#include
#define N 5
struct student
{
int num;
char name[10];
int score;
char dianhua[10];
};
main( )
{
FILE *fp;
int i;
struct student stu[N];
clrscr();
if((fp=fopen("e:\\xuesheng.txt","w"))==NULL)
{ printf("Error");
exit(0);
}
for (i=0;i{ scanf("%d%s%d%s",&stu[i].num,stu[i].name,&stu[i].score,stu[i].dianhua);
fprintf(fp,"%6d%10s%6d%10s\n",stu[i].num,stu[i].name,stu[i].score,stu[i].dianhua);}
fclose(fp);}
4、 #include
#include
#define N 5
struct student
{
int num;
char name[10];
int score;
char dianhua[10];
};
main( )
{
FILE *fp;
int i,xuehao;
struct student stu[N];
clrscr();
if((fp=fopen("e:\\xuesheng.txt","r"))==NULL)
{ printf("Error");
exit(0);
}
scanf("%d",&xuehao);
for (i=0;i{ fscanf(fp, "%d%s%d%s\n",&stu[i].num,stu[i].name,&stu[i].score,stu[i].dianhua);
if(stu[i].num==xuehao)
printf("%6d%10s%6d%10s\n",stu[i].num,stu[i].name,stu[i].score,stu[i].dianhua);
}
fclose(fp);
}
5、
#include
#include
void main( )
{
FILE *fp1,*fp2;
char ch;
if(( fp1=fopen("c:\\tc\\file4.c", "r"))==NULL) //以读文本文件方式打开原有文件
{ printf("Error");
exit(0);
}
if(( fp2=fopen("c:\\tc\\file5.c", "w"))==NULL) //以写文本文件方式打开目标文件
{ printf("Error");
exit(0);
}
ch=fgetc(fp1);
while(ch!=EOF)
{
fputc(ch,fp2); //把该字符写入目标磁盘文件
ch

=fgetc(fp1); //从原有磁盘文件中读一个字符
}
fclose(fp1);
fclose(fp2);
}
6、
#include
#include
#include
#define N 5
void main( )
{
FILE *fp;
int num,jd1,jd2,jd3,jd4,jidu,i;



相关文档
最新文档