| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 286 人关注过本帖
标题:C语言的小问题(新手的问题)
只看楼主 加入收藏
bear8907
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-9-10
收藏
 问题点数:0 回复次数:1 
C语言的小问题(新手的问题)
学习C语言2天了~选了本《C语言的科学和艺术》,简单是简单,可是也觉得似乎怎么好像里面的程序在我的机子上跑不起来,而且有很多型如bool(有位大侠说的)似乎不是属于C语言的~~~大家有什么好的学习C语言的建议呢??

好转入正题~~~
/* Note:Your choice is C IDE */
#include "stdio.h"
int weekname(int weekday);
int run(int year);
void main()
{
    int year,i,weekday;
    printf("猪头头,随便输入一个年份吧?我能很快计算出你生日是星期几的哦!\n");
    scanf("%d",&year);
    weekday=6;
    for(i=1989;i<year;i++)
    {
        if(run(i)) weekday=(weekday+1)%7;
        weekday=(weekday+365)%7;
    }
    printf("猪头头在%d的时候生日是:%s",year,weekname(weekday));
}



int weekname(weekday)
{
    switch (weekday)
    {
        case 0:printf("星期日");break;
        case 1:printf("星期一");break;
        case 2:printf("星期二");break;
        case 3:printf("星期三");break;
        case 4:printf("星期四");break;
        case 5:printf("星期五");break;
        case 6:printf("星期六");break;
    }
}

int run (int year)
{
    return((year%4==0)&&(year%100!=0))||(year%400==0);
}
这个程序是能跑的,可是就是会在最后的printf那里弹出一个程序停止的错误警告出来,可是又会显示出经过计算weekname出来(其他汉字就显示不出来),这个是为什么呢?请大家帮忙解答下~~
搜索更多相关主题的帖子: C语言 
2010-09-10 19:09
jieful
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-11-5
收藏
得分:0 
#include "stdio.h"
int weekname(int weekday);
int run(int year);
void main()
{
    int year,i,weekday;
    printf("猪头头,随便输入一个年份吧?我能很快计算出你生日是星期几的哦!\n");
    scanf("%d",&year);
    weekday=6;
    for(i=1989;i<year;i++)
    {
        if(run(i)) weekday=(weekday+1)%7;
        weekday=(weekday+365)%7;
    }
    printf("猪头头在%d的时候生日是:%s",year,weekname(weekday));
}



int weekname(int weekday)
{
    switch (weekday)
    {
        case 0:printf("星期日");break;
        case 1:printf("星期一");break;
        case 2:printf("星期二");break;
        case 3:printf("星期三");break;
        case 4:printf("星期四");break;
        case 5:printf("星期五");break;
        case 6:printf("星期六");break;
        default:
            break;
    }
    return 0;
}

int run (int year)
{
    return((year%4==0)&&(year%100!=0))||(year%400==0);
}

这样好像可以了。。。

横看成岭侧成峰
2010-09-10 22:29
快速回复:C语言的小问题(新手的问题)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031444 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved