




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础-C语言(科学出版社教材)第三章-程序结构教材习题答案1.0编写程序使整形变量:a=3,b=4,c=5,p=0xfffe,q=0xffff;浮点型变量:x=1.2,y=2.4,z=3.6;无符号型变量:u=5127486,n=128765,字符型变量:c1=a,c2=b;#include void main()int a,b,c,p,q;float x,y,z;unsigned int u,n;char c1,c2;a=3;b=4;c=5;p=0xfffe;q=0xffff;x=1.2;y=2.4;z=-3.6;u=5127486;n=128765;c1=a;c2=b;printf(a=%d b=%d c=%dn,a,b,c);printf(p=%#x q=%#xn,p,q);printf(x=%f,y=%f,z=%fn,x,y,z); printf(x+y=%.2f y+z=%.2f x+z=%.2fn,x+y,y+z,x+z); printf(u=%8u n=%8un,u,n);printf(c1=%c or %dn,c1,c1);printf(c2=%c or %dn,c2,c2);2.0 读入三个双精度数,求出它们的平均值并保留此平均值小数点后二位,最后输出结果。#include void main()double a,b,c,d;printf(请输入三个双精度数:);scanf(%lf,%lf,%lf,&a,&b,&c);d=(a+b+c)/3;printf(d=%.2lf,d );3.0 编写一个程序,要求输入三个整数值a,b,c,把c中的值赋给b, 把b中的值赋给a, 把a中的值赋给c,最后输出a,b,c.#include void main()int a,b,c,t;printf(输入三个整数值:);scanf(%d,%d,%d,&a,&b,&c);t=a;a=b;b=c;c=t;printf(a=%d,b=%d,c=%dn,a,b,c);4.0 编写一个程序,要求输入一个华氏温度,输出对于的摄氏温度。华氏温度与摄氏温度转换公式为:c=5/9*(F-32).结果保留二位小数。#include void main()float F;float C;printf(请输入一个华氏温度F=);scanf(%f,&F);C=5.0/9.0*(F-32.0);printf(对应的摄氏温度C=%.2fn,C);5.0 编写一个程序,要求输入一个三位数,正确的分量出它的个位,十位,百位,并在屏幕显示出来#include void main()int a,a100,a10,a1;printf(请输入一个三位整数:);scanf(%d,&a);if(100=a & a=999)a100=a/100;a=a%100;a10=a/10;a1=a%10;printf(百位数是%d,十位数是%d,个位数是%dn,a100,a10,a1);elseprintf(输入的数据不是一个3位整数!n);60 编写一个程序,输入一个整数,输出它是奇数还是偶数#include void main()int a,b;printf(请输入一个整数:);scanf(%d,&a);b=a%2;if(b=0)printf(偶数a=%dn,a);elseprintf(奇数a=%dn,a);70 编写程序,输入x,对应输出Y值。#include void main()int x,y;printf(输入x值:);scanf(%d,&x);if (x1) y=x;else if (1=x & x10) y=2*x-1;else y=3*x-11;printf(%dn,y);8.0 编写一个程序,要求由键盘输入3个数,判断它们是否能构成三角形的三边。若能,请判断构成的是等腰,等边还是普通三角形。#include #include void main()unsigned int i_a,i_b,i_c;float f_s;printf(请输入3个数作为三角形的三条边,中间用空格隔开:);scanf(%u %u %u,&i_a,&i_b,&i_c);if(i_a+i_b)i_c & (i_a+i_c)i_b & (i_c+i_b)i_a)f_s=(float)(i_a+i_b+i_c)/2; f_s=sqrt(f_s*(f_s-i_a)*(f_s-i_b)*(f_s-i_c);printf(该3个数可构成一个三角形,其面积是%.2fn,f_s);if(i_a=i_b)&(i_a=i_c) printf(该三角形是等边三角形n); elseif(i_a=i_b) | (i_a=i_c) | (i_b=i_c) printf(该三角形是等腰三角形n); elseprintf(该三角形是一般三角形n); elseprintf(该3个数不能构成一个三角形n); 9.0 编写程序,输入某年某月,求该月有多少天。#include void main()unsigned int i_Year,i_Month;char i_Days;printf(请输入年月,中间用空格隔开:);scanf(%u %u,&i_Year,&i_Month);if(1=i_Month & i_Month=12)switch(i_Month)case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:i_Days=31;break;case 4:;case 6:;case 9:;case 11:i_Days=30;break;case 2:if(i_Year%4=0 & i_Year%100!=0 | i_Year%400=0) i_Days=29; else i_Days=28;printf(%d年%d月是%d天n,i_Year,i_Month,i_Days);elseprintf(月只能是112,输入错误,无法计算);10.0 编写程序,对给定的一个百分制成绩,输出对于的五分制成绩,设90分以上为A,80到89分为B,70到79分为C,60到69为D,60分以下为E,用IF和switch语句分部实现。#include void main()int i_a;/成绩int i_grade;/成绩等级printf(请输入成绩:);scanf(%d,&i_a);printf(用if语句判断的等级是:);if (i_a=90)printf(A);elseif(80=i_a & i_a=89)printf(B);elseif(70=i_a & i_a=79)printf(C);elseif(60=i_a & i_a=69)printf(D); elseprintf(E);printf(n);printf(用switch语句判断的等级是:);i_grade=i_a/10;switch(i_a/10)case 10:;case 9:printf(A);break;case 8:printf(B);break;case 7:printf(C);break;case 6:printf(D);break;default:printf(E);printf(n);11循环输入若干个数据,以-1表示输入结束,计算输入的这些数据平均值。#include void main()int a;/记录当前输入的数int num;/记录当前输入的数据个数int sum;/记录当前所有数据的和float average;/记录平均值/赋初值sum=0;num=0;/输入开始printf(输入一组整型数据,如果输入的数据是-1,则说明该组数据输入完成,下面开始输入n); scanf(%d,&a);while(a!=-1)num+;sum=sum+a; scanf(%d,&a);/输入结束/计算和输出if(num=0)printf(没有输入数据,无平均数!);elseaverage=(float)sum/(float)num;/ 强制int转换为float,然后计算,如果不要强制转换,即average=sum/num,你可试一试,看结果有什么不同printf(输入了%d个数据,其平均数是:%.2fn,num,average);12 编程计算1+2+3+4+n的值超过500的第一个和值为多少;n的值为多少。#include void main()int i_n;int i_sum;/记录和/每行最多输出10个水仙花数i_sum=0;i_n=0;while(i_sum=500)i_n+;i_sum=i_sum+i_n;printf(1+2+3+4+.+n的值超过500的第1个和值=%d,n=%dn,i_sum,i_n);13计算出公式1!+2!+3!+10!的值#include void main()int i_a,i_b;int i_sum;/记录和int i_jc;/记录某个数的阶乘i_sum=0;for(i_a=1;i_a=10;i_a+)/计算某个数i_a的阶乘i_jc=1;for(i_b=1;i_b=i_a;i_b+)i_jc=i_jc*i_b;/阶乘计算完毕i_sum=i_sum+i_jc;/计算和printf(1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=%d,i_sum);14 输出所有的水仙花数,所谓的水仙花数,是指一个三位数,其各位数字的立方和等于它本身。列如153是一个水仙花数,因为153=13+53+33.解法一#include void main()int i_100,i_10,i_1;/记录3位数的各位数字int i_num;/记录水仙花数的个数/每行最多输出10个水仙花数i_num=0;for(i_100=1;i_100=9;i_100+)for(i_10=0;i_10=9;i_10+)for(i_1=0;i_1=9;i_1+) if(i_100*100+i_10*10+i_1)=(i_100*i_100*i_100+i_10*i_10*i_10+i_1*i_1*i_1)/此时形成了一个水仙花数printf(%d ,i_100*100+i_10*10+i_1);i_num+;if(i_num % 10)=0)/已输出了10个倍数的水仙花数,下一个另起一行printf(n);printf(n共有%d个水仙花数,i_num);15利用循环,在屏幕上输出如下图案#include void main()int i_Rows;/输出上三角*的行数int i_Row;/当前输出的第几行int i_Blanks;/第i_Row行需输出的空格数int i_Blank;/第i_Row行当前输出的第几个空格int i_Starts;/第i_Row行需输出的*个数int i_Start;/第i_Row行当前输出的第几个*printf(请输入上三角的行数:);scanf(%d,&i_Rows);/输出上三角for(i_Row=1;i_Row=i_Rows;i_Row+)i_Blanks=i_Rows-i_Row;/计算第i_Row需输出的空格数i_Starts=(i_Row-1)*2+1;/计算第i_Row需输出的*数/输出第i_Row的空格for(i_Blank=1;i_Blank=i_Blanks;i_Blank+)printf(%c, );/空格输出完毕/输出第i_Row的*for(i_Start=1;i_Start=i_Starts;i_Start+)printf(%c,*);/*输出完毕printf(n);/一行输出完毕,换行/上三角输出完毕/输出下三角i_Rows=i_Rows-1;/下三角比上三角少一行for(i_Row=1;i_Row=i_Rows;i_Row+)i_Blanks=i_Row;/计算第i_Row需输出的空格数i_Starts=(i_Rows-i_Row)*2+1;/计算第i_Row需输出的*数/输出第i_Row的空格for(i_Blank=1;i_Blank=i_Blanks;i_Blank+)printf(%c, );/空格输出完毕/输出第i_Row的*for(i_Start=1;i_Start=i_Starts;i_Start+)printf(%c,*);/*输出完毕printf(n);/一行输出完毕,换行/下三角输出完毕 16 输入二个整数M,N,计算它们的最大公约数和最小公倍数。#include void main() /统计任意位数的水仙花数int i_m,i_n;/两个数据int i_max;/最大公约数inti_min;/最小公倍数printf(请输入两个数据,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年二手房包销区域市场分析合同样本
- 二零二五年度房地产法律事务代理合同范本
- 2025版高速公路建设用管桩施工劳务合同书
- 二零二五年度农产品配送承包合同
- 二零二五年度金融科技企业员工入职数据安全保密合同
- 2025年驾驶员考试科目一试题库(含参考答案)
- 护理抢救制度试题及答案解析
- 水产品电商直播带货人才培训创新创业项目商业计划书
- 智能航空货物追踪创新创业项目商业计划书
- 含油果作物种植可持续发展模式创新创业项目商业计划书
- 【完整版】2025年二级建造师《建筑实务》考试真题及答案
- 水库维修承包合同协议书范本
- 2025年浙江省中考英语真题(解析版)
- 【生物 四川卷】2025年四川省高考招生统一考试真题生物试卷(真题+答案)
- 近几年大学英语四级词汇表(完整珍藏版)
- 工程罚款通知单模版
- 2耐压试验报告
- Q∕GDW 12106.3-2021 物联管理平台技术和功能规范 第3部分:应用商店技术要求
- 人教版七年级数学下册计算类专项训练卷【含答案】
- 材料物理之材料的结合方式PPT课件
- 2022年医德医风考试试题及答案
评论
0/150
提交评论