这段C语言哪里错了?C语言二级

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:34:04
我初学者:请问下列哪里错了,我在运行时,光标会停在case 1: printf("是虎年\n");break;这个位置,但我又检查不出来哪里错了。请指点。满意后加分!!
(这道题的本来意思是从键盘上输入任意年数,求出这一年的生肖。)

main()
{
int a;
printf("请输入您要查询的年数按回车键结束:\n");
scanf("%d",&a);
if(a<=12)
{
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;
case 8: printf("是鸡年\n"); break;
case 9: printf("是狗年\n"); break;
case 10:printf("是猪年\n"); break;
case 11:printf("是鼠年\n"); break;
case 12:printf("是牛年\n"); break;
default:printf("您的输入有误!\n");break;
else printf("没法查到!");
}<

程序实在是没的说的了!基本功没掌握,程序也很乱。a%12应该放在前面写,并且写之前需要对年数a进行下修正,加7.我改了下,附在下面:
main()
{
int a;
printf("请输入您要查询的年数按回车键结束:\n");
scanf("%d",&a);
a=a+6;
a=a%12;
switch(a){
case 0: printf("是虎年\n");break;
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;
case 8: printf("是狗年\n"); break;
case 9: printf("是猪年\n"); break;
case 10:printf("是鼠年\n"); break;
case 11:printf("是牛年\n"); break;

}

switch 后面有大括号的

switch(a)
{
case 1:
...
}

分号应该是英文的;不是中文的;

还有else printf("没法查到!");应该在}之外