郑州大学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");} }
最后,祝同学们逢考必过。
相关文章推荐
- leetcode笔记:Word Search
- C++ 类的构造函数
- 我们学不会的C语言的最大敌人是谁?
- c++拾遗-----开始学习c++
- C++二叉树左右孩子的交换
- 汉诺塔(Hanoi Tower)步骤输出 C++
- C语言程序设计整理(3)
- C++Primer学习:模板特例化
- C++类成员函数的重载、覆盖和隐藏区别?
- C语言VS2010环境下打开文件容易出现的问题。
- C语言成长学习题(十六)
- VC++中的通知消息
- C++ 顺序容器
- C语言中二维数组的问题
- C++多态性
- 一起talk C栗子吧(第七十二回:C语言实例--DIY date命令)
- c语言复杂数据类型
- 队列
- c++函数返回引用
- C语言学习之路(1)