c程序设计实验指导与测试(第四版)所有示例代码_第1页
c程序设计实验指导与测试(第四版)所有示例代码_第2页
c程序设计实验指导与测试(第四版)所有示例代码_第3页
c程序设计实验指导与测试(第四版)所有示例代码_第4页
c程序设计实验指导与测试(第四版)所有示例代码_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生实验报告实验课程 算法语言与程序设计 学院名称 管理科学学院 专业名称 信息与计算科学 学生姓名 学生学号 201407020100 指导教师 王玉兰 实验地点 数学应用与计算机仿真实验教学示范中心 实验成绩 二 一五 年 三 月 二 一五 年 六 月填写说明1、 适用于本科生所有的实验报告(印制实验报告册除外);2、 专业填写为专业全称,有专业方向的用小括号标明;3、 格式要求: 用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准);页码用小五号字底端居中。 具体要求:题目(二号黑体居中);摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体);关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题;第1章 (小二号黑体居中,段前0.5行)1.1 小三号黑体(段前、段后0.5行)1.1.1小四号黑体(段前、段后0.5行)参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照参考文献著录规则(GB/T 77142005)。目 录目录目 录3第一章 程序调试41、修改程序42、实验项目53、测试5第二章 C语言基础61、修改程序62、实验项目63、测试8第三章 控制结构91、实验项目92、测试13第四章 数组151、实验项目152、测试20第五章 指针231、实验项目232、测试27第六章 函数291、实验项目292、测试36第七章 文件391、实验项目392、测试43第八章 结构体与共用体461、实验项目462、测试47教师评阅53第一章 程序调试1、修改程序【实验1-1】源代码:#include int main(void) int a, b, sum; a=40; b=50; sum=a+b; printf(Hello, C! n); printf(Sum is %d n, sum); return(0);运行结果:【实验1-2】源代码:#include int main(void) float aver; int n1=90,n2=85,n3=88,n4=79,n5=95; aver=(n1+n2+n3+n4+n5)/5; printf (5aver = %0.2f n, aver); return(0);运行结果:2、实验项目无3、测试【ts1-1】源代码:#include int main(void) int x, y, z; x=5, y=8; z=x+y; printf (x=%d,y=%d,z=%dn,x,y,z); return(0);运行结果:【ts1-2】源代码:#include int main(void) int a=2, b=3; float x=8.2, y=9.2, z; z=x/2 + y/b; printf (z=%0.2fn, z); return(0);运行结果:第二章 C语言基础1、修改程序【实验2-1】源代码:#include int main(void) int x, y, sum;printf(input X:);scanf(%d,&x);printf(input Y:);scanf(%d,&y);sum=x+y; printf (sum=%dn, sum);return(0);运行结果:2、实验项目【实验2-2】源代码:#includevoid main()int s1,s2,s3,s4,s5;float a;printf(请输入五门课的成绩:);scanf(%d%d%d%d%d,&s1,&s2,&s3,&s4,&s5);a=(s1+s2+s3+s4+s5)/5.0;printf(平均分:%0.2f n,a);运行结果:【实验2-3】源代码:#includevoid main()printf(-n);printf(1. Enter datan);printf(2. Data processingn);printf(3. Endn);printf(-n);运行结果:【实验2-4】源代码:#includeint main(void) int a,b,c,d,e,w=1,x=2,y=3,z=4; a=b=c=1; d=+a|+b&+c; e=wx&yz; printf(a=%d,b=%d,c=%d,d=%d,e=%dn,a,b,c,d,e); return(0);运行结果:3、测试【2-1】源代码:#includeint main(void) char c1,c2; printf(nEnter a character:); scanf(%c,&c1); c1=c1-32; c2=c1+1; printf(nResult isn %c %c, c1,c2); printf(n%4d%4d,c1,c2); return(0);运行结果:【2-2】源代码:#include int main(void) double t=1.0; t+=1/2.0+1/3.0+1/4.0+1/5.0; printf(nThe result is %fn,t); return(0);运行结果:第三章 控制结构1、实验项目【实验3-1】源代码:#includeint main () int a;printf(-);printf( n 1. Enter data n 2. Data processing n 3. End n);printf(-n);printf( selet your number: n);scanf(%d,&a);switch(a) case 1: printf(Enter data n);break;case 2: printf(Data processing n);break;case 3: printf(End n);break; default : printf(error!);运行结果:【实验3-2】源代码:#includeint main () int i=0,a5,b=0; float c; printf(输入五个分数:); for(i=0;i5;i+) scanf(%d,&ai); for(i=0;i5;i+) b+=ai; c=b/5.0; printf(平均分:%3.2fn 大于平均成绩的:,c); for(i=0;ic) printf(%3d ,ai); 运行结果:【实验3-3】源代码:#includeint main ()int a,g,s,b;for(b=1;b=9;b+)for(s=0;s=9;s+)for(g=0;g=9;g+)a=g*g*g+s*s*s+b*b*b;if(a=b*100+s*10+g) printf(%dt,a);printf(n);运行结果:【实验3-4】源代码:#includeint main ()int a, i,j;printf(*t);for(a=1;a=9;a+) printf(%dt,a);printf(-n);for(i=1;i=9;i+)printf(%dt,i);for(j=1;j=i;j+)printf(%dt,j*i);printf(n);运行结果:【实验3-5】源代码:#includeint main ()char ch;int ch_num=0,dig_num=0,oth_num=0;do scanf(%c,&ch);if(ch=a) ch_num+=1;else if (ch=A) ch_num+=1;else if (ch=0) dig_num+=1;else oth_num+ ;while (ch!=n);printf(字母:%dn 数字:%dn其他:%dn,ch_num,dig_num,oth_num-1);return(0);运行结果:【实验3-6】源代码:#include#includevoid main()float x1,x2,x0,f0,f1,f2;printf(输入 X1 X2n);scanf(%f%f,&x1,&x2);while(1)f1=2*x1*x1*x1-4*x1*x1+3*x1-6;f2=2*x2*x2*x2-4*x2*x2+3*x2-6;x0=(x1+x2)/2;f0=2*x0*x0*x0-4*x0*x0+3*x0-6;if(f0*f10)x2=x0;elsex1=x0;if(fabs(f0)=1e-5)break;printf(结果%fn,x0);运行结果:【实验3-7】源代码:#includevoid main()int i,j,k,n,m;scanf(%d,&n);m=0;for(i=1;in+1;i+)for(j=0;jn-i;j+) printf( );for(k=1;k=(2*i-1);k+)if(k=i) printf( %d,k);elsem+;printf( %d,k-2*m);m=0;printf(n);运行结果:2、测试【填空3-1】源代码:#include #include int main(void) int num=0,g,s,b; printf(nInput data :); scanf(%d,&num); printf(nThe result is: ); g=num%10; s=num/10%10; b=num/100; if(g+b)=s) printf(YESn); else printf(NOn); return(0);运行结果:【改错题3-2】源代码:#includeint main(void) int k,m=0,mc=0, j; printf(nEnter data: ); scanf(%d,&k); while(k=2)&(mc6) if(k%7=0)|(k%11=0) m+=k; mc+; k-; printf(nresult is %dn,m); return(0);运行结果:【编程题3-3】源代码:#include#includemain() int n=1,count=0; float x; double sum ,term; printf(input x:); scanf(%f,&x); sum=x; term=x; do term=-term*x*x/(n+1)*(n+2); sum=sum+term; n=n+2; count+; while (fabs(term)=1e-5); printf(sin(x)=%f,count=%dn,sum,count);运行结果:第四章 数组1、实验项目【实验4-1】源代码:#includeint main()int a50,i=2,b;a0=1;a1=1; for(i=2;i16;i+) ai=ai-1+ai-2;for(b=0;b16;b+) printf(%6d,ab);if(b+1)%4=0) printf(n);运行结果:【实验4-2】源代码:#includeint main()int a10 ,i,b=0;printf(输入五门课程成绩 :n); for(i=0;i5;i+) scanf(%d,&ai); /输入无门课程成绩for(i=0;i5;i+) b+=ai; /计算总分b=b/5;/计算平均数for(i=0;ib) printf(序号:%d 成绩: %dn,i,ai);运行结果:【实验4-3】源代码:#includeint main()int a35,i,j;float b3=0,0,0;for(i=0;i3;i+)printf(输入第%d名学生的五门成绩:n,i+1);for(j=0;j5;j+)scanf(%d,&aij);for(i=0;i3;i+)/计算平均分for(j=0;j5;j+)bi=bi+aij; for(i=0;i3;i+) bi/=5.0; for(i=0;i3;i+) printf(第%d位同学的平均分%2.2fn,i+1,bi); 运行结果:【实验4-4】源代码:#include#includeint main()char classes615=Wang Wu,Zhang San,Li Si,Zhao Liu,Ding Yi,Qian er;char name15;int i,b;printf(输入名字:);gets(name);for(i=0;i6;i+) if(strcmp(name,classesi)=0) printf(%s是n,name); b=1; break; b=0; if(b=0)printf(%s不是n,name);运行结果:【实验4-5】源代码:#includevoid main()char a12=abcdefklmnp,ch;int top,bot,mid;printf(Input a character :);scanf(%c,&ch);bot=0;top=10;for(;botamid) bot=mid+1;else top=mid-1;if(bottop)printf(This character not in a );运行结果:【实验4-6】源代码:#include#define N 30void main()int i=0;long n;char strN;printf(Inputs a posivite integer:);scanf(%ld,&n);while(n0)stri=n%10+0;n=n/10;i+;stri=0;printf(%sn,str);运行结果:2、测试【填空题4-1】源代码:#include#include#define N 20int main(void)int aNN;int n,i,j,k;double s=0,aver=0;printf(nInput the dimension of array N: );scanf(%d,&n);printf(* The array *n);for(i=0;in;i+)for(j=0;jn;j+)aij=rand()%10;printf(%4d,aij);if(i=0|j=0|i=n-1|j=n-1)s+=aij;printf(n);k=4*(n-1);aver =s/k;printf(* THE RESULT *n);printf(The average is %2.3fn,aver);return(0);运行结果:【改错题4-2】源代码:#include int main(void) int i, j; char s80; printf(nEnter a string: ); gets(s); printf(The original string: ); puts(s); for(i=j=0; si!=0;i+) if(si!=S) sj=si;j+; sj=0; printf(The string after deleted: ); puts(s); return(0);运行结果:【编程题4-3】源代码:#includevoid main()int i=0,j;char str100;int num27=0;printf(input str:);gets(str);while(stri!=0)j=stri-a;numj=numj+1;i+;for(j=0;j26;j+) printf(%d ,numj);运行结果:【完善程序4-4】源代码:#include#include#define N 10int main(void) int i; double xN=92.0,85.0,56.0,75.0,82.0,79.0,65.0,91.0,89.0,56.0; double x1=0.0,s=0.0; for(i=0;i10;i+) x1+=xi; x1/=10; for(i=0;i10;i+) s+=pow(xi-x1),2); s/=10; s=sqrt(s); printf(%fn,s); return(0);运行程序:第五章 指针1、实验项目【实验5-1】源代码:#include#define N 10int main(void) int xN,*p1,*p2,i;for(i=0;iN;i+) scanf(%d,x+i); for(p1=x,p2=x;p1-x*p2) p2=p1; printf(MAX=%d,INDEX=%dn,*p2,p2-x);return(0);运行结果:【实验5-2】源代码:#include#define M 20int main(void) int i,xM,n, m, *p,*k,*j; printf(nEnter n:); scanf(%d,&n); printf(nEnter array xi(i=0%d):,n-1); for(i=0;in;i+) scanf(%d,x+i); printf(n); m=n/2; k=x; j=x+n-1; p=x+m; for(;k=p;k+,j-) int t=*k; *k=*j;*j=t; printf(nThe array inverted:n); for(i=0;in;i+) printf(%d ,xi); return(0);运行结果:【实验5-3】源代码:#include#includeint main(void) char ch80,*c; int d,k=0;printf(nPlease input a string:); gets(ch); c=ch; for(;*c;c+) if(k) if(*c= ) k=0; *(c-1)=toupper(*(c-1); else k=1; printf(nResult is: %sn,ch);return(0);运行结果:【实验5-4】源代码:#include#define N 80int main(void)int i=0,j=0,n; char strN,*p=str;printf(nEnter a string:);scanf(%s,str);while(*(p+i)if(*(p+i)=A)strj=*(p+i);j+;i+; strj=0;printf(%s n,str);return(0);运行结果:【实验5-5】源代码:#include#includeint main()int *p,n;int i,j;float ave=0;printf(输入学生数n:);scanf(%d,&n);p=(int *)malloc(n*5*sizeof(int);if(p=NULL) printf(ERROR);exit(0);for(i=0;in;i+)printf(输入第%d名学生的五门成绩:n,i+1);for(j=0;j5;j+)scanf(%d,p+5*i+j);for(i=0;in;i+)/计算平均分for(j=0;j5;j+)ave+=*(p+i*5+j);printf(第%d位同学的平均分%2.2fn,i+1,ave/5);ave=0;运行结果:【实验5-6】源代码:#includeint main(void)int base=0; char str80, *p=str; printf(Input the binary numbern); gets(str); while(*p!=0)base=base*2+*p-48;p+; printf(%dn, base); return(0);运行结果:2、测试【填空题5-1】源代码:#include#includeint main(void)char str50,*p1,*p2;int i, t=0;printf(Input:);scanf(%s,str);p1=str;p2=str+strlen(str)-1;for (i=0;i=(strlen(str)-1)/2;i+)if (*p1!=*p2)t=1;break;if(t!=1) printf(%sn,yes!);elseprintf(%sn,no!);return(0);运行结果:【改错题5-2】源代码:运行结果:【填空题5-3】源代码:#include #include int main(void) char *p,str100; long int n=0; int flag=1; p=str; printf(Enter a string:n); gets(p); while(*p!=0) if(*p=-) flag=-1; p+; n=n*10+*p-48; p+; printf(%ldn,n*flag); return(0);运行结果:第六章 函数1、实验项目【实验6-1】源代码:#includefloat aver (float b,int n );int main(void) float ave,a10; int i; for (i=0;i10;i+) scanf (%f,&ai); ave =aver(a,10) ; printf (average =%6.2fn, ave);return(0);float aver (float b,int n ) int i ; float max,min,sum ; max=min=sum=b0 ; for (i=1;imax ) max=bi ; else if ( bimin ) min=bi ; sum=sum+bi ; printf (max=%6.2fn min=%6.2fn,max,min); return (sum/n) ; 运行结果:【实验6-2】源代码:#include int main(void) int a,b,x; int gcd(int,int); printf(Enter a,b: ); scanf(%d%d,&a,&b); x=gcd(a,b); printf(%d,x); return(0);int gcd(int u,int v) int t;while(u%v!=0)t=u%v;u=v;v=t;return(v);运行结果:【实验6-3】源代码:#include int main(void) int a,b,x; int gcd(int,int); printf(Enter a,b: ); scanf(%d%d,&a,&b); x=gcd(a,b); printf(%d,x); return(0);int gcd(int u,int v)if(u%v=0)return v;elsereturn (gcd(v,u%v);运行结果:【实验6-4】源代码:#include #includeint main(int argc,char *argv) int a,b,x; int gcd(int,int); a=atoi(argv1); b=atoi(argv2); printf(a=%d b=%dn,a,b); x=gcd(a,b); printf(gcd=%d,x); return(0);int gcd(int u,int v) int t;while(u%v!=0)t=u%v;u=v;v=t;return(v);运行结果:【实验6-5】源代码:#include #includevoid invert(int a,int n) int i,w,nn=n/2; for(i=0;i0)break; a=(int *)malloc(n*sizeof(int); if(a=NULL) printf(allocation error_aborting); exit(1); printf(Enter a0.a%d:,n); for(i=0; in; i+) scanf(%d,a+); invert(a,n); printf (the array has been invert:n); for(i=0;in;i+) if(i%5=0)printf(n); printf(%5d,*(a-n+i); return(0);运行结果:【实验6-6】源代码:#include#includefloat aver(int n,int m ,int *p);int main()int *p,n,i,j,m;printf(输入学生数n:);scanf(%d,&n);printf(输入科目数m:);scanf(%d,&m);p=(int *)malloc(n*m*sizeof(int);if(p=NULL) printf(ERROR);exit(0);for(i=0;in;i+)printf(输入第%d名学生的%d门成绩:n,i+1,m);for(j=0;jm;j+)scanf(%d,p+m*i+j);aver(n,m,p);float aver(int n,int m ,int *p)float ave=0;int i,j;for(i=0;in;i+)/计算平均分for(j=0;jm;j+)ave+=*(p+i*m+j);printf(第%d位同学的平均分%2.2fn,i+1,ave/m);ave=0;运行结果:【实验6-7】源代码:#include#define N 10int scoreN=11,22,33,44,55,96,87,78,69,10;int *Getmax();int main(void) int *p; p=Getmax(); printf(Max value in array is %dn,*p); return(0);int *Getmax() int t,i,position=0; t=score0; i=0; while(it) t=scorei; position=i; i+; return(&scoreposition);运行结果:【*实验6-8】源代码:#include#includeint fun(int n,int *p,int num);void main()int i,n,*p,num,rut;printf(数字的个数n:);scanf(%d,&n);p=(int*)malloc(n*sizeof(int);if(p=NULL) exit(0);printf(数字:);for(i=0;in;i+)scanf(%d,p+i);printf(输入要查找的数num:);scanf(%d,&num);rut=fun(n,p,num);printf(地址:%p 数值:%dn,p+rut,*(p+rut);int fun(int n,int *p,int num)int i,flag,*a;a=p;for(i=0;in;i+)if(*(a+i)=num)flag=i;return(flag);运行结果:2、测试【填空题6-1】源代码:#include#define N 20int bbN;int fun(char *p,char t)int i=0, n=0;while(*p)if (*p=t) bbn+=i;p+;i+;return (n);int main(void)char strN;char ch;int i, j,n;printf(nInput the original string: );gets(str);printf(nInput character :);scanf(%c,&ch);n=fun(str,ch);printf(nThe numbr of character is:%dn,n);printf(nThe suffix of character:);for(i=0;in;i+)printf(%d ,bbi);return(0);运行结果:【调试6-2】源代码:#include#include #inc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论