c语言 判断某天星期几

Python014

c语言 判断某天星期几,第1张

#include

"stdio.h"

#include

"conio.h"

main()

{

int

day,month,year,sum,leap

printf("\nplease

input

year,month,day\n")

scanf("%d,%d,%d",&year,&month,&day)

switch(month)

/*先计算某月以前月份的总天数*/

{

case

1:sum=0break

case

2:sum=31break

case

3:sum=59break

case

4:sum=90break

case

5:sum=120break

case

6:sum=151break

case

7:sum=181break

case

8:sum=212break

case

9:sum=243break

case

10:sum=273break

case

11:sum=304break

case

12:sum=334break

default:printf("data

error")break

}

sum=sum+day

/*再加上某天的天数*/

if(year%400==0||(year%4==0&&year%100!=0))

/*判断是不是闰年*/

leap=1

else

leap=0

if(leap==1&&month>2)

/*如果是闰年且月份大于2,总天数应该加一天*/

sum++

printf("It

is

the

%dth

day.",sum)

getch()

}

#include <stdio.h>

int main()

{

char ch

printf("请输入第一个字母:")

scanf("%c", &ch)

if (ch == 'm') printf("  monday\n")

if (ch == 't')

{

getchar()

printf("请输入第二个字母:")

scanf("%c", &ch)

if (ch == 'u')printf("  tuesday\n")

else printf("  thursday\n")

}

if (ch == 'w')printf("  wednesday\n")

if (ch == 'f')printf("  friday\n")

if (ch == 's')

{

getchar()

printf("请输入第二个字母:")

scanf("%c", &ch)

if (ch == 'a')printf("  saturday\n")

else printf("  sunday\n")

}

else

    printf("没有相同。\n")

}

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

#include <stdio.h>

void main()

{

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

}

}

}