C语言实验9(参考答案)
实验9:选择结构(2)
实验目的:
(1)进一步掌握if语句和switch语句;
(2)掌握用条件运算符实现选择;
(3)掌握选择结构的嵌套,掌握简单的算法。
(4)能灵活应用下列语句:if,if-else,switch,break。
实验内容:
1、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( C )。
A)A%2==1B)!(A%2==0)C)!(A%2)D)A%2
2、以下程序的运行结果是 F 。
main()
{
if(2*2==5<2*2==4)
print(“T”);
else
printf(“F”);
}
3、下列程序的运行结果是 。
#include
void main(void)
{
int x,y=1,z;
if(y!=0) x=5;
printf(“\t%d\n”,x);
if(y==0) x=4;
else x=5;
printf(“\t%d\n”,x);
x=1;
if(y<0)
if(y>0) x=4;
else x=5;
printf(“\t%d\n”,x);
}
4、根据程序的功能,将以下程序补充完整
以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请在 内填入正确内容。
main()
{
int yy,mm,len;
printf(“year,month=”);
scanf(“%d %d”,&yy,&mm);
switch(mm)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: len=31 ; break;
case 4:
case 6:
case 9:
case 11: len=30; break;
case 2:
if(yy%4==0&&yy%100!=0||yy%400==0) len=29 ;
else len=28 ;
break;
default: printf(“input error”); break;
}
printf(“the length of %d %d is %d\n”,yy,mm,len);
}
二、编程:
1、(必做)试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。
#include
void main()
{
int num;
printf("请输入一个正整数:\n");
scanf("%d",&num);
if(num%5==0&&num%7==0)
printf("Yes\n");
else
printf("No\n");
}
2data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。(要求用switch语句实现)
#include
void main()
{
int a,b;
char op;
printf("请输入需要计算的表达式:\n");
scanf("%d%c%d",&a,&op,&b);
switch(op)
{
case '+':printf("运算结果为:%d\n",a+b);break;
case '-':printf("运算结果为:%d\n",a-b);break;
case '*':printf("运算结果为:%d\n",a*b);break;
case '/':if(b!=0)
{printf("运算结果为:%d\n",a/b);break;}
else
{printf("除数不能为0!\n");break;}
default:printf("输入的表达式异常!\n");
}
}
3、(必做)已知银行整存整取存款不同期限的月息利率分别为:
2.5% 期限一年
3.25% 期限二年
3.85% 期限三年
4.2% 期限五年
8.9% 期限八年
要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。?
比如:有1000块钱,存2年,则二年后的本息和合计1000*(1+0.0325)*(1+0.0325)=1066.06元。
#include
#inclu