第四章选择结构程序设计习题解答
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Y
Y
输出31天
输出29天
输出28天
输出30天
输出数据错误
结束
#include "stdio.h" void main() {
int year, month,leap; scanf("%d%d",&year,&month); /*判断是否为闰年*/ if(year%400==0||(year%100!=0&&year%4==0))
case 3:
deault:
7、解
#include "stdio.h" void main() {
char c1,c2; scanf("%c%c",&c1,&c2); if((c1-c2)%2==0)
printf("%c,%c",c1+1,c2+1); else
printf("%c,%c",c1-1,c2-1);
第四章 选择结构程序设计习题 解答
选择结构程序设计
根据某个变量或表达式的值作出选择, 决定执行哪些语句而不执行哪些语句。这样 的程序结构称为选择结构或分支结构。 实现选择结构的语句有:
分支语句(if语句)和 多分支语句(switch语句)
if-else 择条件语句
选择结构的一种最常用形式: if (表达式) 语句1;
}
9、解:
#include "stdio.h" void main() {
float x, y; scanf("%f%f",&x,&y); if((x-2)*(x-2)+(y-2)*(y-2)>1)
printf("点A在圆外\n"); else if((x-2)*(x-2)+(y-2)*(y-2)==1)
else 语句2;
语句3 执行过程:
当括号内表达式成立时,即表达式的值是非0时, 执行语句1,然后语句3; 当表达式不成立时,值等于0时,执行语句2,然 后语句3,上面else部分也可以没有。
if多分支选择语句
假
表达式1
真
表达式2
真
语句1
语句2
先判断表达式1的值
非0就执行下面的语句
为0就执行下一个判断
} case 3: printf("This month has 31 days\n");break; case 4: printf("This month has 30 days\n");break; case 5: printf("This month has 31 days\n");break; case 6: printf("This month has 30 days\n");break; case 7: printf("This month has 31 days\n");break; case 8: printf("This month has 31 days\n");break; case 9: printf("This month has 30 days\n");break; case 10: printf("This month has 31 days\n");break; case 11: printf("This month has 30 days\n");break; case 12: printf("This month has 31 days\n");break; default: printf(“Month is error data!"); } }
printf("点A在圆上\n"); else
printf("点A在圆内\n"); }
10 解:
开始
输入年、月
判断是否为闰年 用一整型变量标识,1表示是,0表示否
Month==1、 3、 5、 N
N
7、8、10、12?
Month==2
N
Y
闰年
Y
Month== 4、6、9、11?
N Month==其它值
假
一直这样做下去
直到得出最后结果
假
表达式3
真
语句3
语句4
if (表达式1) 语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3;
………… else 语句4;
语句5;
开关语句--switch
功能 格式 说明
⑴ 或 同 ⑶ 所 的⑵试句匹支b⑷前情一 一 的reccdccc枚以,s由现每执序配结cdc况后独个个语waaaaaaaeeksssssf举它每若于象一行列,构ssf下次立i表开句—eaeeeeteae语cuu每类们个只时(个i则。131,序分12达关——h34开Cll句:::::t后ts::s:个型 的语执,常执语:常发支式独语—w始wp—括{ir{}c, 值句行先量i行言量生时可立句非tc}c… cd执tcic… cdac—acnaa号aeaahse序每 必语求,d系h改出s每能就分独sst… fs行ess… fe独feeae内eea语((列个 须句表若f统变现u个产像支立(“u每表a表立l常%表常常句l常ut常常常互可系达与不频时tc生多结分个达l达分:a量:td达量量后量量量量不以列式常后s允率,的路构支”语式e式支语1式,语的2m1语2m是的相的量I面许不较不开结,句),c:cc)结d::句:的句常a:aa句零类同值I的:1,影高同关构或序sss则相构语)系语语语值eee系量语语和;个型,,语编响的结一去几列匹在213。句列句句句b只列只句句d:::或和否然句译运放果样执个r,配语e系m系系系e能m起系系f若表则后序出行在值,a行分a若句,+列+列k列列u是语列列1干达会自列错结前,程。支1;l没则系;1t21m整句2m语个式出;上—)果面;选序有b从列。b;形标b句r语的 现r而—,。可择常e其Ire、a号后ea的句类 互下非但根其k量ak后字的k加;出;。型 相依独在据中与;的符作现应 矛次立一之语型用的相 盾测分般,
leap=1; else
leap=0; switch(month) { case 1: printf("This month has 31 days\n"); break; case 2:
{ if(leap==1) printf("This month has 29 days\n"); else printf("This month has 28 days\n"); break;
}
开始 输入两字符
判断两字符之差 是否为偶数
Y 输出它们 的后继
N百度文库
输出它们 的前驱
结束
8、解
#include "stdio.h" void main() {
int a, b; scanf("%d%d",&a,&b); if(a%b==0)
printf("a/b=%d\n",a/b); else
printf("a/b=%d,%d\n",a/b,a%b);