77范文网 - 专业文章范例文档资料分享平台

C语言实验指导(5)

来源:网络收集 时间:2019-05-18 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验五 循环结构程序设计 (二)

实验目的

1.熟练掌握循环程序设计,包括嵌套循环

2.熟练掌握使用break、continue语句在循环程序设计中的实现 3.继续掌握VC++的程序调试方法 实验内容

1.调试示例,输入正整数的个数n,再输入n个正整数,判断它们是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

源程序(有错误) #include #include void main() { int i,j,k,m,n;

printf(“输入正整数的个数n:”); scanf(“%d”,&n);

printf(“输入%d个正整数\\n”); for(j=0;jn)

printf(“%d是一个素数!\\n”,m); else

printf(“%d不是一个素数!\\n”,m); } }

运行结果(改正后程序的运行结果) 输入正整数的个数:2 输入2个正整数 11

11是一个素数 15

15不是一个素数

按照前面学过的程序调试的方法,设置断点调试程序,找出程序的逻辑错误,得到正确的运行结果。

2.编程,输出101-115之间不能被3整除的数,每行输出5个。要求使用continue语句。

输入输出救命:

101 103 104 106 107 109 110 112 113 115

思考:输入一批整数(Ctrl+Z),输出其中不能被3整除的奇数。

3.编程,输入一个正整数,再输入n个整数,输出其中的最大值,输入的每个数都在100-200之间,如果某个输入数不在100-200之间,则只处理在该数这前输入的数据。

输入示例(共运行2次) 第一次运行: 输入n:5

输入5个整数:100 155 187 192 168 最大值是192 第二次运行:

21

输入n:6

输入6个整数:100 155 187 292 168 199 最大值是187

思考:如果输入n个浮点数(或字符),怎样找出其中的最大和最小的数(或字符)

4.编程,猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃的时候,见只剩下一个桃子了。求第1天共摘了多少桃子?

输入输出示例:

第1天共摘了1534个桃子!

思考:把题目中的第10天改为第n天,多吃了一个桃子,改为多吃了2个桃子,如何编程。

5.在100-1500内找出所有的亲密数对,并输出每对亲密数对。 输入输出示例: (220,284)(284,220)(1184,1210)(1210,1184) 提示:若a和b为1对亲密数,则a的因子和等于b,b的因子和等于a,并且a不等于b。

10. 编程,找出200以内的所有完数,并输出其因子。一个数如恰好等于它的因子之和,

这个数称为完数,如6=1+2+3,其中1、2、3为因子,6为因子和。 输入输出示例: 1=1 6=1+2+3

28=1+2+4+7+14

实验报告要求

将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

22

实验六 数组

实验目的

1.熟练掌握数组的定义和初始化 2.熟练掌握使用数组元素的引用 3.继续掌握排序算法 实验内容

1.调试,输入一个正整数n(0 Void main() {

Int I,j,n,x,a[n];

Printf(“输入数据的个数n:”); Scanf(“%d”,&n);

Printf(“输入%d个整数:”,n); For(i=0;i

Scanf(“%d”,&a[i]);

Printf(“输入要插入的整数:”); Scanf(“%d”,&x); For(i=0;i

{ if(x>a[i]) continue; J=n-1; While(j>=i)

{ /*调试时设置断点*/ A[j]=a[j+1]; J++;

} /*调试时设置断点*/ A[i]=x; Break;

}

If(i==n) a[n]=x; For(i=0;i

运行结果(改正后程序的运行结果) 输入数据的个数n:5 输入5个整数:1 2 4 5 7 输入要插入的整数:3 1 2 3 4 5 7

提示:先找到插入点,从插入点开始,所有的数据顺序后移,然后插入数据;如果插入点在最后,则直接插入(说明插入的数排在该组数据中的最后)。

用前面学过的调试方法,调试本程序,使得程序能够得到正确的运行结果。

2.编程,输入1个正整数n(1

输入输出示例: 输入整数个数:5

输入5个整数:5 2 1 10 9 1 2 5 9 10 提示:注意下标的变化。

23

思考:如果输入的是实数,要求将绝对值最小的数与第1个数交换,绝对值最大的数与最后1个数交换,然后输出交换后的n个数,如何编程。

3.编程,输入1个正整数n(1

输入输出示例: 输入整数个数:10

输入10个整数:-11 2 8 5 -3 -16 9 7 6 10 排序后:2 -3 5 6 7 8 9 10 -11 -16

4.编程,平面上有n个点,求所有各点之间的最长距离。要求定义和调用函数计算距离。

输入输出示例: 输入点数:5

输入5个点的坐标: 1 2.5 3.2 3.7 6.5 2.3 5.1 0.6 3.6 1.2

最长距离是5.50

思考:如何求最短距离及所有距离之和。

5.编程,输入一个n行m列(n<=4,m<=4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。

输入输出示例:

输入数组行和列数n、m:2 3 输入2行3列的数组元素: 12 -7 15 -18 9 11

12.00 -7.00 15.00 -18.00 9.00 11.00 a[1][0]=-18.00 思考:

1)如果不从键盘输入数组元素,而是用初始化的方式给数组赋值,运行结果一样吗? 2)如何修改程序,求绝对值最大的元素?

3)将数组a的每一行均除以该行的主对角元素,然后最大值,试编制程序。

实验报告要求

将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

24

实验七 字符串

实验目的

1.熟练掌握字条数组的定义、初始化和元素引用 2.熟练掌握字符串的存储和操作

3.继续使用字符输入输出函数getchar()和putchar() 实验内容

1.调试,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如”ABCD”颠倒为”DCBA”。

源程序(有错误的程序) #include void main() { int i,k,tmp; char str[];

printf(“input a string:”); i=0;

while((str[i]=getchar())!=?\\n?) i++; str[i]=?\\0?; k=i-1;

for(i=0;i

{ /*调试时设置断点*/ tmp=str[i]; str[i]=str[k]; str[k]=tmp; k++;

} /*调试时设置断点*/ for(i=0;str[i]!=?\\0?;i++) putchar(str[i]); }

运行结果(改正后程序的运行结果) welcome to you! !uoy ot emoclew

2.编程,输入一个以回车结束的字符串(少于80个字符),先输出其中的小写英文字母、空格和感叹号!,然后统计出字符的个数。

输入输出示例: thow hare young! how are you! n=12

3.编程,输入一个正整数n(n<=5),再输入n行字符(每个字符串少于80个字符),分别统计其中的大写英文字母、小写英字母、数字、空格和其他字符的个数。

输入输出示例: 输入字符串行数:2

Beijing 2008 Games of the 29th Olympiad!

8th International Symposium on Safety Science. 大写字母数:7 小定字母数:56 数字字符数:7 空格字符数:10 其他字符数:2

25

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言实验指导(5)在线全文阅读。

C语言实验指导(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/631406.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: