C语言--控制结构作业解答一教学文案_第1页
C语言--控制结构作业解答一教学文案_第2页
C语言--控制结构作业解答一教学文案_第3页
C语言--控制结构作业解答一教学文案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 限制结构作业解答(一)1、按“体指数对肥胖程度进行划分:体指数t = w / h 2(体重w单位为公斤,身高h单位为米)- 当t < 18时,为低体重;- 当18 < t < 25 时,为正常体重;- 当25 < t < 27 时,为超重体重;-当t > 27时,为肥胖.编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后 判断你的体重属于何种类型.【程序】#include <stdio.h>Void main()float h, w, t;printf("Please enter h,w:");scanf

2、("%f, %f", &h, &w);t = w / (h * h);if (t < 18)printf("t=%ftLower weight!n", t);)if (t >= 18 && t < 25)printf("t=%ftStandard weight!n", t);)if (t >= 25 && t < 27)printf("t=%ftHigher weight!n", t);)if (t >= 27)printf(&qu

3、ot;t=%ftToo fat!n", t);)/main2、编程设计一个简单的计算器程序,要求根据用户从键盘输入如下形式的 表达式:操作数1 运算符op 操作数2然后,计算并输出表达式的值 指定的运算符为加(+) 减(-) 乘(*) 除(/) 【程序】 #include <stdio.h> void main() (int data1, data2;/*定义两个操作符*/char op;/*定义运算符*/printf("Please enter the expression:"); scanf("%d%c%d, &data1, &a

4、mp;op, &data2); /* 输入运算表达式 */ switch (op) ( case '+':/*处理加法*/printf("%d + %d = %dn", data1, data2, data1 + data2); break; case '-':/*处理减法*/printf("%d - %d = %dn", data1, data2, data1 - data2); break; case '*':/*处理乘法*/printf("%d * %d = %dn", d

5、atal, data2, datal * data2); break; case '/':/*处理除法*/if (0 = data2) printf("Division by zero!n"); else printf("%d/%d = %dn", data1, data2, data1/data2);break;default: printf("Unknown operator! n"); ) )3、键盘输入任一年的公元年号 year ,编程判断该年是否是闰年 判断某一年year是否闰年;闰年的条件符合以下二者之一能

6、被4整除,但不能被100整除;能被100整除. 【程序】 # include <stdio.h> void main() (int year,leap; /leap是1时,表示闰年;是0时,不是闰年 scanf( %d,&year);if(year%4=0)if(year%100=0) (if(year%400=0) leap=1; else leap=0;)else leap=0;)else leap=0;if (leap=1) printf( %d is a leap yearHyear); 是闰年 else printf( %d is not a leap yearn

7、',year);不是闰年/main4、运输公司对用户计算运费.距离(s)越远,每公理运费越低.标准如下:s<250km没有折扣250 & s<5002%折扣500< s<10005%折扣1000< s<20008对扣2000 & s<3000 10%折扣3000 & s15%折扣设每公理每吨货物的根本运费为p,货物重为w,距离为s,折费为d,那么总运费的f的计算公式为:f=p*w*s*(1-d)要求程序中输入 p、w、s,用switch语句完成该题.【程序】# include <stdio.h>void ma

8、in()(int c,s;float p,w,d,f;scanf(%f,%f,%d 心p,&w,&s); if(s>=3000)c=12;else c=int(s/250); switch(c)(case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7: d=8;break;case 8:case 9:case 10:case 11: d=10;break;case 12: d=15;break;)f=p*w*s*(1-d/100.0);printf(总运费n

9、",f);/main5、教材3.1输入一用字符(按ENTER键结束),将字母转换成大写字母输出 【程序】I *一个一个得到字符逐个处理,用函数getchar或getchgetchar()在 stdio.h 中预处理getch()在conio.h中预处理由习题2.6知道,函数getchar()得到回车键值为'n'*/#include <stdio.h>void main()(char c;while( (c=getchar() != 'n')(if( c>='a' && c<='z'

10、 ) c-=32;putchar(c);6、教材3.4计算阶乘15!.【程序】/* 用int类型和double类型分别求出两个结果由于15!中有2和5的因子,所以个位数肯定为0,此题目主要理解数据类型的取值范围.*/#include <stdio.h>#define N 15void main()(int i, s=1;double S=1;for(i=2; i<=N; i+)(s *= i;S *= i;)printf("%d!=%dn", N,s);printf("%d!=%.0lfn",N,S);)7、教材3.5求水仙花数.【程序】/* 函数IsNarcissus(int x)返回真或者假(0): 判断整数x是否为水仙花数*/#include <stdio.h>int IsNarcissus(int x)(int a,b,c;a = x%10;/取x的个位b = x/10%10; 十位c = x/100; /百位if(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论