2024年10月c语言程序设计案例教程答案(C语言程序设计教程(第二版) 周宇 课后答案)
⑴c语言程序设计案例教程答案(C语言程序设计教程(第二版)周宇课后答案
⑵C语言程序设计教程(第二版)周宇课后答案
⑶IloveChina!printf(“wearestudents.
⑷“).项目实训题参考答案.编写一个C程序,输出以下信息:********************Iamastudent!********************main(){printf(“********************
⑸“);printf(“Iamastudent!
⑹“);printf(“********************
⑺“);}....已知立方体的长、宽、高分别是cm、cm、cm,编写程序,求立方体体积。解:main(){inta,b,c,v;a=;b=;c=;v=a*b*c;printf(“v=%d“,v);}本程序运行结果为:v=第第第第章章章章编制编制编制编制C程序的基础知识程序的基础知识程序的基础知识程序的基础知识一选择题CBABA二操作题.,,-,.,.,-..ABCDEFGHwhyis+equal..aabbabcAN项目实训题.定义一个符号常量M为和一个变量n值为,把它们的乘积输出。#defineMmain(){intn,c;n=;c=M*n;printf(“%d
⑻“,c);}.编程求下面算术表达式的值。(x+a%*(int)(x+y)%/,设x=.,a=,y=.;((float)(a+b)/+(int)x%(int)y,设a=,b=,x=.,y=.。(main(){inta=;floatx=.,y=.;printf(“%f
⑼“,x+a%*(int)(x+y)%/);}(main(){inta=,b=;floatx=.,y=.;printf(“%f
⑽“,(float)(a+b)/+(int)x%(int)y);第三章第三章第三章第三章顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计一选择题ACD二操作题.x=,a=,b=.z=..a三三三三....编程题编程题编程题编程题编程题.某工种按小时计算工资,每月劳动时间(小时×每小时工资=总工资,总工资中扣除%公积金,剩余的为应发工资。编写一个程序从键盘输入劳动时间和每小时工资,打印出应发工资。解:#include《stdio.h》main(){floatsj,gz,yfgz;printf(“time,salary:“);scanf(“%f,%f“,&sj,&gz);yfgz=sj*gz*.;printf(“totalsalary:%f
⑾“,yfgz);}本程序运行结果为:time,salary:,《CR》totalsalary:..编写一个程序求出任意一个输入字符的ASCII码解:#include《stdio.h》main(){charc;printf(“Inputastring:“);scanf(“%c“,&c);printf(“%cASCIIis%d
⑿“,c,c);}本程序运行结果为:Inputastring:a《CR》aASCIIis、编写一个程序用于水果店售货员算帐:已知苹果每斤.元,鸭梨每斤.元,香蕉每斤元,橘子每斤.元,要求输入各类水果的重量,打印出应付第四章第四章第四章第四章选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计一、略二、BBABCBA三、....ch》=’A’&&ch《=’Z’||ch》=’a’&&ch《=’z’ch》=’’&&ch《=’’ch==’’.-四、上机操作.从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写字母,则将其变为大写字母输出。#include《stdio.h》main(){charch;ch=getchar();if(ch》=’A’&&ch《=’Z’)ch+=;elseif(ch》=’a’&&ch《=’z’)ch-=;putchar(ch);putchar(’
⒀’);}.根据输入的x值依据下列表达式,计算y的值。x(x》-)y=(x=-)+x(x《-)解:main(){floatx,y;scanf(“%f“,&x);if(x》-)y=*x;elseif(x==)y=;elsey=+x;printf(“y=%f“,y);}本程序运行结果为:-《CR》y=..编写程序,输入一个整数,判断它是奇数还是偶数,若是奇数,输出“IsOdd“;若是偶数,输出“IsEven“。main(){intx;scanf(“%d“,&x);if(x%==)printf(“IsEven
⒁“);elseprintf(“IsOdd
⒂“);}.设计应用程序,求二次方程ax+bx+c=的解。#include《math.h》main(){floata,b,c,disc,x,x,p,q;scanf(“%f,%f,%f“,&a,&b,&c);if(fabs(a)《=e-)printf(“Theequationisnotaquadratic
⒃“);else{disc=b*b-*a*c;if(fabs(disc)《e-)printf(“x=x=%.f
⒄“,-b/(*a));elseif(disc》e-){x=(-b+sqrt(disc)/(*a));x=(-b-sqrt(disc)/(*a));printf(“x=%.f,x=%.f
⒅“,x,x);}else{p=-b/(*a);q=sqrt(-disc/(*a));printf(“%.f+%x.fi
⒆“,p,q);printf(“%.f-%.fi
⒇“,p,q);}}}....按托运规则,行李不超过公斤时,运费为.元/公斤,如超过公斤,超过部分的运费为.元/公斤,现有行李w公斤,编写一个程序计算运费。解:#include《stdio.h》main(){floatw,f,x;printf(“weight:“);scanf(“%f“,&w);if(w《=)x=.*w;elsex=.*+.*(w-);printf(“money:%.fyuan
⒈“,x);}本程序运行结果为:weight:《CR》money:.yuanweight:《CR》money:.yuan.某商场给与顾客购物的折扣率如下:购物金额《元不打折元》购物金额》=元折元》购物金额》=元折购物金额》=元.折输入一个购物金额,输出打折率、购物实际付款金额。#include《stdio.h》main(){floatx,y,realx;scanf(“%f“,&x);if(x《=){printf(“Error!Youinputaworrynumber!
⒉“);y=;}else{if(x《)y=.;elseif(x《)y=.;elseif(x《)y=.;elsey=.;}if(y!=){realx=x*y;printf(“y=%f,therealx=%.f
⒊“,y,realx);}}第五章第五章第五章第五章循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计一、选择题AADD第六章第六章第六章第六章数组数组数组数组、选择题DADAAAD二、程序阅读题第七章第七章第七章第七章函数函数函数函数一、选择题BDCBBDAAD第第第第章章章章指针指针指针指针一、选择题DA(D)DCD二、填空题.m.指针数组名.ABCDCD..
⒋c语言程序设计编程题目:请:编写完成对学生相关信息的要求:.定义一个结构体类型student,其中包括三个成
⒌#include《stdio.h》#include《stdlib.h》#defineSTU_NUM/*宏定义学生的数量*/structstudent/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/{charstu_id;/*学生学号;*/floatscore;/*三门课成绩;*/floattotal;/*总成绩;*/floataver;/*平均成绩;*/};/*排序用一个函数来实现*/voidSortScore(student*stu,intn){studentstud;for(inti=;i《n-;i++)for(intj=i+;j《n;j++){if(stu.total){stud=stu;stu;stu=stud;}}}intmain(){studentstu;/*创建结构体数组中有个元素,分别用来保存这个人的相关信息。*//*输入这十个学生的相关信息*/for(inti=;i《STU_NUM;i++){printf(“请输入第%d个学生的学号:“,i+);scanf(“%s“,&stu.stu_id);printf(“输入第%d个学生的数学成绩:“,i+);scanf(“%f“,&stu);printf(“输入第%d个学生的英语成绩:“,i+);scanf(“%f“,&stu);printf(“输入第%d个学生的计算机成绩:“,i+);scanf(“%f“,&stu);stu;stu.total/;}printf(“
⒍“);SortScore(stu,STU_NUM);/*调用排序函数*//*输出排序后的各学生的成绩*/for(i=;i《STU_NUM;i++){printf(“序号:%d “,i);printf(“学号:%s “,stu.stu_id);printf(“数学:%f “,stu);printf(“英语:%f “,stu);printf(“计算机:%f “,stu);printf(“平均成绩:%f “,stu.aver);printf(“总分:%f “,stu.total);printf(“
⒎“);}return;}注:(源程序中主要标识符含义说明)#defineSTU_NUM/*宏定义学生的数量*/structstudent/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/{charstu_id;/*学生学号;*/floatscore;/*三门课成绩;*/floattotal;/*总成绩;*/floataver;/*平均成绩;*/}
⒏c语言程序设计(何钦铭颜晖第三版)课后习题答案
⒐.主函数main();主函数main()
⒑.主函数main()
⒒.顺序结构;选择结构;循环结构
⒓..c;.obj;.exe
⒔.答:结构化程序设计是指,为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构
⒕.答:算法是对具体问题求解步骤的一
⒖种描述。计算机算法的表达工具通常采用以下几种方法:①用自然语言表示算法;②用流程图表示算法;③用伪代码表示算法;④用程序设计语言表示算法。
⒗#include“stdio.h“
⒘{?floata=,b=,h=,s;
⒙s=(a+b)*h/;
⒚printf(“s=%f“,s);
⒛C语言问题程序设计题例题-穷举算法这一题那两句for是什么意思求详细的解答谢谢
c语言程序设计教程吴国栋版答案在哪里找
c语言程序设计教程吴国栋版答案在书本后面的二维码扫码可以找到。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
c语言程序设计教程第四版课后答案(李丽娟).pdf
您要c语言程序设计教程第四版课答案(李丽娟).pdf我已发送请按照步骤进行操作采纳我前进力记评采纳互相帮助c语言程序设计教程第四版课后答案(李丽娟).pdf
急需《C语言程序设计教程》第三版(谭浩强张基温)编著,高等教育出版社出版,课后习题答案!
C程序设计(第三版课后题答案!!!(--::)标签:教育分类:学习.请参照本章例题,编写一个C程序,输出以下信息:**************************VeryGood!**************************解:mian(){printf(“**************************”);printf(“
”);printf(“VeryGood!
”);printf(“
”);printf(“**************************”);}.编写一个程序,输入a、b、c三个值,输出其中最大值。解:mian(){inta,b,c,max;printf(“请输入三个数a,b,c:
”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max《b)max=b;if(max《c)max=c;printf(“最大数为:“%d”,max);}第三章.写出以下程序运行的结果。main(){charc=’a’,c=’b’,c=’c’,c=’’,c=’’;printf(“a%cb%c c%c abc
”,c,c,c);printf(“ b%c%c”,c,c);}解:aaㄩbbㄩㄩㄩㄩㄩㄩㄩㄩㄩabcAㄩN.要将“China“译成密码,译码规律是:用原来字母后面的第个字母代替原来的字母.例如,字母“A“后面第个字母是“E“.“E“代替“A“。因此,“China“应译为“Glmre“。请编一程序,用赋初值的方法使cl、c、c、c、c五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c、c、c、c、c分别变为’G’、’l’、’m’、’r’、’e’,并输出。解:#include《stdio.h》main(){charc=’C’,c=’h’,c=’i’,c=’n’,c=’a’;c+=;c+=;c+=;c+=;c+=;printf(“密码是%c%c%c%c%c
“,c,c,c,c,c);}运行结果:密码是Glmre.求下面算术表达式的值。(x+a%*(int)(x+y)%/设x=.,a=,y=.((float)(a+b)/+(int)x%(int)y设a=,b=,x=.,y=.(.(..写出程序运行的结果。main(){inti,j,m,n;i=;j=;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}解:,,,.写出下面表达式运算后a的值,设原来a=。设a和n都已定义为整型变量。(a+=a(a-=(a*=+(a/=a+a(a%=(n%=),n的值等于(a+=a-=a*=a解:()()()()()()第四章.若a=,b=,c=,x=.,y=.,z=-.,u=,n=,c=’a’,c=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出。a=___b=___c=_x=.,y=.,z=-.x+y=_.__y+z=-.__z+x=-.c=ˊaˊ_or_(ASCII)c=ˊbˊ_or_(ASCII)main(){inta=,b=,c=;longintu=,n=;floatx=.,y=.,z=.;charc=’a’,c=’b’;printf(“a=%db=%dc=%d
“,a,b,c);printf(“x=%f,y=%f,z=%f
“,x,y,z);printf(“x+y=%.fy+z=%.fz+x=%.f
“,x+y,y+z,z+x);printf(“u=%ldn=%ld
“,u,n);printf(“%s%s%d%s
“,“c=’a’“,“or“,c,“(ASCII)“);printf(“%s%s%d%s
“,“c=’a’“,“or“,c,“(ASCII)“);}.用scanf下面的函数输入数据,使a=,b=,x=.,y=.,c=ˊAˊ,c=ˊaˊ,问在键盘上如何输入?main(){inta,b;floatx,y;char;scanf(“a=%d_b=%d“,&a,&b;scanf(“_x=%f_y=%e“,&x,&y;scanf(“_c=%c_c=%c“,&c,&c;}a=_b=_x=._y=._c=A_c=a.设圆半径r=.,圆柱高h=,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。main(){floatr,h,C,Sa,Sb,Va,Vb;scanf(“%f,%f“,&r,&h);C=*.*r;Sa=.*r*r;Sb=*Sa;Va=*.*r*r*r/;Vb=Sa*h;printf(“C=%.f
“,C);printf(“Sa=%.f
“,Sa,Sb,Va,Vb);}.输入一个华氏温度,要求输出摄氏温度。公式为c=(F-)/输出要求有文字说明,取位小数。main(){floatF,c;scanf(“%f“,&F);c=*(F-)/;printf(“c=%.f“,c);}.编程序,用getchar函数读入两个字符给c、c,然后分别用函数和函数输出这两个字符。并思考以下问题:(变量c、c应定义为字符型或整形?抑二者皆可?(要求输出c和c值的ASCII码,应如何处理?用putchar函数还是printf函数?(整形变量与字符变量是否在任何情况下都可以互相代替?如:charc,c;与intc,c;是否无条件的等价?#include“stdio.h“main(){charc,c;c=getchar();c=getchar();putchar(c);putchar(’
’);putchar(c);putchar(’
’);}#include“stdio.h“main(){charc,c;c=getchar();c=getchar();printf(“c=%dc=%d
“,c,c);printf(“c=%=%c
“,c,c);}第五章.什么是算术运算?什么是关系运算?什么是逻辑运算?解:略。.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?解:设有一个逻辑表达式,若其结果为“真”,则以表示;若其结果为“假”,则以表示。但是判断一个逻辑量的值时,以代表“真”,以非代表“假”。例如&&的值为“真”,系统给出&&的值为。.写出下面各逻辑表达式的值。设a=,b=,c=。()a+b》c&&b==c()a||b+c&&b-c()!(a》b)&&!c||()!(x=a)&&(y=b)&&()!(a+b)+c-&&b+c/解:()()()()().有个整数a、b、c,由键盘输入,输出其中最大的数。解:方法一#include《stdio.h》main(){inta,b,c;printf(“请输入个整数:“);scanf(“%d,%d,%d“,&a,&b,&c);if(a《b)if(b《c)printf(“max=%d
“,c);elseprintf(“max=%d
“,b);elseif(a《c)printf(“max=%d
“,c);elseprintf(“max=%d
“,a);}方法二:使用条件表达式,可以使程序更加简明、清晰。程序如下:#include《stdio.h》main(){inta,b,c,temp,max;printf(“请输入个整数:“);scanf(“%d,%d,%d“,&a,&b,&c);temp=(a》b)?a:b;max=(temp》c)?temp:c;printf(“个整数的最大数是%d
”,max);}.有一函数:写一程序,输入x值,输出y值。解:#include《stdio.h》main(){intx,y;printf(“输入x:“);scanf(“%d“,&x);if(x《){y=x;printf(“x=%d,y=x=%d
“,x,y);}elseif(x《){y=*x-;printf(“x=%d,y=*x-=%d
“,x,y);}else{y=*x-;printf(“x=%d,y=*x-=%d
“,x,y);}}.给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。分以上为’A’,~分为’B’,~分为’C’,分以下为’D’。解:程序如下:#include《stdio.h》main(){floatscore;chargrade;case:printf(“请输入学生成绩:“);scanf(“%f“,&score);while(score》||(score《){printf(“
输入有误,请重新输入:“);scanf(“%f“,&score);}switch((int)(score/)){case:case:grade=’A’;break;case:grade=’B’;break;case:grade=’C’;break;case:grade=’D’;break;case:case:case:case:case:grade=’E’;}printf(“成绩是%.f,相应的等级是%c。
“,score,grade);}说明:对输入的数据进行检查,如小于或大于,要求重新输入。(int)(score/)的作用是将(score/)的值进行强制类型转换,得到一个整型值。.给定一个不多于位的正整数,要求:①求它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。例如原数为,应输出。解:#include《stdio.h》main(){longintnum;intindiv,ten,hundred,thousand,ten_thousand,place;printf(“请输入一个整数(~:“);scanf(“%ld“,#);if(num》)place=;elseif(num》)place=;elseif(num》)place=;elseif(num》)place=;elseplace=;printf(“place=%d
“,place);ten_thousand=num/;thousand=num/%;hundred=num/%;ten=num%/;indiv=num%;switch(place){case:printf(“%d,%d,%d,%d,%d“,ten_thousand,thousand,hundred,ten,indiv);printf(“
反序数字为;“);printf(“%d%d%d%d%d
“,indiv,ten,hundred,thousand,ten_thousand);break;case:printf(“%d,%d,%d,%d“,thousand,hundred,ten,indiv);printf(“
反序数字为:“);printf(“%d%d%d%d
“,indiv,ten,hundred,thousand);break;case:printf(“%d,%d,%d“,hundred,ten,indiv);printf(“
反序数字为:“);printf(“%d%d%d
“,indiv,ten,hundred);break;case:printf(“%d,%d“,ten,indiv);printf(“
反序数字为:“);printf(“%d%d
“,indiv,ten);break;case:printf(“%d“,indiv);printf(“
反序数字为:“);printf(“%d
“,indiv);break;}}.企业发放的奖金根据利润提成。利润I低于或等于万元时,奖金可提成%;利润高于万元,低于万元(《I≤时,其中万元按%提成,高于万元的部分,可提成.%;《I≤时,其中万元仍按上述办法提成(下同,高于万元的部分按%提成;《I≤时,高于万元的部分按%提成;〈I≤时,高于万的部分按.%提成;I》时,超过万元的部分按%提成。从键盘输入当月利润I,求应发放奖金总数。要求:()用if语句编程序;()用switch语句编程序。解:计算利润时,要特别注意不同利润的不同提成比例。例如,利润为万元,其中有万元按%的比例提成,另外万元则按.%提成。()用if语句编程序。#include《stdio.h》main(){longi;floatbonus,bon,bon,bon,bon,bon;bon=*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;printf(“请输入利润i:“);scanf(“%ld“,&i);if(i《=)bonus=i*.;elseif(i《=)bonus=bon+(i-)*.;elseif(i《=)bonus=bon+(i-)*.;elseif(i《=)bonus=bon+(i-)*.;elseif(i《=)bonus=bon+(i-)*.;elsebonus=bon+(i-)*.;printf(”奖金是%.f
“,bonus);}此题的关键在于正确写出每一区间的奖金计算公式。例如利润在万元至万时,奖金应由两部分组成:①利润为万元时应得的奖金。即ⅹ.;②万元以上部分应得的奖金。即(num-)ⅹ.。同理,万~万这个区间的奖金也应由两部分组成:①利润为万元时应得的奖金,即ⅹ.ⅹ万ⅹ.;②万元以上部分应得的奖金,即(num-)ⅹ.。程序中先把万、万、万、万、万各关键点的奖金计算出来,即bon、bon、bon、bon、hon;然后再加上各区间附加部分的奖金。()用switch语句编程序。输入利润i,确定相应的提成等级branch根据branch确定奖金值奖金=i*.奖金=bon+(i-)*.奖金=bon+(i-*)*.奖金=bon+(i-*)*.奖金=bon+(i-*)*.奖金=bon+(i-)*.输出奖金#include《stdio.h》main(){longi;floatbonus,bon,bon,bon,bon,bon;intc;bon=*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;printf(“请输入利润i:“);scanf(“%ld“,&i);c=i/;if(c》)c=;switch(c){case:bonus=*.;break;case:bonus=bon+(i-)*.;break;case:case:bonus=bon+(i-)*.;break;case:case:bonus=bon+(i-)*.;break;case:case:case:case:bonus=bon+(i-)*.;break;case:bonus=bon+(i-)*.;}printf(“奖金是%.f“,bonus);}.输入个整数,要求按由大到小的顺序输出。解:此题采用依次比较的方法排出其大小顺序。在学习了循环和数组以后,可以有更多的排序方法。#include《stdio.h》main(){intt,a,b,c,d;printf(“请输入个整数:“);scanf(“%d,%d,%d,%d“,&a,&b,&c,&d);printf(“
a=%d,b=%d,c=%d,d=%d
“,a,b,c,d);if(a》b){t=a;a=b;b=t;}if(a》c){t=a;a=c;c=t;}if(a》d){t=a;a=d;d=t;}if(b》c){t=a;b=c;c=t;}if(b》d){t=b;b=d;d=t;}if(c》d){t=c;c=d;d=t;}printf(“排序结果如下:
“);printf(“%d,%d,%d,%d
“,a,b,c,d);}.有个圆塔,圆心分别为(,)、(-,)、(,-)、(-,-),圆半径为。这个塔的高度分别为m。塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。程序如下:#include《stdio.h》main(){inth=;floatx=,y=,x=-,y=,x=-,y=-,x=-,y=-,x,y,d,d,d,d;printf(“请输入一个点(x,y):“);scanf(“%f,%f“,&x,&y);d=(x-x)*(x-x)+(y-y)*(y-y);d=(x-x)*(x-x)+(y+y)*(y+y);d=(x+x)*(x+x)+(y-y)*(y-y);d=(x+x)*(x-x)*(y+y)*(y+y);if(d》&&d》&&d》&&d》)h=;printf(“该点高度为%d
“,h);}第六章第六章循环控制.输入两个正整数m和n,求其最大公约数和最小公倍数。main(){longm,n,i=,j,s;scanf(“%ld,%ld“,&m,&n);for(;i《=m&&i《=n;i++){if(m%i==&&n%i==)s=i;}if(m》=n)j=m;elsej=n;for(;!(j%m==&&j%n==);j++);printf(“s=%ld,j=%ld
“,s,j);}.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include“stdio.h“main(){charc;inti=,j=,k=,l=;while((c=getchar())!=’
’){if(c》=&&c《=||c》=&&c《=)i++;elseif(c》=&&c《=)j++;elseif(c==)k++;elsel++;}printf(“i=%d,j=%d,k=%d,l=%d
“,i,j,k,l);}.求Sn=a+aa+aaa+…+aa…aaa(有n个a之值,其中a是一个数字。例如:++++(n=,n由键盘输入。#include“math.h“main(){intn,sum=,i=,s=;scanf(“%d“,&n);while(i《=n){sum=sum+s;s=s+*pow(,i);i++;}printf(“sum=%d
“,sum);}.求,(即求!+!+!+!+!+…+!main(){intn,i=;longsum=,s=;scanf(“%d“,&n);while(i《=n){s=s*i;sum=sum+s;i++;}printf(“sum=%ld
“,sum);}.求main(){doublei=,j=,k=,s=,s=,s=,sum;for(;i《=;i++)s=s+i;for(;j《=;j++)s=s+j*j;for(;k《=;k++)s=s+/k;sum=s+s+s;printf(“sum=%f
“,sum);}.打印出所有“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该本身。例如:是一个水仙花数,因为=^+^+^。#include“math.h“main(){intx=,a,b,c;while(x》=&&x《){a=.*x;b=*(.*x-a);c=x-*a-*b;if(x==(pow(a,)+pow(b,)+pow(c,)))printf(“%d“,x);x++;}}.一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如,的因子为、、,而=++,因此是“完数“。编程序找出之内的所有完数,并按下面格式输出其因子:itsfactorsare、、main(){intm,i,j,s;for(m=;m《;m++){s=;for(i=;i《m;i++)if(m%i==)s=s+i;if(m-s==){printf(“%ditsfastorsare“,m);for(j=;j《m;j++)if(m%j==)printf(“%d“,j);printf(“
“);}}}或main(){intm,i,j,s;for(m=;m《;m++){s=m-;for(i=;i《m;i++)if(m%i==)s=s-i;if(s==){printf(“%ditsfastorsare“,m);for(j=;j《m;j++)if(m%j==)printf(“%d“,j);printf(“
“);}}}.有一分数序列:求出这个数列的前项之和。main(){inti=,n;doublet,x=,y=,s,sum=;scanf(“%ld“,&n);while(i《=n){s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}printf(“%f
“,sum);}.一球从米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第次落地时共经过多少米?第次反弹多高?main(){inti,n;doubleh=,s=;scanf(“%d“,&n);for(i=;i《=n;i++){h*=.;if(i==)continue;s=*h+s;}printf(“h=%f,s=%f
“,h,s);}.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。main(){inti=,sum=;for(;i《=;sum=*sum+,i++);printf(“sum=%d
“,sum);}.用迭代法求。求平方根的迭代公式为:要求前后两次求出的得差的绝对值少于.。#include“math.h“main(){floatx,x,a;scanf(“%f“,&a);x=a/;do{x=x;x=(x+a/x)/;}while(fabs(x-x)》=.);printf(“%.f
“,x);}.用牛顿迭代法求方程在.附近的根。main(){doublex,y;x=.;do{y=*x*x*x-*x*x+*x-;x=x-y/(*x*x-*x+);}while(y!=);printf(“x=%.f
“,x);}.用二分法求方程在(-,)之间的根main(){doublex,x,y,y;x=-;x=;do{y=*x*x*x-*x*x+*x-;x=x-y/(*x*x-*x+);}while(y!=);do{y=*x*x*x-*x*x+*x-;x=x-y/(*x*x-*x+);}while(y!=);printf(“x=%.f,x=%.f
“,x,x);}.打印以下图案*************************#include“math.h“main(){inti,j,k;for(i=;i《=;i++){for(j=;j《=-i;j++)printf(““);for(k=;k《=*i;k++)printf(“*“);printf(“
“);}for(i=;i《=;i++){for(j=;j《=i;j++)printf(““);for(k=;k《=-*i;k++)printf(“*“);printf(“
“);}}第七章第七章数组.用筛法求之内的素数。main(){inti,j,a;for(i=;i《;i++){a=i;for(j=;j《=i;j++){if(j《i)if(a%j==)break;if(a-j==)printf(“%d“,a);}}printf(“
“);}或#include“math.h“main(){staticinti,j,k,a;for(i=;i《;i++){a=i;k=sqrt(i);for(j=;j《=a;j++)if(j《k)if(a%j==)break;if(j》=k+)printf(“%d“,a);}printf(“
“);}.用选择法对个整数从小到大排序。main(){inti,j,a,t;for(i=;i《;i++)scanf(“%d“,&a);for(j=;j《;j++)for(i=;i《=-j;i++)if(a){t=a=t;}for(i=;i《;i++)printf(“%d“,a);}或main(){staticinta,i,j,k,t;for(i=;i《;i++)scanf(“%d“,&a);for(j=;j《;j++)for(i=;i《=-j;j++)if(a){t=a=t;}for(i=;i《;i++)printf(“%d“,a);printf(“
“);}.求一个×矩阵对角线元素之和。main(){inti=,j=,a,s,s;for(i=;i《;i++)for(j=;j《;j++)scanf(“%d“,&a);s=a;s=a;printf(“s=%d,s=%d
“,s,s);}或main(){staticinti,j,s,s,a;for(i=;i《=;i++)for(j=;j《=;j++)scanf(“%d“,&a);s=a;s=a;printf(“%d,%d
“,s,s);}.已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。main(){staticinta={,,,,,,,,};inti,j,t;scanf(“%d“,&a);for(i=;i》;i--)if(a){t=a=t;}for(i=;i《;i++)printf(“%d“,a);printf(“
“);}或main(){staticinta={,,,,};inti,t,b;scanf(“%d“,&b);for(i=;i《;i++){if(b《=a){t=a=b;b=t;}printf(“%d“,a);}printf(“%d“,b);}.将一个数组的值按逆序重新存放,例如,原来顺序为:,,,,。要求改为:,,,,。main(){inti,b;for(i=;i《;i++)scanf(“%d“,&b);for(i=;i》-;i--)printf(“%d“,b);printf(“
“);}.打印出以下杨辉三角形(要求打印出行。∶∶main(){staticintm,n,k,b;b=;for(m=;m《;m++){for(n=;n《=m;n++){b;printf(“%-d“,b);}printf(“
“);}}}或main(){inti,j,n,k,a;statica={{},{},{},{},{},{},{},{},{},{}};a=;for(k=,k《;k++)for(i=;i《=k;i++)for(j=;j《=i;j++)a;for(k=;k《;k++)for(i=;i《=k;i++)for(j=;j《=i;j++)printf(“%d“,a);}.打印“魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为要求打印出由~n的自然数构成的魔方阵。解:#include《stdio.h》main(){inta,i,i,k,p,m,n;p=;while(p==){printf(“Entern(n=~):“);scanf(“%d“,&n);if((n!=)&&(n《=)&&(n%!=))p=;}for(i=;i《=n;i++)for(j=;j《=n;j++)a=
C语言程序设计教程答案~有追加悬赏分!
C语言】《C语言程序设计教程(第二版)》习题答案说明.本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。第章程序设计基础知识一、单项选择题(第页)-.CBBC-.DACA二、填空题(第页).判断条件.面向过程编程.结构化.程序.面向对象的程序设计语言.有穷性.直到型循环.算法.可读性.模块化.对问题的分析和模块的划分三、应用题(第页).源程序:main(){inti,j,k;/*i:公鸡数,j:母鸡数,k:小鸡数的/*/printf(“cockhenchick
“);for(i=;i《=;i++)for(j=;j《=;j++)for(k=;k《=;k++)if(i+j+k*==&&i*+j*+k==)printf(“%d%d%d
“,i,j,k*);}执行结果:cockhenchick.现计算斐波那契数列的前项。递推法源程序:main(){longa,b;inti;a=b=;for(i=;i《=;i++)/*要计算前项,把改为。*/{printf(“%ld%ld“,a,b);a=a+b;b=b+a;}}递归法源程序:main(){inti;for(i=;i《=;i++)printf(“%d“,fib(i));}fib(inti){return(i《=?:fib(i-)+fib(i-));}执行结果:.源程序:#include“math.h“;main(){doublex,x,deltax;x=.;do{x=pow(x+,);deltax=fabs(x-x);x=x;}while(deltax》e-);printf(“%.f
“,x);}执行结果:..源程序略。(分子、分母均构成斐波那契数列)结果是..源程序:main(){inta,b,c,m;printf(“Pleaseinputa,bandc:“);scanf(“%d%d%d“,&a,&b,&c);if(a《b){m=a;a=b;b=m;}if(a《c){m=a;a=c;c=m;}if(b《c){m=b;b=c;c=m;}printf(“%d%d%d
“,a,b,c);}执行结果:Pleaseinputa,bandc:.源程序:main(){inta;scanf(“%d“,&a);printf(a%==?“Yes“:“No“);}执行结果:Yes第章C语言概述一、单项选择题(第页)-.BDCB-.AABC二、填空题(第页).主.C编译系统.函数函数.输入输出.头..OBJ.库函数.文本三、应用题(第页).sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN、x、until、cosx、s_是标识符。.源程序:main(){inta,b,c;scanf(“%d%d“,&a,&b);c=a;a=b;b=c;printf(“%d%d“,a,b);}执行结果:第章数据类型与运算规则一、单项选择题(第页)-.DBA-.DBDBC-.ADC-.CBD-.ADDBC-.AB二、填空题(第页).补码.±(^-~^).int(整数).单目自右相左.函数调用.a或b..,三、应用题(第页)..执行结果:第章顺序结构程序设计一、单项选择题(第页)-.DCDAD-.BACBB二、填空题(第页).一;...()-()I=-,j=()i=-j=.a=,b=.,c=..略.,,..scanf(“%lf%lf%lf“,&a,&b,&c);..,..a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)三、编程题(第页).仿照教材第页例-。.源程序:main(){inth,m;scanf(“%d:%d“,&h,&m);printf(“%d
“,h*+m);}执行结果::.源程序:main(){inta={-,,,},i;for(i=;i《=;i++)printf(“%dC=%gF “,a*.+);}执行结果:-℃=°F℃=°F℃=°F℃=.°F.源程序:main(){doublepi=.,r=;printf(“r=%lgA=%.lfS=%.lf
“,r,*pi*r,pi*pi*r);}执行结果:r=A=.S=..源程序:#include“math.h“;main(){doublea,b,c;scanf(“%lf%lf%lf“,&a,&b,&c);if(a+b》c&&a+c》b&&b+c》a){doubles=(a+b+c)/;printf(“SS=%.lf
“,sqrt(s*(s-a)*(s-b)*(s-c)));}elseprintf(“Dataerror!“);}执行结果:SS=..源程序:main(){inta=,b=,c=;floatd=.,e=.,f=-.;printf(“a=%d,b=%-d,c=**%d
“,a,b,c,d,e,f);}.源程序:main(){inta,b,c,m;scanf(“%d%d%d“,&a,&b,&c);m=a;a=b;b=c;c=m;printf(“%d%d%d
“,a,b,c);}执行结果:.源程序:main(){inta,b,c;scanf(“%d%d%d“,&a,&b,&c);printf(“averageof%d,%dand%dis%.f
“,a,b,c,(a+b+c)/.);执行结果:averageof,andis..不能。修改后的源程序如下:main(){inta,b,c,x,y;scanf(“%d%d%d“,&a,&b,&c);x=a*b;y=x*c;printf(“a=%d,b=%d,c=%d
“,a,b,c);printf(“x=%d,y=%d
“,x,y);}第章选择结构程序设计一、单项选择题(第页)-.DCBB-.DABD二、填空题(第页).非.k==.if(abs(x)》)printf(“%d“,x);elseprintf(“error!“);.if((x》=&&x《=||x》=&&x《=)&&x&)printf(“%d“,x);.k=(原题最后一行漏了个d,如果认为原题正确,则输出k=%。).!Right!.$$$a=.a=,b=三、编程题(第页).有错。正确的程序如下:main(){inta,b,c;scanf(“%d,%d,%d“,&a,&b,&c);printf(“min=%d
“,a》b?b》c?c:b:a》c?c:a);}.源程序:main(){unsignedlonga;scanf(“%ld“,&a);for(;a;printf(“%d“,a%),a/=);}执行结果:.()源程序:main(){intx,y;scanf(“%d“,&x);if(x》-&&x《)y=x;if(x》=&&x《)y=x-;if(x》=&&x《)y=x+;printf(“%d
“,y);}()源程序:main(){intx,y;scanf(“%d“,&x);if(x《)if(x》-)if(x》=)if(x》=)y=x+;elsey=x-;elsey=x;printf(“%d
“,y);}()源程序:main(){intx,y;scanf(“%d“,&x);if(x《)if(x》=)y=x+;elseif(x》=)y=x-;elseif(x》-)y=x;printf(“%d
“,y);}()源程序:main(){intx,y;scanf(“%d“,&x);switch(x/){case-:if(x!=-)y=x;break;case:y=x-;break;case:y=x+;}printf(“%d
“,y);}.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。现给出Delphi源程序和C++Builder源程序。Delphi源程序:procedureTForm.ButtonClick(Sender:TObject);beginedit.Text:=format(’%.f天’,);end;procedureTForm.FormCreate(Sender:TObject);beginEdit.Text:=datetostr(now);buttonclick(form)end;C++Builder源程序:void__fastcallTForm::ButtonClick(TObject*Sender){Edit-》Text=IntToStr(StrToDate(Edit-》Text)-StrToDate(Edit-》Text))+“天“;}void__fastcallTForm::FormCreate(TObject*Sender){Edit-》Text=Da)我不是说叫你有问题另发帖子吗?第章指针一、单项选择题(第页)-.DCDAC-.ABC-.AABBB-.DCDBD二、填空题(第页).①int*②*z.*p++.①’’②++.①q=p+②q《p+③*q》max④*q《min三、编程题(第页).源程序:main(){inti=;charc;do{scanf(“%s“,&c);i++;}while(strcmp(c,“stop“));printf(“%d
“,i);}执行结果:ThiscarranformNanyangtoLuoyangwithoutastop.源程序:main(){chars={};inti;gets(s);for(i=;s++);for(i=;i《;i++)if(c);}执行结果:abcedabcdcda=b=c=d=e=
谭浩强C语言程序设计教程(第三版)》的课后习题答案
编写一个程序,输入a、b、c三个值,输出其中最大值。解:mian(){inta,b,c,max;printf(“请输入三个数a,b,c:
”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max《b)max=b;if(max《c)max=c;printf(“最大数为:“%d”,max);}
急需《C语言程序设计教程》第三版(谭浩强张基温)编著,高等教育出版社出版,课后习题答案!
C程序设计(第三版课后题答案!!!(--::)标签:教育分类:学习.请参照本章例题,编写一个C程序,输出以下信息:**************************VeryGood!**************************解:mian(){printf(“**************************”);printf(“
”);printf(“VeryGood!
”);printf(“
”);printf(“**************************”);}.编写一个程序,输入a、b、c三个值,输出其中最大值。解:mian(){inta,b,c,max;printf(“请输入三个数a,b,c:
”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max《b)max=b;if(max《c)max=c;printf(“最大数为:“%d”,max);}第三章.写出以下程序运行的结果。main(){charc=’a’,c=’b’,c=’c’,c=’’,c=’’;printf(“a%cb%c c%c abc
”,c,c,c);printf(“ b%c%c”,c,c);}解:aaㄩbbㄩㄩㄩㄩㄩㄩㄩㄩㄩabcAㄩN.要将“China“译成密码,译码规律是:用原来字母后面的第个字母代替原来的字母.例如,字母“A“后面第个字母是“E“.“E“代替“A“。因此,“China“应译为“Glmre“。请编一程序,用赋初值的方法使cl、c、c、c、c五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c、c、c、c、c分别变为’G’、’l’、’m’、’r’、’e’,并输出。解:#include《stdio.h》main(){charc=’C’,c=’h’,c=’i’,c=’n’,c=’a’;c+=;c+=;c+=;c+=;c+=;printf(“密码是%c%c%c%c%c
“,c,c,c,c,c);}运行结果:密码是Glmre.求下面算术表达式的值。(x+a%*(int)(x+y)%/设x=.,a=,y=.((float)(a+b)/+(int)x%(int)y设a=,b=,x=.,y=.(.(..写出程序运行的结果。main(){inti,j,m,n;i=;j=;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}解:,,,.写出下面表达式运算后a的值,设原来a=。设a和n都已定义为整型变量。(a+=a(a-=(a*=+(a/=a+a(a%=(n%=),n的值等于(a+=a-=a*=a解:()()()()()()第四章.若a=,b=,c=,x=.,y=.,z=-.,u=,n=,c=’a’,c=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出。a=___b=___c=_x=.,y=.,z=-.x+y=_.__y+z=-.__z+x=-.c=ˊaˊ_or_(ASCII)c=ˊbˊ_or_(ASCII)main(){inta=,b=,c=;longintu=,n=;floatx=.,y=.,z=.;charc=’a’,c=’b’;printf(“a=%db=%dc=%d
“,a,b,c);printf(“x=%f,y=%f,z=%f
“,x,y,z);printf(“x+y=%.fy+z=%.fz+x=%.f
“,x+y,y+z,z+x);printf(“u=%ldn=%ld
“,u,n);printf(“%s%s%d%s
“,“c=’a’“,“or“,c,“(ASCII)“);printf(“%s%s%d%s
“,“c=’a’“,“or“,c,“(ASCII)“);}.用scanf下面的函数输入数据,使a=,b=,x=.,y=.,c=ˊAˊ,c=ˊaˊ,问在键盘上如何输入?main(){inta,b;floatx,y;char;scanf(“a=%d_b=%d“,&a,&b;scanf(“_x=%f_y=%e“,&x,&y;scanf(“_c=%c_c=%c“,&c,&c;}a=_b=_x=._y=._c=A_c=a.设圆半径r=.,圆柱高h=,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。main(){floatr,h,C,Sa,Sb,Va,Vb;scanf(“%f,%f“,&r,&h);C=*.*r;Sa=.*r*r;Sb=*Sa;Va=*.*r*r*r/;Vb=Sa*h;printf(“C=%.f
“,C);printf(“Sa=%.f
“,Sa,Sb,Va,Vb);}.输入一个华氏温度,要求输出摄氏温度。公式为c=(F-)/输出要求有文字说明,取位小数。main(){floatF,c;scanf(“%f“,&F);c=*(F-)/;printf(“c=%.f“,c);}.编程序,用getchar函数读入两个字符给c、c,然后分别用函数和函数输出这两个字符。并思考以下问题:(变量c、c应定义为字符型或整形?抑二者皆可?(要求输出c和c值的ASCII码,应如何处理?用putchar函数还是printf函数?(整形变量与字符变量是否在任何情况下都可以互相代替?如:charc,c;与intc,c;是否无条件的等价?#include“stdio.h“main(){charc,c;c=getchar();c=getchar();putchar(c);putchar(’
’);putchar(c);putchar(’
’);}#include“stdio.h“main(){charc,c;c=getchar();c=getchar();printf(“c=%dc=%d
“,c,c);printf(“c=%=%c
“,c,c);}第五章.什么是算术运算?什么是关系运算?什么是逻辑运算?解:略。.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?解:设有一个逻辑表达式,若其结果为“真”,则以表示;若其结果为“假”,则以表示。但是判断一个逻辑量的值时,以代表“真”,以非代表“假”。例如&&的值为“真”,系统给出&&的值为。.写出下面各逻辑表达式的值。设a=,b=,c=。()a+b》c&&b==c()a||b+c&&b-c()!(a》b)&&!c||()!(x=a)&&(y=b)&&()!(a+b)+c-&&b+c/解:()()()()().有个整数a、b、c,由键盘输入,输出其中最大的数。解:方法一#include《stdio.h》main(){inta,b,c;printf(“请输入个整数:“);scanf(“%d,%d,%d“,&a,&b,&c);if(a《b)if(b《c)printf(“max=%d
“,c);elseprintf(“max=%d
“,b);elseif(a《c)printf(“max=%d
“,c);elseprintf(“max=%d
“,a);}方法二:使用条件表达式,可以使程序更加简明、清晰。程序如下:#include《stdio.h》main(){inta,b,c,temp,max;printf(“请输入个整数:“);scanf(“%d,%d,%d“,&a,&b,&c);temp=(a》b)?a:b;max=(temp》c)?temp:c;printf(“个整数的最大数是%d
”,max);}.有一函数:写一程序,输入x值,输出y值。解:#include《stdio.h》main(){intx,y;printf(“输入x:“);scanf(“%d“,&x);if(x《){y=x;printf(“x=%d,y=x=%d
“,x,y);}elseif(x《){y=*x-;printf(“x=%d,y=*x-=%d
“,x,y);}else{y=*x-;printf(“x=%d,y=*x-=%d
“,x,y);}}.给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。分以上为’A’,~分为’B’,~分为’C’,分以下为’D’。解:程序如下:#include《stdio.h》main(){floatscore;chargrade;case:printf(“请输入学生成绩:“);scanf(“%f“,&score);while(score》||(score《){printf(“
输入有误,请重新输入:“);scanf(“%f“,&score);}switch((int)(score/)){case:case:grade=’A’;break;case:grade=’B’;break;case:grade=’C’;break;case:grade=’D’;break;case:case:case:case:case:grade=’E’;}printf(“成绩是%.f,相应的等级是%c。
“,score,grade);}说明:对输入的数据进行检查,如小于或大于,要求重新输入。(int)(score/)的作用是将(score/)的值进行强制类型转换,得到一个整型值。.给定一个不多于位的正整数,要求:①求它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。例如原数为,应输出。解:#include《stdio.h》main(){longintnum;intindiv,ten,hundred,thousand,ten_thousand,place;printf(“请输入一个整数(~:“);scanf(“%ld“,#);if(num》)place=;elseif(num》)place=;elseif(num》)place=;elseif(num》)place=;elseplace=;printf(“place=%d
“,place);ten_thousand=num/;thousand=num/%;hundred=num/%;ten=num%/;indiv=num%;switch(place){case:printf(“%d,%d,%d,%d,%d“,ten_thousand,thousand,hundred,ten,indiv);printf(“
反序数字为;“);printf(“%d%d%d%d%d
“,indiv,ten,hundred,thousand,ten_thousand);break;case:printf(“%d,%d,%d,%d“,thousand,hundred,ten,indiv);printf(“
反序数字为:“);printf(“%d%d%d%d
“,indiv,ten,hundred,thousand);break;case:printf(“%d,%d,%d“,hundred,ten,indiv);printf(“
反序数字为:“);printf(“%d%d%d
“,indiv,ten,hundred);break;case:printf(“%d,%d“,ten,indiv);printf(“
反序数字为:“);printf(“%d%d
“,indiv,ten);break;case:printf(“%d“,indiv);printf(“
反序数字为:“);printf(“%d
“,indiv);break;}}.企业发放的奖金根据利润提成。利润I低于或等于万元时,奖金可提成%;利润高于万元,低于万元(《I≤时,其中万元按%提成,高于万元的部分,可提成.%;《I≤时,其中万元仍按上述办法提成(下同,高于万元的部分按%提成;《I≤时,高于万元的部分按%提成;〈I≤时,高于万的部分按.%提成;I》时,超过万元的部分按%提成。从键盘输入当月利润I,求应发放奖金总数。要求:()用if语句编程序;()用switch语句编程序。解:计算利润时,要特别注意不同利润的不同提成比例。例如,利润为万元,其中有万元按%的比例提成,另外万元则按.%提成。()用if语句编程序。#include《stdio.h》main(){longi;floatbonus,bon,bon,bon,bon,bon;bon=*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;printf(“请输入利润i:“);scanf(“%ld“,&i);if(i《=)bonus=i*.;elseif(i《=)bonus=bon+(i-)*.;elseif(i《=)bonus=bon+(i-)*.;elseif(i《=)bonus=bon+(i-)*.;elseif(i《=)bonus=bon+(i-)*.;elsebonus=bon+(i-)*.;printf(”奖金是%.f
“,bonus);}此题的关键在于正确写出每一区间的奖金计算公式。例如利润在万元至万时,奖金应由两部分组成:①利润为万元时应得的奖金。即ⅹ.;②万元以上部分应得的奖金。即(num-)ⅹ.。同理,万~万这个区间的奖金也应由两部分组成:①利润为万元时应得的奖金,即ⅹ.ⅹ万ⅹ.;②万元以上部分应得的奖金,即(num-)ⅹ.。程序中先把万、万、万、万、万各关键点的奖金计算出来,即bon、bon、bon、bon、hon;然后再加上各区间附加部分的奖金。()用switch语句编程序。输入利润i,确定相应的提成等级branch根据branch确定奖金值奖金=i*.奖金=bon+(i-)*.奖金=bon+(i-*)*.奖金=bon+(i-*)*.奖金=bon+(i-*)*.奖金=bon+(i-)*.输出奖金#include《stdio.h》main(){longi;floatbonus,bon,bon,bon,bon,bon;intc;bon=*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;bon=bon+*.;printf(“请输入利润i:“);scanf(“%ld“,&i);c=i/;if(c》)c=;switch(c){case:bonus=*.;break;case:bonus=bon+(i-)*.;break;case:case:bonus=bon+(i-)*.;break;case:case:bonus=bon+(i-)*.;break;case:case:case:case:bonus=bon+(i-)*.;break;case:bonus=bon+(i-)*.;}printf(“奖金是%.f“,bonus);}.输入个整数,要求按由大到小的顺序输出。解:此题采用依次比较的方法排出其大小顺序。在学习了循环和数组以后,可以有更多的排序方法。#include《stdio.h》main(){intt,a,b,c,d;printf(“请输入个整数:“);scanf(“%d,%d,%d,%d“,&a,&b,&c,&d);printf(“
a=%d,b=%d,c=%d,d=%d
“,a,b,c,d);if(a》b){t=a;a=b;b=t;}if(a》c){t=a;a=c;c=t;}if(a》d){t=a;a=d;d=t;}if(b》c){t=a;b=c;c=t;}if(b》d){t=b;b=d;d=t;}if(c》d){t=c;c=d;d=t;}printf(“排序结果如下:
“);printf(“%d,%d,%d,%d
“,a,b,c,d);}.有个圆塔,圆心分别为(,)、(-,)、(,-)、(-,-),圆半径为。这个塔的高度分别为m。塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。程序如下:#include《stdio.h》main(){inth=;floatx=,y=,x=-,y=,x=-,y=-,x=-,y=-,x,y,d,d,d,d;printf(“请输入一个点(x,y):“);scanf(“%f,%f“,&x,&y);d=(x-x)*(x-x)+(y-y)*(y-y);d=(x-x)*(x-x)+(y+y)*(y+y);d=(x+x)*(x+x)+(y-y)*(y-y);d=(x+x)*(x-x)*(y+y)*(y+y);if(d》&&d》&&d》&&d》)h=;printf(“该点高度为%d
“,h);}第六章第六章循环控制.输入两个正整数m和n,求其最大公约数和最小公倍数。main(){longm,n,i=,j,s;scanf(“%ld,%ld“,&m,&n);for(;i《=m&&i《=n;i++){if(m%i==&&n%i==)s=i;}if(m》=n)j=m;elsej=n;for(;!(j%m==&&j%n==);j++);printf(“s=%ld,j=%ld
“,s,j);}.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include“stdio.h“main(){charc;inti=,j=,k=,l=;while((c=getchar())!=’
’){if(c》=&&c《=||c》=&&c《=)i++;elseif(c》=&&c《=)j++;elseif(c==)k++;elsel++;}printf(“i=%d,j=%d,k=%d,l=%d
“,i,j,k,l);}.求Sn=a+aa+aaa+…+aa…aaa(有n个a之值,其中a是一个数字。例如:++++(n=,n由键盘输入。#include“math.h“main(){intn,sum=,i=,s=;scanf(“%d“,&n);while(i《=n){sum=sum+s;s=s+*pow(,i);i++;}printf(“sum=%d
“,sum);}.求,(即求!+!+!+!+!+…+!main(){intn,i=;longsum=,s=;scanf(“%d“,&n);while(i《=n){s=s*i;sum=sum+s;i++;}printf(“sum=%ld
“,sum);}.求main(){doublei=,j=,k=,s=,s=,s=,sum;for(;i《=;i++)s=s+i;for(;j《=;j++)s=s+j*j;for(;k《=;k++)s=s+/k;sum=s+s+s;printf(“sum=%f
“,sum);}.打印出所有“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该本身。例如:是一个水仙花数,因为=^+^+^。#include“math.h“main(){intx=,a,b,c;while(x》=&&x《){a=.*x;b=*(.*x-a);c=x-*a-*b;if(x==(pow(a,)+pow(b,)+pow(c,)))printf(“%d“,x);x++;}}.一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如,的因子为、、,而=++,因此是“完数“。编程序找出之内的所有完数,并按下面格式输出其因子:itsfactorsare、、main(){intm,i,j,s;for(m=;m《;m++){s=;for(i=;i《m;i++)if(m%i==)s=s+i;if(m-s==){printf(“%ditsfastorsare“,m);for(j=;j《m;j++)if(m%j==)printf(“%d“,j);printf(“
“);}}}或main(){intm,i,j,s;for(m=;m《;m++){s=m-;for(i=;i《m;i++)if(m%i==)s=s-i;if(s==){printf(“%ditsfastorsare“,m);for(j=;j《m;j++)if(m%j==)printf(“%d“,j);printf(“
“);}}}.有一分数序列:求出这个数列的前项之和。main(){inti=,n;doublet,x=,y=,s,sum=;scanf(“%ld“,&n);while(i《=n){s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}printf(“%f
“,sum);}.一球从米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第次落地时共经过多少米?第次反弹多高?main(){inti,n;doubleh=,s=;scanf(“%d“,&n);for(i=;i《=n;i++){h*=.;if(i==)continue;s=*h+s;}printf(“h=%f,s=%f
“,h,s);}.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。main(){inti=,sum=;for(;i《=;sum=*sum+,i++);printf(“sum=%d
“,sum);}.用迭代法求。求平方根的迭代公式为:要求前后两次求出的得差的绝对值少于.。#include“math.h“main(){floatx,x,a;scanf(“%f“,&a);x=a/;do{x=x;x=(x+a/x)/;}while(fabs(x-x)》=.);printf(“%.f
“,x);}.用牛顿迭代法求方程在.附近的根。main(){doublex,y;x=.;do{y=*x*x*x-*x*x+*x-;x=x-y/(*x*x-*x+);}while(y!=);printf(“x=%.f
“,x);}.用二分法求方程在(-,)之间的根main(){doublex,x,y,y;x=-;x=;do{y=*x*x*x-*x*x+*x-;x=x-y/(*x*x-*x+);}while(y!=);do{y=*x*x*x-*x*x+*x-;x=x-y/(*x*x-*x+);}while(y!=);printf(“x=%.f,x=%.f
“,x,x);}.打印以下图案*************************#include“math.h“main(){inti,j,k;for(i=;i《=;i++){for(j=;j《=-i;j++)printf(““);for(k=;k《=*i;k++)printf(“*“);printf(“
“);}for(i=;i《=;i++){for(j=;j《=i;j++)printf(““);for(k=;k《=-*i;k++)printf(“*“);printf(“
“);}}第七章第七章数组.用筛法求之内的素数。main(){inti,j,a;for(i=;i《;i++){a=i;for(j=;j《=i;j++){if(j《i)if(a%j==)break;if(a-j==)printf(“%d“,a);}}printf(“
“);}或#include“math.h“main(){staticinti,j,k,a;for(i=;i《;i++){a=i;k=sqrt(i);for(j=;j《=a;j++)if(j《k)if(a%j==)break;if(j》=k+)printf(“%d“,a);}printf(“
“);}.用选择法对个整数从小到大排序。main(){inti,j,a,t;for(i=;i《;i++)scanf(“%d“,&a);for(j=;j《;j++)for(i=;i《=-j;i++)if(a){t=a=t;}for(i=;i《;i++)printf(“%d“,a);}或main(){staticinta,i,j,k,t;for(i=;i《;i++)scanf(“%d“,&a);for(j=;j《;j++)for(i=;i《=-j;j++)if(a){t=a=t;}for(i=;i《;i++)printf(“%d“,a);printf(“
“);}.求一个×矩阵对角线元素之和。main(){inti=,j=,a,s,s;for(i=;i《;i++)for(j=;j《;j++)scanf(“%d“,&a);s=a;s=a;printf(“s=%d,s=%d
“,s,s);}或main(){staticinti,j,s,s,a;for(i=;i《=;i++)for(j=;j《=;j++)scanf(“%d“,&a);s=a;s=a;printf(“%d,%d
“,s,s);}.已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。main(){staticinta={,,,,,,,,};inti,j,t;scanf(“%d“,&a);for(i=;i》;i--)if(a){t=a=t;}for(i=;i《;i++)printf(“%d“,a);printf(“
“);}或main(){staticinta={,,,,};inti,t,b;scanf(“%d“,&b);for(i=;i《;i++){if(b《=a){t=a=b;b=t;}printf(“%d“,a);}printf(“%d“,b);}.将一个数组的值按逆序重新存放,例如,原来顺序为:,,,,。要求改为:,,,,。main(){inti,b;for(i=;i《;i++)scanf(“%d“,&b);for(i=;i》-;i--)printf(“%d“,b);printf(“
“);}.打印出以下杨辉三角形(要求打印出行。∶∶main(){staticintm,n,k,b;b=;for(m=;m《;m++){for(n=;n《=m;n++){b;printf(“%-d“,b);}printf(“
“);}}}或main(){inti,j,n,k,a;statica={{},{},{},{},{},{},{},{},{},{}};a=;for(k=,k《;k++)for(i=;i《=k;i++)for(j=;j《=i;j++)a;for(k=;k《;k++)for(i=;i《=k;i++)for(j=;j《=i;j++)printf(“%d“,a);}.打印“魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为要求打印出由~n的自然数构成的魔方阵。解:#include《stdio.h》main(){inta,i,i,k,p,m,n;p=;while(p==){printf(“Entern(n=~):“);scanf(“%d“,&n);if((n!=)&&(n《=)&&(n%!=))p=;}for(i=;i《=n;i++)for(j=;j《=n;j++)a=