刚学c语言,老师叫我们写个小程序,要求输入任意一个1900年后的年份,计算并输出生肖,而输入1900年之前的年份,输出error 。最好是if和case语句混用,今天写了很多次,不管是if和case单用还是混用,能编译但就是输出不了结果,无奈技术不行,也不知道怎么改,求会的大神帮忙写一个我学习学习。
è¿ä¸ªæçªå£ç¨åºçç亲ï¼
#include <stdio.h>
#include <stdlib.h>
int GetZodiac(int year, char *zodiac)
{
char *pZodiac[12] = {"é¼ ", "ç", "è", "å ",
"é¾", "è", "马", "ç¾",
"ç´", "鸡", "ç", "çª"};
if(year<1900)
{
sprintf(zodiac, "error,请è¾å ¥å¤§äºçäº1900ç年份!\n");
return 1;
}
sprintf(zodiac, "%då¹´æ¯%så¹´.\n", year, pZodiac[(year-1900)%12]);
return 0;
}
int main()
{
int year;
char szZodiac[255];
printf("请è¾å ¥å¹´ä»½ï¼\n");
scanf("%d", &year);
GetZodiac(year, szZodiac);
printf("%s\n", szZodiac);
system("pause");
return 0;
}
int main()
{int y;
scanf("%d",&y);
if(y<1900){printf("error\n"); return;}
switch((y-4)%12)
{
case 0:printf("%d -- shu nian\n",y);break;
case 1:printf("%d -- niu nian\n",y);break;
case 2:printf("%d -- hu nian\n",y);break;
case 3:printf("%d -- tu nian\n",y);break;
case 4:printf("%d -- long nian\n",y);break;
case 5:printf("%d -- she nian\n",y);break;
case 6:printf("%d -- ma nian\n",y);break;
case 7:printf("%d -- yang nian\n",y);break;
case 8:printf("%d -- hou nian\n",y);break;
case 9:printf("%d -- ji nian\n",y);break;
case 10:printf("%d -- gou nian\n",y);break;
case 11:printf("%d -- zhu nian\n",y);break;
}
system("pause");
return 0;
}
int main()
{
int year,n;
scanf("%d",&year);
n=year-1900;
if(n<0) printf("error!");
else if(n%12==0&&n>0) printf("鼠");
else if(n%12==1&&n>0) printf("牛");
else if(n%12==2&&n>0) printf("虎");
else if(n%12==3&&n>0) printf("兔");
else if(n%12==4&&n>0) printf("龙");
else if(n%12==5&&n>0) printf("蛇");
else if(n%12==6&&n>0) printf("马");
else if(n%12==7&&n>0) printf("羊");
else if(n%12==8&&n>0) printf("猴");
else if(n%12==9&&n>0) printf("鸡");
else if(n%12==10&&n>0) printf("狗");
else if(n%12==11&&n>0) printf("猪");
return 0;
}
int main()
{
int i=0;
int year=0;
printf("input the year: \n");
scanf("%d",&year);
if(year<1900)
{
printf("error!\n");
}
else
{
switch((year-1900)%12)
{
case 0: printf("shu year!\n");break;
case 1: printf("niu year!\n");break;
case 2: printf("hu year!\n");break;
case 3: printf("tu year!\n");break;
case 4: printf("long year!\n");break;
case 5: printf("she year!\n");break;
case 6: printf("ma year!\n");break;
case 7: printf("yang year!\n");break;
case 8: printf("hou year!\n");break;
case 9: printf("ji year!\n");break;
case 10: printf("gou year!\n");break;
default: printf("zhu year!\n");break;
}
}
return 0;
}
//中文拼写的,就不注释了!
void main()
{
int a,b;
for(int i=0;i<5;i++)
{printf("请输入年份:");
scanf("%d",&a);
if(a<1900)
{printf("年份是1900年之前的年份,error\n");}
else
{ b=(a-1900)%12;
switch( b)
{ case 1: printf("%d是 牛年\n",a);break;
case 2: printf("%d是 虎年\n",a);break;
case 3: printf("%d是 兔年\n",a);break;
case 4: printf("%d是 龙年\n",a);break;
case 5: printf("%d是 蛇年\n",a);break;
case 6: printf("%d是 马年\n",a);break;
case 7: printf("%d是 羊年\n",a);break;
case 8: printf("%d是 猴年\n",a);break;
case 9: printf("%d是 鸡年\n",a);break;
case 10: printf("%d是 狗年\n",a);break;
case 11: printf("%d是 猪年\n",a);break;
default: printf("%d是鼠 年\n",a);
};
};
};
}