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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计第3次上机Word格式文档下载.docx

1、 printf(Input two integers a, b:); scanf(%d,%d, &a,&b);nSUM=%dn the difference between square of a and square of b is:%d,SUM, SUM*DIF); SWAP(a,b); Printf(nNow a=%d,b=%dn,a,b);源程序在code:blocks上运行后出现 修改后为:运行测试为:2源程序修改替换下面是用函数实现求三个数中最大数、计算两数之和的源程序。在这个源程序中存在若干语法和逻辑错误,要求:(1) 对这个例子程序进行调试修改,使之能够正确完成指定任务。(2)

2、 用带参数的宏替换函数max,来实现求最大数的功能。 int a, b, c; float d, e;Enter three integers:%d,%d,%d,&b,&c);nthe maximum of them is %dn,max(a,b,c);printf(Enter two floating point numbers:scanf(%f,%fd,&e);nthe sum of them is %fn,sum(d,e);int max(int x, int y, int z) int t; if (xy) t=x; else t=y; if (tz) t=z; return t;fl

3、oat sum(float x, float y) return x+y;(1)源程序修改后为:(2)按要求修改源程序如下:运行测试为3跟踪调试程序 下面程序的功能是利用R计算圆的面积s,以及面积s的整数部分。现要求:(1) 修改程序,使程序编译通过且能运行。源程序修改如下:(2) 单步执行。进入函数integer_fraction时,watch窗口中x为何值?在返回main时, watch窗口中i为何值?单步执行,进入integer_fraction时,watch窗口中x=254.468796.返回main时,watch中i=254.(3) 排除错误,使程序能正确输出面积s值的整数部分,不会

4、输出错误信息assertion failed。程序代码:#define Rfloat r,s;int s_integer=0; printf (input a number: %fr); #ifdef R s=3.14159*r*r;area of round is: %fn,s); s_integer= integer_fraction(s);the integer fraction of area is %dn, s_integer); assert(s-s_integer)1.0); #endifint integer_fraction(float x) int i=x; return

5、i;实验2 数组实验 (1)掌握数组的说明、初始化和使用。(2)掌握一维数组作为函数参数时实参和形参的用法。(下面是用来将数组a中元素按升序排序后输出的源程序。分析源程序中存在的问题,并对源程序进行修改,使之能够正确完成任务。 int a10 = 27, 13, 5, 32, 23, 3, 17, 43, 55, 39; void sort(int ,int); int i; sort(a0,10); for(i = 0; i 10; i+)%6d,ai);nvoid sort(int b, int n) int i, j, t; for (i = 0; n - 1; for ( j = 0;

6、 j n - i - 1; j+) if(bj 1; i-)/* i表示圈中人个数,初始为M个,剩1个人时结束循环;j表示当前报数人的位置 */ for(k = 1; k i - 1) j = 0;/* 最后一个人报数后第一个人接着报,形成一个圈 */ bM-i = j? aj-1 : ai-1 ; /* 将报数为N的人的编号存入数组b */ if(j)for(k = -j; i; k+) /* 压缩数组a,使报数为N的人出圈 */ ak=ak+1 ;i M 1; i+) /* 按次序输出出圈人的编号 */ printf(“%6d”, bi); printf(“%6dn”, a0); /* 输

7、出圈中最后一个人的编号 */(2) 上面的程序中使用数组元素的值表示圈中人的编号,故每当有人出圈时都要压缩数组,这种算法不够精炼。如果采用做标记的办法,即每当有人出圈时对相应数组元素做标记,从而可省掉压缩数组的时间,这样处理效率会更高一些。因此,请采用做标记的办法修改(1)中的程序,并使修改后的程序与(1)中的程序具有相同的功能。源程序为:3跟踪调试源程序在下面所给的源程序中,函数strncat(s,t,n)本来应该将字符数组t的前n个字符连接到字符数组s中字符串的尾部。但函数strncat在定义时代码有误,不能实现上述功能。请按下面的要求进行操作,并回答问题和排除错误。(1) 单步执行源程序

8、。进入函数strncat后观察表达式s、t和i。当光条落在for语句所在行时,i为何值?当光条落在strncat函数块结束标记(右花括号 )所在行时, s、t分别为何值?光条落在for语句所在行时,i=22光条落在strncat函数块结束标记所在行时(2) 分析函数出错的原因,排除错误,使函数正确实现功能,最后写出程序的输出结果。void strncat(char ,char ,int); char a50=The adopted symbol is ,b27=abcdefghijklmnopqrstuvwxyz; strncat(a, b, 4);%sn,a);void strncat(ch

9、ar s,char t, int n) int i = 0, j;while(si+) ;for(j = 0; n & tj;)si+ = tj+; si = 0(2)调试发现s,t和i值有误,修改后源程序为:运行输出结果为:程序设计:编写并上机调试运行能实现以下功能的程序。(1) 已知三角形的面积是,其中,a,b,c为三角形的三边。定义两个带参数的宏,一个用来求s,另一个用来求area,试编写一程序,用带参数的宏来计算三角形的面积。(1)源程序如下:结果正确。(2) 使用条件编译方法编写一程序,其功能要求是,输入一行电报文字,可以任选两种输出:一为原文输出;二为变换字母的大小写(如小写a变成

10、大写A,大写D变成小写d),其他字符不变。用#define命令控制是否变换字母的大小写。例如,#define CHANGE 1 则输出变换后的文字,若#define CHANGE 0则原文输出。(2)源程序如下:将#define CHANGE 1换为#define CHANGE 0后源程序为:(3) 编写一个程序,从键盘读取数据,对一个34矩阵进行赋值,求其转置矩阵,然后输出原矩阵和转置矩阵。(3)源程序如下:运行测试如下:实验心得与体会:编程时要多看多做多改。暂时没有思路的程序,可以看一些类似的例题,多看看别人是怎么做的,可以用什么方法。做出来的程序,不能认为自己已经完全会了,而不去理会,应该试着用其他句型修改一下程序,看看会产生什么效果,尽量简化程序,让程序看起来简单易懂,且让人不会产生误解。选做题给定n位(n100)正整数a,去掉其中任意k个数字(kn)后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最大的删除方案。具体任务为,对于给定的正整数a,编程计算删除k个数字后得到的最大数。数据输入:由键盘输入两个数据,两个数据之间以空格隔开,前面一个数据是正整数a,第2个是正整数k。结果输出:程序运行结束时,将计算出的最大数输出到屏幕。

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

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