ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:653.40KB ,
资源ID:9855298      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9855298.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序设计基础C实验报告 2.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序设计基础C实验报告 2.docx

1、程序设计基础C实验报告 2程序设计基础C实验报告教学班级:112160204 学号:11216020402 姓名:曹四川课程教师:_肖朝辉_ 实验辅导教师:_肖朝辉_重庆理工大学计算机学院 2012年2月实验6 循环程序设计教学班级:112160204 学号:11216020402 姓名:曹四川实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、实验目的1. 了解C语言循环结构的使用范围。2. 学会正确使用逻辑运算符和逻辑表达式。3. 熟练掌握C语言的三种循环结构:whilc语句、do_while语句、for语句的特点和使用方法。4. 能够编写一些有实际应用意义的循环结构程序。二、实验内容1

2、基本内容题目1:编写一个自然数1至n的累加程序(如:1+2+3+n)。(使用goto语句)(文件名:f1.cpp): #include void main() int i,a,n; a=i=0; printf(“n=“); scanf(“%d”,&n); E: i+; a+=i; if (in) goto E; else printf(“n a=%d”,a); 输入10,程序运行结果是: a=55 把该程序用for循环语句进行改写 程序代码: #include void main() int i,n,sum=0; scanf(“n=%d”,&n);for(i=0;i=n;i+)sum=sum+

3、i;printf(“sum=%d”,sum); 题目2:计算135799+101的值(提示:注意符号的变化)(文件名:f2.cpp) #include void main() int i,t=1,s=0; /* t标识符号 */ for (i=1;i101; i+=2) /*error*/ s+=i*t; t= -t; printf(“s=%dn”,s); 修改:for(i=1;i=101;i+=2)以上程序运行结果不对,请将标有”erro”处改正。改正后,程序执行结果 s=51 题目3:阅读下列程序,预测其输出结果,并上机验证。(文件名:f3.cpp)#includevoid main()

4、int i=1,n; long s=1; scanf(%d,&n); while(i) s*=i; i+; if(in) break; printf(s=%ldn,s); 程序运行结果是: n=5 s=120 不使用break语句,此程序应如何修改? for(i=1;i=n;i+) 题目4:下面程序的功能是打印100以内个位数为6且能被3整除的所有数,选择合适的语句填入该空格中。(文件名:f4.cpp)#includevoid main() int i,j; for(i=0; i=10 ;i+) j=i*10+6; if( j%3!=0 ) continue; printf(%d,j);题目5

5、:编写一个把小写字母转换为大写字母的程序。要求敲入”/”,则停止转换。(文件名:f5.cpp) #include void main() char c,d; putchar(); do c=getchar(); c=(a=c)&(c); while(c!=/); /* 判断是否是”/”,则停止转换 */ 运行程序,输入2AabcEfgAB/程序运行结果是: 2AABCEFGAB/ 将第9行改为:if (c=n) 再运行程序,输入2AabcEfgAB/程序运行结果是: 2AABCEFGAB/ 2选择内容题目6:根据公式 求e的近似值,精度要求为10-6(文件名:f6.cpp)include vo

6、id main() int i; double e,n; e=1.0; n=1.0; for (i=1;n=1e-6;i+) n/=(double)i; e+=n; printf(“e=%fn”,e); 完善程序,运行结果: e=2.718282 题目7:打印出如下图案(文件名:f7.cpp)*#include void main()int i,j; for(i=1;i=4;i+) for(j=1;j=8-i;j+) /理解数字8的作用 printf( ); for(j=1;j=1;i-) for(j=1;j=8-i;j+) printf( ); for(j=1;j=2*i-1;j+) pri

7、ntf(* ); printf(n); 运行以上程序,验证实验结果。 模仿上面程序,打印出如下图案 1 2 2 2 3 3 3 3 3程序代码: #include void main() int i,j; for(i=1;i=3;i+)for(j=1;j=8-i;j+)printf(“ “)for(j=1;j=2*i-1;j+)print(“%d”,i);Printf(“n”);题目8:编写程序:打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153=13+53+33。(文件名:f6.cpp)int a,b,c,m,

8、m;for(a=1;a=9;a+)for(b=0;b=9;b+)for(c=0;c=9;c+)m=a*a*a+b*b*b+c*c*c;n=100*a+10*b+c;if(m=n)printf(“%d”,m);3、实验结果(用截图说明)1234567四、调试心得(选作)实验7,8 数组实验教学班级:_ 学号:_ 姓名:_实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、 实验目的1. 理解数组与普通变量的区别及特点;2. 掌握一维数组和二维数组的定义、赋值和输入输出的方法;3. 掌握字符数组和字符串函数的使用;4. 掌握与数组有关的程序与算法。二、 实验任务1基本内容实验7:题目1:阅读以下

9、程序(文件名:g1.cpp) #include void main() int i,s=0,a10=0,1,2,3,4,5,6,7,8,9; for(i=3;i7;i+) s=s+ai; printf(“s=%dn”,s); 程序的功能: 求a3到a6数组的和 程序运行结果: s=18 题目2:阅读以下程序(文件名:g2.cpp)#includevoid main() int k,s,i,a10=1,2,3,4,5,6,7,8,9,10; float ave; for(k=s=i=0;i10;i+) if(ai%2=0) continue;s+=ai;k+; if(k!=0) ave=s/k;

10、printf(“k=%d,ave=%fn”,k,ave); 程序的功能: 求奇数的和以及其和的平均数 程序运行结果: k=5,ave=5.000000 题目4:任意输入10个数,求其最大数和最小数。(文件名:g4.cpp)程序代码: #include void main() int a10,max,min,i; for(i=0;i10;i+) scanf(%d,&ai); max=min=a0; for(i=1;imax) max=ai; if(aimin) min=ai; printf(max=%d,max); printf(min=%d,min); 题目5:冒泡法对10个数排序(从小到大)

11、。(文件名:g5.cpp)#include void main() int a10;int i,j,temp; printf(Please input 10 numbers:n); for(i=0;i10;i+)scanf(%d,&ai); for(i=0;i9;i+) for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; printf(The sorted numbers:n); for(i=0;i10;i+) printf(%4d,ai);理解以上程序,并编辑运行程序。将程序中第7行的数字9改为10,编译运行程序,结果怎样? 将程序中第8行的数字9改为10

12、,编译运行程序,结果怎样? 实验8:题目2:输入一串字符,计算其中空格的个数。(文件名:h2.cpp)#include #include void main()char c30; int i,sum=0; gets(c); for(i=0;istrlen(c);i+) if(ci= ) sum=sum+1; printf(空格数为:%d n,sum);题目3:(文件名:h3.cpp)#includevoid main() int i,j,row,col,min;int a34=1,2,3,4,9,8,7,6,-1,-2,0,5;min=a00;row=col=0;for(i=0;i3;i+)f

13、or(j=0;j4;j+)if(aijmin) min=aij;row=i; col=j; printf(“min=%d,row=%d,col=%dn”,min,row,col);程序的功能: 求数组中最小的数 以及它的行标和列标 程序运行结果: min=-2,row=2,col=1 题目5:预测程序结果,并编辑、运行。(文件名:h5.cpp)#include void main() char s20,s120; scanf(“%s”,s); printf(“s=%sn”,s); scanf(“%s%s”,s,s1); printf(“s=%s,s1=%s”,s,s1); puts(“n”);

14、 gets(s); puts(s);2选择内容实验7:题目6:任意输入20个数在一维数组a中,求20个数的平均值。(文件名:g6.cpp) 程序代码: #include void main() int a20,s=0,i=0,ave; for(i=0;i20;i+) scanf(%d,&ai); for(i=0;i20;i+) s=s+ai; ave=s/20.0; printf(ave=%d,ave); 题目7:任意输入10个数,判断该哪些是素数,并输出该素数。(文件名:g7.cpp)程序代码: #include void main() int a10,j,i; for(i=0;i10;i+

15、) scanf(%d,&ai); for(i=0;i10;i+) for(j=2;j=ai-1;j+) if(ai%j=0) break; if(ai=j) printf(%5d,ai); printf(n); 实验8:题目8:用字符数组存储任意输入的10字符,求该10字符中最大字符。(文件名:h8.cpp) 程序代码: #include void main() char max, str11,i;scanf(“%s”, str); max=str0;for(i=1;imax) max=stri; printf(“%c”,max); 题目9:从键盘上任意键入一个3行4列的矩阵,要求输出其转置矩

16、阵。(文件名:h9.cpp) 程序代码: #include void main() int i,j,a34,b43;for(i=0;i3;i+)for(j=0;j4;j+)scanf(“%d”,&aij);for(i=0;i3;i+)for(j=0;j4;j+)bji=aij;for(i=0;i4;i+)for(j=0;j3;j+)printf(“%5d”,bji);printf(“n”); 题目10:有5个学生,考3门功课。求出每一个学生的总分及平均分,统计平均成绩低于 60 分的学生人数。(文件名:h10.cpp)程序代码: #include void main() int a53,sum

17、5,n=0,i,j; float ave5; for(i=0;i5;i+) sumi=0; for(j=0;j3;j+) scanf(%d,&aij); sumi+=aij; /i个同学总成绩 avei=sumi/3.0; for(i=0;i5;i+) printf(第%d个同学的总分是:%d,平均分是%fn,i+1,sumi,avei); if(avei60) n+; printf(不及格的人数是:%d,n);3、实验结果(用截图说明)1、2、4、5、2、3、5、6、7、8、9、10、四、调试心得(选作)实验9,10 函数实验教学班级:_ 学号:_ 姓名:_实验日期:_ 实验地点:_(机房)

18、 实验成绩:_ 一、 实验目的1. 理解函数定义的方法。2. 掌握函数实参与形参的对应关系,以及”参数传递”的方式;3. 掌握函数的嵌套调用和递归调用的方法;4. 掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。二、 实验任务1基本内容实验9:题目1:以下程序是求3个数中的最大值(文件名:i1.cpp)#includevoid main() int a,b,c,m; int max(int x,int y); /* 函数声明*/printf(“input a,b,c=“);scanf(“%d,%d,%d”,&a,&b,&c); M=(max(a,b)c)?max(a,b):c; p

19、rintf(“m=%dn”,m);int max(int x,int y) /*函数定义*/ int z; z=(xy)?x:y; return z; 完善程序,如果输入4,2,6,程序运行结果: m=6 题目2:(文件名:i2.cpp)#includevoid main() int a3=0,2,4,6,8,10,12,14,16,sum; int func(int a3); /*函数声明*/sum=func(a); printf(“n sum=%dn”,sum);int func(int a3) /*函数定义*/ int i,j,sum=0; for(i=0;i3;i+)for(j=0;j

20、3;j+) if(i=j) sum+=aij; return sum; 程序的功能: 数组a3求和 程序运行结果: sum=24 题目3:用子函数计算10名学生1门课成绩的平均分。(文件名:i3.cpp)#includefloat average(float array10) /* 注意数据类型的一致 */ int i; float aver,sum=0; for (i=0;i10;i+) sum+=arrayi; aver=sum/10; return (aver); void main() float score10,aver;int i;printf(“n input 10 scores

21、:”);for (i=0;i10;i+) scanf(“%f”,&scorei);aver=average(score10); /* error */printf(“n average score is %5.2fn”,aver); 程序中有“error”标注处有错误,请改正,并调试运行程序。 aver=average(score) 题目4:子函数中判断一个大于1的整数是否是素数,数据由主函数中输入,并在主函数中显示结果。(文件名:i4.cpp) #includevoid main() int number; printf(“请输入一个正整数:n”);scanf(“%d”,&number);i

22、f ( prime(number) ) printf(“n %d是素数:”,number);elseprintf(“n %d不是素数:”,number);int prime(int number) int flag=1,n;for (n=2; flag=1 & n=number/2;n+)if ( number%n=0 ) flag=0;return (flag); 完善以上程序,并调试运行。实验10:题目4:该程序使用了局部变量与全局变量,理解它们的使用方式。(文件名:j4.cpp)#includeint a=3,b=5;int max(int a,int b) int c; c=ab?a:

23、b; return c;void main() int a=8; printf(“%d”,max(a,b); 局部变量: int a=9和int a,int b,int c 全局变量: int a=4,b=6 程序运行结果: 8 题目5:以下是一个求1-10累加和的错误程序,请改正。(文件名:j5.cpp)#includevoid main() int i,s; for(i=1;i=10;i+) s=sum(i); printf(s=%dt,s);sum(int j) int x=0; /* error */ x+=j; return(x);改正为: static int x=0; 2选择内容

24、实验9:题目5:子函数实现一个字符串按反序存放,在主函数中输入和输出字符串。(文件名:i5.cpp) #include#include void main() void inverse(char str);char str100; printf(“输入字符串:n”); scanf(“%s”,str); inverse(str); printf(“转换后的字符串是:%sn”,str); void inverse(char str) char t; int i,j; for (i=0,j=strlen(str); istrlen(str)/2 ; i+,j-) t=stri; stri=strj-1; strj-1=t; 运行以上程序,输入1234567*,程序运行结果是: 7654321 。将inverse函数中的for语句改为 for (i=0,j=strlen(str); istrlen(str) ; i+,j-) 再运行以上程序,输入1234567*,程序运行结果是: 1234567* 。题目6:在一个数组A中存放100个数据,用子函数判断该数组中那些是素数,并统计该素数的个数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1