大家好,今天小编关注到一个比较有意思的话题,就是关于c语言求星期的问题,于是小编就整理了2个相关介绍c语言求星期的解答,让我们一起看看吧。

  1. c语言,怎么算某年某月某日是星期几啊?
  2. C语言,根据输入的字母判断是星期几?

c语言,怎么算某年某月某日是星期几啊?

week=6;//2000年元旦是星期六//每年365天,即每年星期数加1;week += year-2000;if(year<2000){for(i=year;i<2000;i--){if(( y%4==0 && y%100!=0) || y%400==0)) week--;}}else{ for(i=2000;i<year;i++){if(( y%4==0 && y%100!=0) || y%400==0) ) week++;}}for(i=0;i<month;i++)week += month_day[i];if(if(( y%4==0 && y%100!=0) || y%400==0) month>=2) week++;week += day;week = week%7;//0 =星期日//以上计算,在2000分界处不完整,自己改进,思路如此,如果想省掉,可手算-32768年的星期,然后只算算加法,但要在中间%7一次,防止数据越界。

c语言求星期-c语言求星期几
(图片来源网络,侵删)

C语言,根据输入的字母判断是星期几?

你输入了S后的回车还在缓冲区中,后来被读取到letter中了,而不是你输入的字母,所以才会出错,你在之前再加一个getchar就行了。还有你的第二个else if中不需要再读取字母了,直接判断就行了。下面是整理后的代码。我建议你直接读取一段作为字符串来判断比较方便,这样比较麻烦。

#include

c语言求星期-c语言求星期几
(图片来源网络,侵删)

void main()

{

c语言求星期-c语言求星期几
(图片来源网络,侵删)

printf("please enter the first letter of someday:\n");

char letter;

while ((letter = getchar()) != 'y') {

switch (letter) {

case 'S': {

printf("please enter the second letter:");

getchar();

if ((letter = getchar()) == 'a') {

printf("It is Saturday!\n");

} else if (letter == 'u') {

printf("It is Sunday!\n");

} else {

printf("error\n");

}

break;

}

case 'M':

printf("It is Monday!\n");

break;

case 'T': {

printf("please enter the second letter:");

getchar();

if ((letter = getchar()) == 'h') {

printf("It is Tuesday!\n");

} else if (letter == 'u') {

printf("It is Thursday!\n");

}

break;

}

case 'F':

printf("It is Friday!\n");

break;

case 'W':

printf("It is Wednesday!\n");

break;

}

}

}

到此,以上就是小编对于c语言求星期的问题就介绍到这了,希望介绍关于c语言求星期的2点解答对大家有用。