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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机作业.docx

1、计算机作业程序设计基础C实验报告教学班级:2 学号: 姓名:刘易培课程教师:张建勋 实验辅导教师:张建勋重庆理工大学计算机学院 2014年2月实验5 循环程序设计教学班级:2 学号: 姓名 刘易培实验日期:_2014-04-09_ 实验地点:_四教312_(机房) 实验成绩:_ 一、实验目的(1) 了解C语言循环结构的使用范围。(2) 学会正确使用逻辑运算符和逻辑表达式。(3) 熟练掌握C语言的三种循环结构:whilc语句、dowhilc语句、for语句的特点和使用方法。(4) 能够编写一些有实际应用意义的循环结构程序。二、实验内容1基本内容题目1:计算135799+101的值。(提示:注意符

2、号的变化)#includevoid main() int i,t=1,s=0; /* t标识正负符号 */ for (i=1;i101; i+=2) /*error*/ s+=i*t; t= -t; printf(s=%dn,s);1请改错,并运行程序。 (i101改为i=101) 分别用dowhile语句和while语句改写以上程序。#includevoid main() int i=1,t=1,s=0; /* t标识正负符号 */ do /*error*/ s+=i*t; t= -t; i=i+2; while(i=101); printf(s=%dn,s);#includevoid ma

3、in() int i=1,t=1,s=0; /* t标识正负符号 */while(i=101) /*error*/ s+=i*t; t= -t; i=i+2; printf(s=%dn,s);题目2:分析程序,运行时输入:24579(注:表示回车换行)。#includevoid main() int c; while(c=getchar()!=n) switch(c-2) case 0: case 1: putchar(c+4); case 2: putchar(c+4);break; case 3: putchar(c+3); case 4: putchar(c+2);break; defa

4、ult:putchar(c); printf(n);题目3:下面程序的功能是打印100以内个位数为3且能被3整除的所有数,选择合适的语句填入该空格中。#includevoid main() int i,j; for(i=0;i10 ;i+) j=i*10+3; if(j%3!=0) continue; printf(%4d,j); 题目4:编程输出:用04任意组成无重复数字的三位数?都是多少?每行输出10个数。#includevoid main() int i,j,k,count=0; printf(n); for(i=1;i5;i+)/*以下为三重循环*/ for(j=0;j5;j+) fo

5、r (k=0;k5;k+) if (i!=j&j!=k&i!=k) /*确保i、j、k三位互不相同*/printf(%6d,i*100+j*10+k); count+;if(count%10=0)printf(n); printf(n);题目5:根据公式 求e的近似值,精度要求为10-6。题目6:输入一行字符,将小写字母转换为大写字母显示,其它字符原样输出。2选择内容题目7:打印出如下图案*#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

6、(j=1;j=8-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(* ); printf(n); 运行以上程序,验证实验结果。 模仿上面程序,打印出如下图案 1 2 2 2 3 3 3 3 3三、实验结果(用截图说明)四、调试心得(选作)实验6 数组实验教学班级:2 学号: 姓名 刘易培实验日期:_2014-04-09_ 实验地点:_四教312_(机房) 实验成绩:_ 一、实验目的(1) 理解数组的特点及其与普通变量的区别及特点;(2) 掌握一维数组的定义、赋值和输入输出的方法;(3) 掌握二维数组的定义、赋值和输入输出的方法;(4) 掌握字符数组和字符

7、串函数的使用;(5) 掌握与一维数组和字符数组有关的程序与算法;(6) 理解与二维数组有关的程序与算法。二、实验任务1基本内容【题目1】读程序,写结果。(18)#includevoid main()int i,s=0,a10=1,2,3,4,5,6,7,8,9,10; for(i=4;i7;i+) s=s+ai; printf(s=%dn,s);【题目2】下面程序给数组a输入数据,以每行4个数据形式输出,请填空。#include#define N 8void main() int i, a N; for(i=0; iN; i+) scanf(%d,&ai); for(i=0; iN; i+)

8、if(i%4=0) printf(n); printf(%11d,ai); printf(n);【题目3】用简单选择法对10个整数排序,将程序补充完整。#define N 10#includevoid main() int i,j,min,temp,aN=1,5,4,3,7,0,9,8,2,6; for (i=0;iN-1;i+) min=i; for (j=i+1;jaj) min=j; if(min!=i) temp=ai;ai=amin;amin=temp; printf(n 排序结果为:n); for (i=0;iN;i+) printf(%5d,ai); printf(n);【题目4

9、】下面的程序用冒泡法对10个数排序(从小到大),将程序补充完整。#define N 10#includevoid main() int i,j,min,temp,aN=1,5,4,3,7,0,9,8,2,6; for(i=0;iN;i+) /*i=0错了,改为i=1*/ for(j=0;jaj+1) temp=aj;aj=aj+1;aj+1=temp; printf(n 排序结果为:n); for(i=0;i10;i+) printf(%4d,ai); printf(n);【题目5】任意输入20个数到一维数组a中,求这20个数的平均值。#includeint main() int a20,i,

10、j=0; for(i=0;i20;i+) scanf(%d,&ai); for(i=0;i20;i+) j=j+ai; j=j/20; printf(%dn,j);【题目6】编程:任意输入10个数,判断该哪些是素数,并输出这些素数。【题目7】以下程序是求二维数组中的最小数及其下标(设最小数是唯一的),请填空完成程序,并上机验证。#includevoid main() int i,j,row,col,min; int a34=1,2,3,4,9,8,7,6,-1,-2,0,5; min=a00; for(i=0;i3;i+) for(j=0;jaij) min=aij;row=i;col=j;

11、printf(min=%d,row=%d,col=%dn,min,row,col);【题目8】以下程序是实现输出杨辉三角(最多十行),请将程序补充补充完整。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 #define N 11#includevoid main() int i,j,aNN; for (i=1;iN;i+) ai1=1; aii=1; for (i=3;iN;i+) for (j=2;ji;j+) aij= ai-1j-1+ ai-1j; for (i=1;iN;i+) for (j=1;j=i;j+)printf(%6d, aij);

12、printf(n);printf(n);【题目9】从键盘上任意键入n阶方阵,求它的两条对角线元素之和。【题目10】分析以下读程序,写的运行结果,并上机验证。(?#*&#)#includevoid main() char c,s=BABCDCBA; int k; for(k=1;(c=sk)!=0;k+) switch(c) case A:putchar(?);continue; case B:+k;break; default:putchar(*); case C:putchar(&);continue; putchar(#); putchar(n);【题目11】输入一串字符,计算其中字母的个

13、数。#include #include #define N 81void main() char chN; int i,count=0; puts(请输入一串字符:); gets(ch); /*提示:使用字符串输入函数*/ for(i=0;i=a&chi=A&chi=Z) count+; printf(字母个数为:%d n, count);【题目12】编程:输入一串字符,要求逆序输出。#include stdio.hvoid reverse( ) char ch; ch=getchar( ); if ( ch=#) printf ( %c,ch); else reverse( ); print

14、f (%c,ch); void main( ) reverse( ); printf(n);2选择内容【题目13】将两个字符串连接起来,不使用strcat字符函数#include#define N 80void main() char s12*N,s2N; int i=0,j=0; printf(n请输入两个字符串,以空格或回车键作字符串结束标志:n); scanf(%s,&s1); scanf(%s,&s2); while (s1i!=0) i+; while (s2j!=0) s1i+=s2j+; s1i=0; printf(n连接后的两个字符串为:n%sn,s1);【题目14】在字符串s

15、tr中查找字符ch首次出现的位置,若str字符串中不包含字符ch,则输出0。【题目15】有4位学生,考4门功课。求出每位学生的总分和平均分,及所有学 生每门功课平均分和所有功课的平均分。#includeint main() int a44; int s4=0,0,0,0; int b4=0,0,0,0; int c4; int d=0,i,j; printf(请分别输入四个学生的四科成绩:); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%d,&aij); for(i=0;i4;i+) for(j=0;j4;j+) si=si+aij; for(i=0;i4;i+)

16、 for(j=0;j4;j+) bi=bi+aji; ci=bi/4; for(i=0;i4;i+) d=d+si; d=d/4; printf(每位学生的总分和平均分,所有学生每门功课平均分 分别为:); for(i=0;i4;i+) printf( %d ,si); printf(n); for(i=0;i4;i+) printf( %d ,si/4); printf(n); for(i=0;i4;i+) printf( %d ,ci); printf(n); printf(所有功课的平均分:); printf(%dn,d);【题目16】找出一个二维数组的”鞍点”,即该位置上的元素在该行上

17、最大,在该列上最小,如无”鞍点”,则给出提示。三、实验结果(用截图说明)15题 图:四、调试心得(选作)实验7 函数实验教学班级:2 学号: 姓名 刘易培实验日期:_2014-04-09_ 实验地点:_四教312_(机房) 实验成绩:_ 一、实验目的(1) 理解函数定义的方法。(2) 掌握函数实参与形参的对应关系,以及函数”参数传递”的方式。(3) 掌握函数的嵌套调用和递归调用的方法;(4) 掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。二、实验任务1基本内容【题目1】以下程序是求3个数中的最大值,请完善程序并上机验证。#includevoid main() int a,b,c,

18、m; int max(int x,int y); /* 函数声明*/ printf(input a,b,c=); scanf(%d,%d,%d,&a,&b,&c); m=max(a,b); m=max(m,c); printf(最大值是:%dn,m);int max(int x,int y) /*函数定义*/ int z; z=(xy)?x:y; /*如果xy为真,那么把x的值赋给Z,否则把Y的值赋给Z。*/ return z;【题目2】程序填空:子函数中判断一个大于1的整数是否是素数,数据由主函数中输入,并在主函数中显示结果。 #includevoid main() int number;

19、printf(请输入一个正整数:n); scanf(%d,&number); if (prime(number)=0) printf(n %d是素数:,number); else printf(n %d不是素数:,number);int prime(int number) /*请注意区别main函数和prime函数中的number变量*/ int flag=1,n; for (n=2; flag=1 & n=number/2;n+) if (number%n!=0 ) flag=0; return (flag);【题目3】读程序,验证结果。#include void main() int i=

20、2,p; p=f(i,i+=1); printf(%dn,p);int f(int a, int b) int c; if(ab) c=1; else if(a=b) c=0; else c=-1; return(c);(0)将程序中第4行语句:p=f(i,i+=1); 改为以下语句,比较程序结果:(1)p=f(i+=1,i);实践说明,函数的参数求值顺序是:_(i+=1)先调用i的值,再执行i=i+1_【题目4】编程在主函数中输入和输出字符串,在子函数中实现一个字符串按反序存放。【题目5】用子函数计算4名学生的平均分。标注“error”处有错误,请改正。#include#define N 4

21、float average(float array) /* 注意数据类型的一致 */ int i; float aver,sum=0; for (i=0;iN;i+) sum+=arrayi; aver=sum/N; return (aver);void main() float scoreN,aver; int i; printf(n input %d scores:n,N); for (i=0;iN;i+) scanf(%f,&scorei); aver=average(scoreN); /* error */ (改为aver=average(score)) printf(n averag

22、e score is %5.2fn,aver);【题目6】改正标注“error”语句行的错误,理解本程序的功能。#includevoid main() int a3=0,2,4,6,8,10,12,14,16,sum; int func(); /*函数声明*/ sum=func(a3); /*error*/ (改为sum=func(a0)数组名作为实参传递,传递的是数组起始地址) printf(n sum=%dn,sum);int func(int a ) /*error*/ (int func(int a3) ) int i,j,sum=0; for(i=0;i3;i+) for(j=0;j

23、3;j+) if(i=j) sum+=aij; return sum;【题目7】在主函数中定义数组A34、B4,用子函数对数组A每一行求和,其值放在数组B中,在主函数中输出数组B的值。【题目8】输入两个正整数,求其中最大公约数和最小公倍数。将程序补充完整。#includeint fun1(x,y) int temp; if (xy) temp=x; x=y; y=temp; while (y!=0) temp=x%y; x=y; y=temp; return x;int fun2(x,y) return x*y/fun1(x,y); /*函数的嵌套调用*/void main() int a,b

24、; printf(请输入两个正整数:n); scanf(%d,%d,&a,&b); printf(它们的最大公约数为:%dn,_); printf(它们的最小公倍数为:%dn,_);【题目9】阅读以下程序,若输入为ABCDE#时,写出程序的执行结果。(#EDCBA)#include stdio.hvoid reverse( ) char ch; ch=getchar( ); if ( ch=#) printf ( %c,ch); else reverse( ); printf (%c,ch); void main( ) reverse( ); printf(n);【题目10】编程计算猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了,求第一天共摘了多少桃子?【题目11】

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

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