c语言中应用switch语句编程:输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中应用switch语句编程:输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值!!相关的知识,希望对你有一定的参考价值。
(分别使用数据1,7,8做测试。)
int n;switch(n)
case 1:printf("今天是周一");break;
case 2:printf("今天是周二");break;
case 3:printf("今天是周三");break;
case 4:printf("今天是周四");break;
case 5:printf("今天是周五");break;
case 6:printf("今天是周六");break;
case 7:printf("今天是周日");break;
default:printf("输入星期错误");break;
} 参考技术A #include "stdio.h"
main()
int a;
printf("输入一个数:");
scanf("%d",&a);
switch(a)
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
case 7:printf("星期日\n");break;
default:printf("输入数字有误\n");break;
参考技术B #include<stdio.h>
int main()
int n;
printf("请输入星期数:\n");
scanf("%d",&n);
switch(n)
case 1:printf("今天是星期一\n");break;
case 2:printf("今天是星期二\n");break;
case 3:printf("今天是星期三\n");break;
case 4:printf("今天是星期四\n");break;
case 5:printf("今天是星期五\n");break;
case 6:printf("今天是星期六\n");break;
case 7:printf("今天是星期日\n");break;
default:printf("输入星期错误");break;
return 0;
本回答被提问者采纳
switch...case语句嵌套问题
main()
int x,y,a=0,b=0;
scanf("%d%d",&x,&y);
switch(x)
case 1:
switch(y)
case 0:a++;break;
case 1:b++;break;
case 2:a++;b++;break;
case 3:a++;b++;
printf("a=%d,b=%d",a,b);
_______________________________________________________
运行后
假如输入 1 0
结果是 a=2,b=1
但自己算感觉结果应该是a=1,b=0
求高人详细讲解
先运行:
case 1:
switch(y)
case 0:a++;break;
case 1:b++;break;
因为y=0,所以运行:case 0:a++;break;
因为
case 1:
switch(y)
case 0:a++;break;
case 1:b++;break;
没有break;所以继续运行
case 2:a++;b++;break;
在这里break掉了,所以最后的执行有 a++ a++ b++;
要想得到:
a=1,b=0
改成这样:
case 1:
switch(y)
case 0:a++;break;
case 1:b++;break;
break;
case 2:a++;b++;break;
case 3:a++;b++; 参考技术A #include <stdio.h>
void main()
int x,y,a=0,b=0;
scanf("%d%d",&x,&y);
switch(x)
case 1: //x = 1,那么执行
switch(y) //y = 0 那么执行
case 0:a++;break; //执行这句之后a的值已经变成了1,这个时候a = 2 ,b=0,还是原来的是没变
case 1:b++;break;
case 2:a++;b++;break; //注意这个时候你并没有写break那么这句话是要执行的那么执行后a = 2 b =1然后跳出,输出
case 3:a++;b++;
printf("a=%d,b=%d.\n",a,b);
参考技术B switch(x)中的case 1: 没有break
所以程序会执行到 switch(x) 中的 case 2:
注意 break 只会跳出离它最近的
建议设置断点调试 break 流向。 参考技术C break跳出的是嵌套里面的那个switch,
跳出后a=1;
顺序执行了语句: 这里没有判断switch(x)没有作用
case 2:a++;b++;break;跳出循环
可以用下面的测试
int x,y,a=0,b=0;
cin>>x>>y;
switch(x)
case 1:
switch(y)
case 0:a++;break;
case 1:b++;break;
case 2:a++;b++;
cout<<a<<b;
break;
case 3:a++;b++;
cout<<a<<b; 参考技术D 这样你就明白了
main()
int x,y,a=0,b=0;
scanf("%d%d",&x,&y);
switch(x)
case 1:
printf("a=%d,b=%d\n",a,b);
switch(y)
case 0:a++;break;
case 1:b++;break;
printf("a=%d,b=%d\n",a,b);
case 2:a++;b++;
printf("a=%d,b=%d\n",a,b);break;
case 3:a++;b++;
printf("a=%d,b=%d\n",a,b);
printf("a=%d,b=%d\n",a,b);
以上是关于c语言中应用switch语句编程:输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值!!的主要内容,如果未能解决你的问题,请参考以下文章