高级语言程序设计课后练习参考答案(全部)

上传人:ldj****22 文档编号:32469288 上传时间:2018-02-11 格式:DOC 页数:24 大小:146.50KB
返回 下载 相关 举报
高级语言程序设计课后练习参考答案(全部)_第1页
第1页 / 共24页
高级语言程序设计课后练习参考答案(全部)_第2页
第2页 / 共24页
高级语言程序设计课后练习参考答案(全部)_第3页
第3页 / 共24页
高级语言程序设计课后练习参考答案(全部)_第4页
第4页 / 共24页
高级语言程序设计课后练习参考答案(全部)_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《高级语言程序设计课后练习参考答案(全部)》由会员分享,可在线阅读,更多相关《高级语言程序设计课后练习参考答案(全部)(24页珍藏版)》请在金锄头文库上搜索。

1、特别说明:此答案不是标准答案,仅供参考,如有疑问,请与老师共同商量第 1章一、单项选择题1-6 ACDBBD二、填空题1、机器、过程 2、源、解释、编译、目标3、用某种计算机能理解并执行的计算机语言描述解决问题的方法和步骤、分写解决问题的方法步骤并将其记录下来的过程第 2章一、单项选择题1-5 ACCBB 6-10 ADDDD二、填空题1、 2、小写3、字母、下划线、32、8 4、P105、P10-11 6、函数调用、表达式7、main 8、main、main9、/*、*/ 10、分11、略第 3章一、单项选择题1-5 CBABB 6-10 ACBAB 11-15 AADAD 16-20 CD

2、CCB21-25 CCCDB 26-30 ACDDC 31-34 CADC二、填空题1、字符、字符串 2、-15、-153、0、65535 4、2、15、0、0 6、#define 符号常量 常量7、4 8、数据类型符 变量名 1,变量名2,9、unsigned int、double、char 10、const int nn=199;11、1.0 12、a/(b*c)13、1、0 14、非 0、0、1、015、1 16、(x20 & x5、输出格式字符串、输出表达式表6、整、短整、无符号、字符、长整、无符号长整、单精度、双精度、单精度、双精度。7、如果 e1和 e2两个条件都成立,那么就执行语

3、句 s。8、如果 e1条件成立执行语句 s1,如果 e1不成立但 e2成立则执行语句s2。9、#a=26,b=13,c=19。10、if(a=14、x%i = 05、t3=-t3五、程序设计题1、思路:输入 f之后,按照公式计算 c即可。#includevoid main()float f,c;printf(请输入华氏温度 f:);scanf(%f,c=(f-32)*5/9.0;printf(摄氏温度 c为%fn,c);2、思路:输入 a之后,判断如果大于等于 0则输出 1,否则输出-1。#includevoid main()int a;scanf(%d,if(a=0)printf(1n);e

4、lseprintf(-1n);3、思路:输入一个数之后,先考虑 x小于等于 1的情况,如果不满足这个条件,则再判断是否小于 10,针对每种情况进行计算即可。#includevoid main()float x,y;scanf(%f,if(xvoid main()float a,b,c,min;scanf(%f%f%f,if(avoid main()short a;int maxnum=0; /*假设最大的数开始为 0*/scanf(%d,while(a!=0) /*只要 a不等于 0,表示还没有求完数中每一位的值*/if(a%10maxnum) /*判断目前这个数的最后一位是否大于最大的*/m

5、axnum = a%10;a=a/10; /*去掉这个数的最后 1位*/printf(最大的数字为%dn,maxnum);6、思路:根据题意这个数为 3位的数,则本题的循环初值是 100,终值是999。在循环题中,对每个 i都求出它的个位、十位和百位,然后对这三个数字求他们的立方和,如果等于 1099,就输出它。当循环完毕之后就能把 100-999中所有满足条件的数字输出。#includevoid main()int x,a,b,c,i;for(i=100;ivoid main()int num,zheng,fu,ling,i;zheng=0; /*保存整数的个数*/fu=0; /*保存负数的

6、个数*/ling=0; /*保存 0的个数*/for(i=1;i0) /*如果为正数*/zheng+;else if(numvoid main()int i=2;float e,s,n; /* e表示和,n 表示每次被加数的分子,s 表示每次的被加数 */e=1; /* 第 1个被加数 1没有规律,所以初值为 1 */n=1; /*第 1个被加数的分子为 1 */s=1; /*第 1个被加数为 1 */while(s1e-6)e = e + s; /* 将被加数累加到 e中 */* 下列步骤为计算好下一个被加数 */n=n*i;s=1/n;i+;printf(e的值为%fn,e); 9、思路:

7、这是一种累加运算,n 从 1开始,每次累加 ,直到 小12n12n于 10-6。#include void main()int n=1;float y,s; /*y保存累加的和,s 表示每次被加的数*/y=0;s=1.0/(n*n+1); /*计算第 1个被加数*/while(s1e-6)y = y + s; /* 将被加数累加到 y中 */ /* 下列步骤为计算好下一个被加数 */n+;s=1.0/(n*n+1);printf(y=%fn,y); 10、思路:在循环体中,依次把 0x30至 0x5f的值用%d 以及%c 输出即可。#include void main()int x; for(

8、x=0x30;xvoid main()int i;for(i=1;ivoid main()int i;i=1;while(ivoid main() int i;i=1;doprintf(%d的平方为%dn,i,i*i);i+;while(i、#include8、x1 小于 x2、x1 等于 x2、x1 大于 x29、4、s0、0三、阅读程序题1、122、223、18104、说明:下列的表示空格5、efabcd6、abcAB7、先输入 9个数保存到 3行 3列的数组 a中(程序第 4、5 行),然后将数组 a转置的结果保存到数组 b中(程序第 6、7 行),最后将数组 b的所有元素输出(程序第

9、8、9、10、11 行)。8、先输入 9个数保存到 3行 3列的数组 a中(程序第 4、5 行),再输入 9个数保存的 3行 3列的数组 b 中(程序第 6、7 行),然后将数组 a和 b中对应下标的元素相加并将相加的结果保存到 3行 3列的数组 c中(程序第 8、9 行),最后将数组 c的所有元素输出(程序第 10、11、12、13 行)。四、程序填空题1、k=p2、n=strlen(s1)3、si+=32;、i+;4、n%base、d5、max_i=min_i=0、max_i=i五、程序设计题1、思路:输入 10个数保存到数组 a中,然后计算数组 a中 10个元素之和,最后让这个和除以 1

10、0就得到平均值。#includevoid main()float a10,sum,avg;int i;for(i=0;ivoid main()int a10,i,temp; /*temp用来做交换两个元素的临时变量*/for(i=0;i #includevoid main()char str1100,str2100;int i,k,len1,len2;gets(str1); /*输入第一串字符保存到 str1*/gets(str2); /*输入第二串字符保存到 str1*/len1=strlen(str1);len2=strlen(str2);k=len1; /*将 str2连接到 str1之

11、后,那么在 str1后的第 k个位置开始放 str2的字符*/for(i=0;str2i!=0;i+)/*依次将 str2的内容连接到 str1之后*/ str1k=str2i;k+;str1len1+len2=0;/* 给连接后的字符串添加结束标志 */puts(str1);4、思路:先输入 n,接着根据 n输入 n个数保存到数组 x中。然后计算出这 n个数的平均值,最后按照公式计算这 n个数与平均值的平方和。#include #includevoid main()float x100,x0=0,s=0;int i,n;printf(请输入 n的值:);scanf(%d, /*输入 n的值

12、*/printf(请输入%d 个数据:,n);for(i=0;ivoid main()int a35,i,j,max,min,max_i,max_j,min_i,min_j;/*max保存最大的值,min 保存最小的值,max_i 保存最大值的行号,min_j保存最大值的列号,min_i 保存最小值的行号,min_j 保存最小值的列号 */for(i=0;imax) /*如果当前元素的值比 max还大,则要记录下来 */ max=aij;max_i=i;max_j=j;else /*不是最大的,有可能是最小的 */if(aijvoid main()int stu503,i;float sum1

13、,sum2,sum3; /*sum1保留第 1科的和,sum2 保留第 2科的和,sum3 保留第 3科的和,最后让 sum1、sum2、sum3 除以 50即可得到平均分*/sum1=sum2=sum3=0;for(i=0;ivoid main()int num,a5,i;scanf(%d, /*输入这个数 */i=0;while(num0)ai=num%10; /*将当前数的最后 1位保存在 ai中*/num=num/10; /*去到当前这个数的最后一位 */i+;/*更新 i,方便存下一个数*/*由于刚才存放时,是将这个数的每 1位逆序存放到数组 a中,所以在下面的输出时要从最后一个存放

14、数值的元素开始输出*/i-; /*由于在前一个循环中,i 增加到没有存放数的地方*/ while(i=0) printf(%d,ai);if(i0) /*由于最后一个数值之后不输出逗号,所以在最后一个数值之前都输出逗号 */printf(,);i-; 8、思路:通过 gets函数将输入字符串保存到数组中;然后通过循环依次读取每个字符,判断处理每个字符,处理方法为:通过 if判断如果是大写字母让其加 3,是小写字母让其减 3;最后输出处理之后的字符。#include #includevoid main() char a100;int i;gets(a); /*输入字符串*/for(i=0;i=A&ai=aputs(a); /*输出字符串*/9、思路:与上一题一致,只是输入数据后,通过循环读取每个字符的处理方法不同,如果值是大于等于A+3 且小于等于Z+3 则让其减 3(这个地方处理的是由原来大写字母加密所得的) ,如果值是大于等于a-3 且小于等于z-3则让其加 3(这个地方处理的是由原来小写字母加密所得的) 。#include #includevoid main() char a100;int i;gets(a); /*输入字符串*/for(i=0;i=A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号