C语言-第四章-控制结构作业解答(一)_第1页
C语言-第四章-控制结构作业解答(一)_第2页
C语言-第四章-控制结构作业解答(一)_第3页
C语言-第四章-控制结构作业解答(一)_第4页
C语言-第四章-控制结构作业解答(一)_第5页
全文预览已结束

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上 第四章 控制结构作业解答(一)1、 按“体指数”对肥胖程度进行划分: 体指数t = w / h2 (体重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:");sca

2、nf("%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(

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

4、a1, &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",

5、data1, data2, data1 * 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是否闰年;闰年的条件符合下列二者之一能被4整除

6、,但不能被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 yearn”,year); /是闰年else printf(“%d is not a leap yearn”,yea

7、r); /不是闰年/main4、运输公司对用户计算运费。距离(s)越远,每公理运费越低。标准如下: s<250km 没有折扣 250s<500 2%折扣 500s<1000 5%折扣 1000s<2000 8%折扣 2000s<3000 10%折扣 3000s 15%折扣 设每公理每吨货物的基本运费为p,货物重为w,距离为s,折费为d,则总运费的f的计算公式为:f=p*w*s*(1-d) 要求程序中输入p、w、s, 用switch语句完成该题。【程序】 # include <stdio.h> void main() int c,s;float p,w,

8、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(“总运费=%15.4fn

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

10、0; while( (c=getchar() != 'n' )         if( c>='a'  && c<='z' ) c-=32;      putchar(c);   6、教材3.4计算阶乘15!。【程序】/* 用int类型和double类型分别求出两个结果 因为15!中有2和5的因子, 所以个位数肯定为0,本题目主要理解数据类型的取值范围

11、. */#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);   print

12、f("%d!=%.0lfn",N,S);7、教材3.5求水仙花数。【程序】/*   函数IsNarcissus(int x)返回真(1)或者假(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( a*a*a + b*b*b +c*c*c = x )      return 1;   return 0;void main( )    int i;    puts("所有水仙花数:"

温馨提示

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

评论

0/150

提交评论