第7章+分支结构习题解答(编程部分)

更新时间:2023-03-11 04:01:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第7章 分支结构习题解答(编程部分)

三、编程题

【题7.28】 编一程序,对于给定的一个百分制成绩,输出用像A,B,C,D,E表示的等级成绩。设:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。(要求用switch语句编程)。

#include \main( ) {

int score,temp,logic; char grade; logic=1; while (logic)

{ printf(\ scanf(\ if ((score>100)||(score<0))

printf(\ else logic=0; printf(\ }

if (score==100) temp=9; else

temp=(score-score)/10; switch(temp)

{ case 9: grade='A'; break; case 8: grade='B'; break; case 7: grade='C'; break; case 6: grade='D'; break; case 5: case 4: case 3: case 2: case 1:

case 0: grade='E';

– 1 –

}

printf(\}

【题7.29】 根据从键盘输入的x,y值,写一程序以便按下列公式求z值。

x2?1?y2x?2x?2Z= Z?y2?1x?y#include main() { float x,y,z; printf(\ scanf(\

if (x>=0.0 && y>0.0) z=((x*x+1)/(x*x+2))*y; if (x>0.0 && y<=0.0) z=(x-2)/(y*y+1); if (x<0.0) z=x+y; printf(\}

x≥?0 ,y?020,3x?y≤?50 81321,,,,,...,1x?203581323581321, ,,,,1235813【题7.30】 编写一程序,实现从键盘输入一个字符时,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。

#include main() { char x;

printf(\ x=getchar();

if ((x>='a') && (x<='z')) x-='a'-'A';

else if ((x>='A') && (x<='Z')) x+='a'-'A'; putchar(x); }

【题7.31】 征税的办法如下:收入在800元以下(含800元)的不征税;收入在800元以上,1200元以下者,超过800元的部分按5%的税率收税;收入在1200元以上,2000元以下者,超出1200元部分按8%的税率收税;收入在2000元以上者,2000元以上部分按20%的税率收税,试编写按收入计算税费的程序。(要求用switch语句编程序)

#include main()

– 2 –

{ int s,p; float tax;

printf(\ scanf(\ printf(\ if (s>800)

{if ((s-800)0!=0) p=(s-800)/100+1 ; else p=(s-800)/100; switch(p) { case 0: case 1: case 2: case 3:

case 4: tax=(s-800)*0.05; break;

case 5: tax=400*0.05+(s-1200)*0.08; break;

default:tax=400*0.05+800*0.08+(s-2000)*0.20;break; } }

else tax=0.0;

printf(\}

【题7.32】 输入一个整数,判断它能否被3,5,7整除。

#include main() { int x;

printf(\ scanf(\

if ((x%3==0) && (x%5==0)&& (x%7==0)) printf(\能被3,5,7整除\ else

printf(\不能被3,5,7整除\}

【题7.33】 用整数1~12依次表示1月~12月,由键盘输入一个月份数,输出对应的季节英文名称(12~2月为冬季;3~5月为春季;6~8月为夏季;9~11月为秋季。要求用if嵌套实现)。

– 3 –

#include main() {

int month,r;

loop: printf(\~12):\\n\ scanf(\

if (month<1||month>12) goto loop; r=month; r=r/3;

if (r==0) printf(\ else if (r==1) printf(\ else if (r==2) printf(\ else printf(\}

【题7.34】 输入整数a,b,c,当a为1时显示b和c之和,a为2时显示b与c之差,a为3时显示b*c之积,a为4时取b/c之商,a为其他数值时不做任何操作。

#include main( ) {

int a,b,c;

scanf(\ switch(a) {

case 1: printf(\ break;

case 2: printf(\ break;

case 3: printf(\ break;

case 4: printf(\ break; default: break; } }

【题7.35】 输入两个整数a和b,若a≥b时,求其积c并显示,若a

#include main( ) {

– 4 –

int a,b,c;

scanf(\ if (a>=b) { c=a*b;

printf(\ } else { c=b/a;

printf(\ } }

【题7.36】 输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示。

#include main( ) {

int a;

scanf(\ if (a>=100) { if (a>=1000)

printf(\ else

printf(\ } else { if (a<10)

printf(\ else

printf(\ } }

【题7.37】 编写输入一个整数,当为65时显示A,66时显示B,67时显示C,其他值时显示END的程序。

#include void main() {

int p;

printf(\scanf(\

– 5 –

}

switch(p)

case 65: printf(\case 66: printf(\case 67: printf(\default:printf(\

{

}

– 6 –

本文来源:https://www.bwwdw.com/article/bpow.html

Top