您的位置:首页 > 编程语言 > C语言/C++

郑州大学C语言实验报告册

2015-12-08 23:38 513 查看

zzu c 语言实验报告册总结

鉴于郑州大学c程序报告网上无完整答案,故将后面没有答案的部分补充,以供同学参考。


for循环的使用

9.1
#include<stdio.h>
void main()
{
int m=3,n=5,s=1,k=1,i,l=1;
for(n=1;n<=5;n++)
s=s*n;
for(m=1;m<=3;m++)
k=k*m;
for(i=1;i<=(5-3);i++)
l=l*i;
printf("%d",s/k/l);
}


数组的使用

9.2
#include<stdio.h>
# define n 20
void main()
{
int a
,i,FS=0;float V;
a[0]=1,a[1]=1;
for(i=2;i<n;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<n;i++)
FS=FS+a[i];
V=FS*1.0/n;
printf("%d %f",FS,V);
}


函数的使用

9.3
#include<stdio.h>
#include<math.h>
# define n 10
void main()
{
double f(double x);
double s(double x,double y,double h);
double a=0,b=3.14159,di,sn=0,r[n+1];
int i;
di=(b-a)/n;
r[0]=a;
for(i=1;i<=n;i++)
r[i]=r[i-1]+di;
for(i=0;i<n;i++)
sn=sn+s(f(r[i]),f(r[i+1]),di);
printf("%0.3f",sn);
}
double f(double x)
{double f;
f=sin(2*x)+x;
return(f);}
double s(double x,double y,double h)
{double s;
s=(x+y)*h/2;
return(s);}


break函数的使用

9.4
#include<stdio.h>
void main()
{   int judge(int m);
int i=1,k;
for(k=99;k>=1;k--)
{if(judge(k))
{printf("%d\n",k);i++;}
if(i==4) break;}
}
int judge(int m)
{int i,re=1;
for(i=2;i<m;i++)
if(m%i==0)
{re=0;break;}
return(re);}


while循环的使用

9.5
#include<stdio.h>
#include<math.h>
void main()
{
double f(double x);
double f1(double x);
double a=1.0;
do
{a=a-f(a)/f1(a);}
while (fabs(f(a))>1.0e-5);
printf("%f",a);
}

double f(double x)
{  double f;
f=x*x*x*x*x+2*x*x*x-x*x+x+1;
return(f);}
double f1(double x)
{  double f1;
f1=5*x*x*x*x+6*x*x-2*x+1;
return(f1);}


if函数的使用

9.6
#include<stdio.h>
#define n1 100
#define n2 200
void main()
{
int i,s=0;
for(i=n1;i<=n2;i++)
if(i)
s=s+i;
printf("%d",s);
}
int judge(int m)
{int i,re=1;
for(i=2;i<m;i++)
if(m%i==0)
{re=0;break;}
return(re);}


元素的交换

11.1
#include<stdio.h>
void main()
{void swap(int *p1,int *p2);
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
swap(&a,&b);
if(a>c)
swap(&a,&c);
if(b>c)
swap(&b,&c);
printf("%d %d %d",a,b,c);
}
void swap(int *p1,int *p2)
{int temp;
temp=*p1;*p1=*p2;*p2=temp;}


调用键盘输入

11.2
#include<stdio.h>
void main()
{int n,i;
float a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%f",&a[i]);
for(i=0;i<n;i++)
printf("%5.2f  ",*(a+n-1-i));
}


指针的简单使用

11.3
#include<stdio.h>
void main()
{float a=3,b=2;
float *p1,*p2;float temp;
p1=&a;p2=&b;
temp=*p1;*p1=*p2;*p2=temp;
printf("%0.2f %0.2f",a,b);
}


字符串数组

11.4
#include<stdio.h>
void main()
{int n;
char *p[]={"January","February","March","April","May",
"June","July","August","September","October","November","December"};
scanf("%d",&n);
printf("%s\n",p[n-1]);
}


使用指针交换

11.5
#include<stdio.h>
void main()
{void swap(int *p1,int *p2);
int i,j;
int a[10]={653,29,6,78,222,2,827,8,2,99};
for(i=0;i<=9;i++)
for(j=i;j<=9;j++)
if(a[i]<a[j])
swap(&a[i],&a[j]);
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
}
void swap(int *p1,int *p2)
{int temp;
temp=*p1;*p1=*p2;*p2=temp;}


字符串命令gets()的使用

11.6
#include<stdio.h>
void main()
{
char str[1000];char *p=str;int i;
gets(str);
printf("%s",p);
}


strlen()的使用

11.7
#include<stdio.h>
#include<string.h>
void main()
{
char a[]="liuyangwangbadan   ";
printf("%d",strlen(a));
}


字符比较命令的使用

11.8
#include<stdio.h>
#include<string.h>
#define m 100
#define n 3
void main()
{
char a[m],b
,c
;
int i,num=0,d,j;
gets(a);
gets(b);//b
只能输入n-1个数,因为"\o",占了一个长度
for(i=0;i<m-n;i++)
{for(j=0;j<n-1;j++)
{
*(c+j)=*((a+i)+j);
d=strcmp(b,c);
if(d==0)
num++;}
}
printf("%d\n",num);

}


二维数组的使用

12.1
#include<stdio.h>
void main()
{
float a[2][3];int i,j;
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
scanf("%f",&a[i][j]);
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
printf("%3.0f",a[i][j]);
printf("\n");}
}


利用数组找最大值和最小值

12.2
#include<stdio.h>
void main()
{
int a[3][6],max,min,i,j,maxi,maxj,mini,minj;
for(i=0;i<=2;i++)
for(j=0;j<=5;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=5;j++)
{if(a[i][j]>max)
{
max=a[i][j];maxi=i;maxj=j;
}
if(a[i][j]<min)
{
min=a[i][j];mini=i;minj=j;
}
}
printf("%d %d %d\n%d %d %d\n",max,maxi,maxj,min,mini,minj);
}


求学生平均值和挑选满足条件的学生

12.3
#include<stdio.h>
void main()
{
int a[3][4],s,i,j;double ave[3];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=2;i++)
{{ s=0;
for(j=0;j<=3;j++)
s=s+a[i][j];}
ave[i]=s/4.0;}
printf("%5.2f,%5.2f,%5.2f",ave[0],ave[1],ave[2]);
for(i=0;i<=2;i++)
{for(j=0;j<=3;j++)
if(a[i][j]<60)
{printf("\n第%d个学生超过一门课程不及格\n",i+1);break;}
}
}


条件表达式的使用

12.4
#include<stdio.h>
void main()
{   int *readd(int x,int y);
*readd(9,11);
printf("%d",readd(9,10));
}
int *readd(int x,int y)
{int*p=&x;int*q=&y;
return((x>y)?p:q);
}


strcpy()函数的使用

12.5
#include<stdio.h>
#include<string.h>
void main()
{  char a[5][10];char b[10]={'0','0','0','0','0'};int i;
for(i=0;i<=4;i++)
gets(a[i]);
for(i=0;i<=4;i++)
{if(strcmp(b,a[i])<0)
strcpy(b,a[i]);}
printf("%s",b);
}


文件的读写,我就都写在一块了哈。

14.1
在d盘根目录下右键单击新建一个名为“chengji”的文本文档输入如下数据并保存
1001 zhangsan 78 90 89

1002 lisi 99 88 77

1003 wangwu 89 76 55

1004 zhaoliu 53 55 44
14.2
#include <stdio.h>

#include <stdlib.h>

#define  N  5

main( )

{

FILE *fp;

int num,sc1,sc2,sc3,score,i;

char name[10];

if((fp=fopen("d:\\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);//向fp指向的文件中
//按格式读取数据

}

fclose(fp);}
14.3
14.4
结构体不做要求。
14.5
14.5
#include <stdio.h>

#include <stdlib.h>

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

}
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[100][5],b[100],i,j;FILE *fp;
for(i=0;i<=99;i++)
for(j=0;j<=4;j++)
a[i][j]=(rand()%500+1);
fp=fopen("D:\\1.0.txt","w+");
for(i=0;i<=99;i++)
{{for(j=0;j<=4;j++)
fprintf(fp,"%d  ",a[i][j]);}
fprintf(fp,"\n");}
fclose(fp);
if((fp=fopen("D:\\1.0.txt","r"))==NULL)
{
printf("cannot find what you need,please check it!");
exit(0);
}

for(i=0;i<=99;i++)
{int a=0,b=0,c=0,d=0,f=0;
fscanf(fp,"%d%d%d%d%d",&a,&b,&c,&d,&f);
printf("%d\t",b+c+d+f);}
fclose(fp);
}
15.1
#include<stdio.h>
void main()
{
int i;
for(i=2;i<=17;i++)
{printf("%2d ",i);
if((i-1)%4==0)
printf("\n");}
}


最后,祝同学们逢考必过。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: