求会c语言的大神帮下忙

刚学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;

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-13
#include <stdio.h>
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;
}
第2个回答  2015-04-13
#include<stdio.h>
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;
}
第3个回答  2015-04-13
#include <stdio.h>
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;
 }
 //中文拼写的,就不注释了!

第4个回答  2015-04-13
#include<>

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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网