大学生C语言程序设计(第四版 谭洪强)实验4 答案

合集下载

《C语言程序设计》课后习题答案(第四版)谭浩强

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构101.5运行C程序的步骤与方法12 1.6程序设计的任务14令狐采学1-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂16 2.1什么是算法16 2.2简单的算法举例17 2.3算法的特性21 2.4怎样表示一个算法22 2.4.1用自然语言表示算法22 2.4.2用流程图表示算法22 2.4.3三种基本结构和改进的流程图26 2.4.4用N S流程图表示算法28 2.4.5用伪代码表示算法31 2.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算393.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

c语言程序设计第四版第四章答案谭浩强

c语言程序设计第四版第四章答案谭浩强

第四章什么是算术运算什么是关系运算什么是逻辑运算解:略。

C语言中如何表示“真”和“假”系统如何判断一个量的“真”和“假”解:设有一个逻辑表达式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。

但是判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。

例如3&&5的值为“真”,系统给出3&&5的值为1。

写出下面各逻辑表达式的值。

设a=3,b=4,c=5。

(1) a+b>c&&b==c(2) a||b+c&&b-c(3) !(a>b)&&!c||1(4) !(x=a)&&(y=b)&&0(5) !(a+b)+c-1&&b+c/2解:(1) 0(2) 1(3) 1(4) 0(5) 1有3个整数a、b、c,由键盘输入,输出其中最大的数。

解:方法一#include <>main(){ int a,b,c;printf("请输入3个整数:");scanf("%d,%d,%d",&a,&b,&c);if(a<b)if(b<c) printf("max=%d\n",c);else printf("max=%d\n",b);else if(a<c) printf("max=%d\n",c);else printf("max=%d\n",a);}方法二:使用条件表达式,可以使程序更加简明、清晰。

程序如下:#include <>main(){ int a,b,c,temp,max;printf("请输入3个整数:");scanf("%d,%d,%d",&a,&b,&c);temp=(a>b)a:b; /* 将a和b中的大者存人temp中 */max=(temp>c)temp:c; /* 将a和b中的大者与c比较,取最大者*/printf("3个整数的最大数是%d\n”,max);}有一函数:写一程序,输入x值,输出y值。

C语言程序设计(谭浩强)第四版_课后答案

C语言程序设计(谭浩强)第四版_课后答案

第一章程序设计和C语言【第15页】1-5#include <stdio.h>int main ( ){ printf ("**************************\n");printf(" Very Good!\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂【第36页】暂无答案第3章最简单的C程序设计——顺序程序设计【第82页】3-1#include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

C语言程序设计第四版第四章答案谭浩强.doc

C语言程序设计第四版第四章答案谭浩强.doc
break;
case 3: printf( * *%d,%d,%d "9hundred9ten9indiv);
printf(n\n反序数字为:”);
printf(H%d%d%d\nM,indiv,ten,hundred);
break;
case 2: printf(n%d,%dH,ten,indiv);
解:计算利润时,要特别注意不同利润的不同提成比例。例如,利润为15万元,其中有10万元按10%的比例提成,另外5万元则按7.5%提成。
(1)用if语句编程序。
#include <stdio.h>
main()
{long i;
float bonus,bonl^bon2^bon4^bon6^bonl0;
bonl=100000*0.1;
printf(M\n反序数字为:”);
printf(fl%d%d\nf\indiv,ten);
break;
case 1: printf(n%dn,indiv);
printf(M\n反序数字为:”);
printf(H%d\nM,indiv);
break;
}
}
4.10企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提成10%;利 润高于10万元,低于20万元(100()00vlW200000)时,其中10万元按10%提成,高于10万元的部分,可提成7.5%;200000<1^400000时,其中20万元仍按上述办法提成(下 同),高于20万元的部分按5%提成;400000<1^600000时,高于40万元的部分按3%提 成;600000 <1^1000000时,高于60万的部分按1.5%提成;1>1000000时,超过100万元 的部分按1%提成。从键盘输入当月利润I,求应发放奖金总数。要求:(1)用if语句编程序; ⑵用switch语句编程序。

《C语言程序设计》课后习题答案第四版谭浩强

《C语言程序设计》课后习题答案第四版谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

《C语言程序设计》课后习题答案(第四版)谭浩强

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构101.5运行C程序的步骤与方法12 1.6程序设计的任务14欧阳学文15 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}16#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂162.1什么是算法16 2.2简单的算法举例17 2.3算法的特性21 2.4怎样表示一个算法22 2.4.1用自然语言表示算法22 2.4.2用流程图表示算法22 2.4.3三种基本结构和改进的流程图26 2.4.4用N S流程图表示算法28 2.4.5用伪代码表示算法31 2.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据473.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78习题8231 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}321#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

大学生C语言程序设计(第四版 谭洪强)实验4 答案

大学生C语言程序设计(第四版 谭洪强)实验4 答案

printf("Input insert number:");
scanf("%d",&x);
for(i=4;i>=0;i--) //从最后一个元素开始往前找插入位置
if(a[i]>x) //若元素值大于 x
a[i+1]=a[i]; //则该元素往后移
else
//否则
break;
//退出循环,找到插入位置在 i+1 位置
for(i=0;i< N;i++) printf("%4d",a[i]);
printf("\n");
printf("Enter m: "); scanf("%d",&m);
low=0;high=9; //设置初始查找范围
while(low<=high) //有查找范围,进入循环
{ mid=(low+high)/2; //求 mid,查找范围的中间元素下标
外循环:10 个数,需要 9 趟循环,第 i 趟从未排序数列(a[i],a[i+1],---a[9])里找出最小 数和 a[i]交换。内循环:(第 i 趟里找最小数的方法)1)首先把第 i 个数看成最小数记下它 的下标(k=i);2)然后从下标为 j=i+1 的元素开始一直到 j=9,逐一去比较,如果当前的元素 a[j]比最小数 a[k]还小,就用它的下标去改写 k;3)如果 k 的值发生了变化,就交换最小值 a[k]和未排序元素里的第一个元素 a[i]。 参考答案:
a[i]=a[i]*x; printf("数组每个元素乘以 x 后的值为:"); for(i=0;i<10;i++)

(完整word版)《C语言程序设计》课后习题答案(第四版)谭浩强

(完整word版)《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

c程序设计(第四版)谭浩强答案

c程序设计(第四版)谭浩强答案

c程序设计(第四版)谭浩强答案《C程序设计》(第四版)是谭浩强教授编写的一本广受欢迎的C语言编程教材,它以系统性、实用性和易学性著称。

这本书不仅适合作为高等院校计算机专业学生的教材,也适合自学者使用。

由于这本书的广泛使用,很多读者和学生都希望获得书中习题的答案,以便更好地理解和掌握C语言编程。

然而,直接提供答案并不是学习的最佳方式。

学习编程,特别是C语言,需要通过实践来掌握。

因此,我建议读者在尝试解决问题之前,先仔细阅读书中的相关章节,理解概念和原理,然后自己动手编写代码。

如果遇到难题,可以参考答案来检查自己的思路和代码,但不要一开始就依赖答案。

以下是一些学习C语言编程的建议:1. 理解基础概念:C语言的基础概念包括变量、数据类型、运算符、控制结构(如if语句、循环)等。

这些是编程的基石,必须首先掌握。

2. 实践编程:编程是一项实践技能,需要通过编写代码来学习。

尝试解决书中的习题,即使一开始遇到困难,也要坚持下去。

3. 阅读和分析代码:阅读别人的代码是学习编程的好方法。

分析书中的示例代码,理解它们是如何工作的,然后尝试修改它们以实现不同的功能。

4. 使用调试工具:当代码出现问题时,学会使用调试工具来找出错误所在。

这不仅能帮助你解决问题,还能加深你对程序流程的理解。

5. 参与讨论和求助:加入编程社区,参与讨论,向他人求助。

有时候,别人的一个提示或建议可能会让你豁然开朗。

6. 编写自己的项目:当你对C语言有了一定的了解后,尝试编写自己的小项目。

这不仅能巩固你的知识,还能激发你的创造力。

7. 持续学习:编程是一个不断发展的领域,新的技术和工具不断出现。

即使你已经掌握了C语言,也要不断学习新的编程语言和技术。

最后,如果你确实需要参考答案来辅助学习,可以考虑以下途径:- 官方资源:有些出版社会提供官方的习题解答,你可以查看是否有相关的资源。

- 教师指导:如果你在学校学习,可以向老师寻求帮助,他们可能会提供一些指导或解答。

C语言程序设计谭浩强第四课后答案讲

C语言程序设计谭浩强第四课后答案讲

第一章程序设计和C语言【第15页】1-5#include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂【第36页】暂无答案第3章最简单的C程序设计——顺序程序设计【第82页】3-1#include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

《C语言程序设计》课后习题答案第四版谭浩强

《C语言程序设计》课后习题答案第四版谭浩强

第1章程序设计和C语言 1 1.1什么是计算机程序 1 1.2什么是计算机语言 1 1.3C语言的发展及其特点 3 1.4最简单的C语言程序 51.5运行C程序的步骤与方法1 2 1.6程序设计的任务14 1-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.3C语句573.4数据的输入输出65习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

《C语言程序设计》课后习题答案(第四版)谭浩强

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5#include<stdio.h>int main(){printf("**************************\n\n");printf("V ery Good!\n\n");printf("**************************\n");return0;}1-6#include<stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("The largest number is%d\n",max); return0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1#include<stdio.h>#include<math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return0;}3-2-1#include<stdio.h>#include<math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);//一次存5年期p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5);//存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5);//存活期存款。

《C语言程序设计》课后习题答案第四版谭浩强

《C语言程序设计》课后习题答案第四版谭浩强

第1章程序设计和C语言 1 1.1什么是计算机程序 1 1.2什么是计算机语言 1 1.3C语言的发展及其特点 3 1.4最简单的C语言程序 51.5运行C程序的步骤与方法1 2 1.6程序设计的任务14 1-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.3C语句573.4数据的输入输出65习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("输出交换前数组的值:");
for(i=0;i<10;i++) printf("%3d",a[i]);
for(i=0, j=9 ; i<j ; i++ , j--) //逐一交换 a[0]和 a[1],a[1]和 a[8], … a[4]和 a[5] { t=a[i]; a[i]=a[j]; a[j]=t; }
printf("10 个同学成绩为:");
for(i=0;i<10;i++)
//输出数组中 10 个成绩
printf("%g ",score[i]);
for(i=0;i<10;i++) //求 10 个成绩之和
sum=sum+score[i];
aver=sum/10;
// 求出平均值
for(i=0,j=0;i<10;i++) //遍历每个成绩
if(m==a[mid])
//如果中间元素等于被查找数,找到,跳出循环
{ k=mid; break; }
else if(m<a[mid]) //m 比中间元素小
high=mid-1; //m 应该在中间元素的左边,修改查找范围
else low=mid+1; //m 应该在中间元素的右边,修改查找范围
a[i]=a[i]*x; printf("数组每个元素乘以 x 后的值为:"); for(i=0;i<10;i++)
printf("%5d",a[i]); printf("\n"); return 0; } 运行结果:
2、设计程序 sy4-2.பைடு நூலகம்,对输入的 10 个整数按倒序存放后输出结果。 算法分析:
printf("\n 输出交换后数组的值:"); for(i=0;i<10;i++)
printf("%3d",a[i]); printf("\n");
return 0; }
运行结果:
3、设计程序 sy4-3.c,输入 10 个整数,找出其中的最大数及其所在的下标。 算法分析:
首先:把下标为 0 的数看成最大数,即 max=a[0],k=0; 然后:逐一遍历 a[0]后面的每个 元素,如果当前元素值比 max 大,就改写 max,并记录其下标。
# include <stdio.h>
void main()
{ int a[10],k,i,j,t;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
//选择排序法
{ k=i;
for(j=i+1;j<10;j++)
最后:输出结果。 参考答案: #include<stdio.h> int main() { int a[10]={12,21,35,10,54,31,24,58,43,11},i,k,max; //max 存放最大值,k 记最大值的下标
printf("输出数组的每个元素:"); for(i=0;i<10;i++)
4、设计程序 sy4-4.c,在一个 5 个整数的升序排列的序列中,任意输入一个数插入其中, 要求保持原来的排列顺序。输出结果。
算法分析:(方法一)
分析: 假如 int a[6]初值如下表,需插入的数据 x=10;插入算法如下:
下标
0
1
2
3
4
5
元素的值
5
9
15
20
24
1)首先应遍历数组找到插入的位置 p=2;2)然后应从数组最后一个元素到下标为 p 的
外循环:10 个数,需要 9 趟循环,第 i 趟从未排序数列(a[i],a[i+1],---a[9])里找出最小 数和 a[i]交换。内循环:(第 i 趟里找最小数的方法)1)首先把第 i 个数看成最小数记下它 的下标(k=i);2)然后从下标为 j=i+1 的元素开始一直到 j=9,逐一去比较,如果当前的元素 a[j]比最小数 a[k]还小,就用它的下标去改写 k;3)如果 k 的值发生了变化,就交换最小值 a[k]和未排序元素里的第一个元素 a[i]。 参考答案:
if(a[j]<a[k]) k=j;
if(k!=i)
{ t=a[k]; a[k]=a[i]; a[i]=t; }
}
printf("\n 排序后的数为:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
运行结果:
6、设计程序 sy4-6.c,计算 scroe 数组中 10 个人的平均成绩 aver,将低于 aver 的成 绩放在 below 数组中。输出 aver 和 below 数组中的数据。 算法分析:
实验四 参考答案
1、设计程序 sy4-1.c,输入 10 个整数存入一个数组 a,输入 x,使数组 a 中各元素值都乘以 x 后输出。 算法分析:
用循环输入 10 个数,分别赋给 a[0],a[1],------a[9],然后再输入 x 的值,重新给每个元 素 a[0],a[1],------,a[9]赋值为他们乘以 x 的值;最后结果输出。 参考答案: #include<stdio.h> int main() { int a[10], x , i ;
printf("Input insert number:");
scanf("%d",&x);
for(p=5,i=0;i<5;i++) //p 的初值为 5,找查找的位置
if(x<a[i]) //找到第一个比 x 大的元素,该位置即为要插入的位置
{ p=i;
break;
}
for(i=4;i>=p;i--) //从最后一个元素到找到的插入位置移动数据,空出位置
首先用循环求出 10 同学的成绩总和,成绩总和除以总人数得到平均值 aver,
参考答案:
#include<stdio.h>
int main()
{ float score[10]={78,98,65,45,68,94,81,86,57,96},below[10],sum=0,aver;
int i,j=0;
printf("请输入 10 个整数:"); for(i=0;i<10;i++)
scanf("%d",&a[i]); printf("输出数组中原来的值:"); for(i=0;i<10;i++)
printf("%5d",a[i]); printf("\n 请给 x 输入值:"); scanf("%d",&x); for(i=0;i<10;i++)
a[i+1]=a[i];
a[p]=x;
//写入待插入的数据
printf("The after insert score:\n");
for(i=0;i<6;i++)
printf("%6d",a[i]);
printf("\n");
}
运行结果:
算法分析:(方法二)
分析: 假如 int a[6]初值如下表,需插入的数据 x=10;插入算法如下:
printf("%3d",a[i]); max=a[0]; k=0; //首先把 a[0]看成最大值,k 记它的下标 for(i=1;i<10;i++) //逐一遍历其后的每个元素
if(max<a[i]) //如果当前值比最大值大 { max=a[i] ; k=i; } //就改写最大值和最大值的下标 printf("\n 最大值=%d,最大值的下标=%d\n",max, k); return 0; } 运行结果:
插入 x( a[i+1]=x; )。
参考答案:
# include <stdio.h>
void main()
{ int a[10],i,x,p;
printf("Input 5 numbers:"); /*5 个数按由小到大的顺序输入*/
for(i=0;i<5;i++)
scanf("%d",&a[i]);
#include < stdio.h >
#define N 10
void main( )
{ int i,a[N]={-3,4,7,9,13,24,67,89,100,180},k,m,low,high,mid;
//low,high-查找数组元素范围的下标
printf("a 数组中的数据如下:");
printf("Input insert number:");
scanf("%d",&x);
for(i=4;i>=0;i--) //从最后一个元素开始往前找插入位置
相关文档
最新文档