内容发布更新时间 : 2024/11/5 12:56:46星期一 下面是文章的全部内容请认真阅读。
【答】k=2,执行case 2分支,k++返回2,此时k=3,输出2,后跟一空格。由于没有break语句,继续执行case 3分支,k++返回3,此时k=4,输出3,由于有break语句,退出switch语句。所以输出为:2 3。
(6)以下程序的运行结果是 。 #include
【答】a>0,s变为2。a>b为真,t=t+s=3。所以输出为:s=2,t=3。 (7)以下程序的运行结果是 。 #include
【答】k=2,执行case 2分支,k++返回2,此时k=3,屏幕输出2,后跟一空格。由于没有break语句,继续执行case 3分支,k++返回3,此时k=4,屏幕输出3,由于没有break语句,继续执行case 4分支,k++返回4,此时k=5,屏幕输出4,由于有break语句,退出switch语句。所以输出为:2 3 4。 (8)以下程序的运行结果是 。 #include
int x=0,y=2,z=3; switch(x) { int k=2; switch(k) { }
printf(\
case 1:printf(\case 2:printf(\case 3:printf(\case 4:printf(\default:printf(\
VC++6.0 int s=1,t=1,a=5,b=2; if (a>0)
s++; t+=s; t=5; t=2*s; if (a>b) else if (a==b) else
printf(\
17
}
}
case 0: switch(y==2)
{ } { }
case 1:printf(\case 2:printf(\default:printf(\case 1:printf(\case 2:printf(\
case 1: switch(z)
【答】x=0,执行外层switch语句的case 0部分,y==2为真,则执行里层switch语句的case 1部分,输出“*”,遇到break语句,退出里层的switch语句,由于里层的switch语句之后没有break语句,所以转而执行外层switch语句的case 1部分,这时z=3,故执行里层switch语句的default部分,输出“#”,整个程序执行完毕。所以输出为:*#。
3. 编程题
(1)编写一个程序判断用户输入的字符是数字字符、字母字符还是其他字符。
【解】在'0'到'9'之间的为数字字符,在'a'到'z'或'A'到'Z'之间的为字母字符;否则为其他字符。程序如下:
/*文件名:exci4_1.cpp*/ #include
(2)假设今天是星期日,编写一个程序,求123456天后是星期几。
【解】星期是7天一个轮回,由于今天是星期日,所以123456除以7的余数即为星期几。程序如下: /*文件名:exci4_2.cpp*/ #include
int n=123456;
18 VC++6.0 char c;
printf(\输入一个字符:\scanf(\if (c>='0' && c<='9')
printf(\是数字字符\\n\\n\printf(\是字母字符\\n\\n\printf(\是其他字符\\n\\n\
else if ((c>='a' && c<='z') || (c>='A' && c<='Z')) else
VC++6.0 }
n=n%7;
printf(\星期\switch(n) { }
printf(\
case 0: printf(\天\
break; break; break; break; break; break; break;
case 1: printf(\一\case 2: printf(\二\case 3: printf(\三\case 4: printf(\四\case 5: printf(\五\case 6: printf(\六\
(3)编写一个程序,输入年号和月份,判断该年是否为闰年,并根据给出的月份判断是什么季节和该月有多少天?闰年的条件是年号能被4整除但不能被100整除,或者能被400整除。
【解】直接根据闰年的定义求解,如果是闰年,2月份为29天;否则为28天,其他月份相同。规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季。本题程序如下: /*文件名:exci4_3.cpp*/ #include
int y,m,leap,season,days; printf(\年份,月份:\scanf(\
if ((y%4==0 && y0!=0) || (y@0==0))
leap=1; leap=0; season=1; season=2; season=3; season=4; else
if (m>=3 && m<=5) else if (m>=6 && m<=8) else if (m>=9 && m<=11) else
VC++6.0 19
}
switch (m) { }
printf(\年%s闰年\\n\是\不是\switch(season) { }
printf(\当月天数:%d\\n\
case 1:printf(\春季\\n\case 2:printf(\夏季\\n\case 3:printf(\秋季\\n\case 4:printf(\冬季\\n\case 1: case 3: case 5: case 7: case 8: case 10:
case 12:days=31;break; case 4: case 6: case 9:
case 11:days=30;break; case 2: if (leap==1)
days=29; days=28; else
printf(\该季度是\
(4)报数游戏。A、B、C、D、E、F、G、H共8人站成一排,按图4.1所示的方法从1开始报数。问谁先报到123456?
A B C D E F G H 1→ 2→ 3→ 4→ 5→ 6→ 7→ 8 14←13←12←11←10← 9
15→16→17→18→19→20→21→22 28←27←26←25←24←23
29→30→?
图4.1 游戏报数过程
【解】从图4.1中看到1到14是一个来回,再重复这一过程,所以只需对123456除以14的余数加以判断即可。程序如下: /*文件名:exci4_4.cpp*/ #include
VC++6.0 20