www.fifa.com tickets:关于VC的问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 00:48:53
有错误,大家帮我看看哪里错了,另外谁能告诉我一个人多的C语言论坛啊
#include<stdio.h>
void main()
{
int a; //a代表星期几

printf("请输入今天是星期:");
scanf("%d",&a);

switch(a)
{

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;
}
}

scanf("%d",&a);

a是一个整型,那么switch/case的时候,就应该按照整型来做:

case 1:
...
case 2:
...

不要用 case '1';

不如把代码写成这样,速度快,行数少

#include<stdio.h>
void main()
{
int a;
char str[7][10] = {"1青菜","2鸡","3鱼","4肉","5鸡蛋","6豆制品","7海鲜"};

printf("请输入今天是星期:");
scanf("%d",&a);
if(a < 0 || a > 7)
{
printf("没有星期%d",a);
return;
}
printf("%s\n",str[a-1]);
}

你定义的a是整型的,所以在case中的数字就不要加单引号了,还有就是在case后面的是冒号,不是分号。下面是修改后的。
#include<stdio.h>
void main()
{
int a; //a代表星期几

printf("请输入今天是星期:");
scanf("%d",&a);

switch(a)
{

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;
}
}

switch里只能是int或 long形的数据
把case后的单引号都去了就好了

楼上的真绝,搂住你也要学学优化。