用c语言编写一程序实现如下功能:输入1、2、3、4、5、6、70(分别对应星期一至?

如题所述

用蔡勒公式即可:

#include <stdio.h>

int main ()

{

int y, m, d, c, w;

printf ("输入年 月 日(空格间隔):");

scanf ("%d %d %d", &y, &m, &d);

if (m ==1 || m == 2) 

{ //判断月份是否为1或2y--;m += 12;}

c = y / 100;

y = y - c * 100;

w = (c / 4) - 2 * c + (y + y / 4) + (13 * (m + 1) / 5) + d - 1;

while (w < 0) w += 7;

w %= 7;

if (w == 0) printf ("星期日");

else printf ("星期%d", w);

return 0;

方法二:

#include 

void main ()

{

int y,m,d,c,s,w;

printf("请输入8位年月日,以空格隔开:");

scanf("%d%d%d",&y,&m,&d);

if (m==1) c=d;

else if (m==2) c=31 d;

else if (m==3) c=31 28 d;

else if (m==4) c=31 28 31 d;

else if (m==5) c=31 28 31 30 d;

else if (m==6) c=31 28 31 30 31 d;

else if (m==7) c=31 28 31 30 31 30 d;

else if (m==8) c=31 28 31 30 31 30 31 d;

else if (m==9) c=31 28 31 30 31 30 31 31 d;

else if (m==10) c=31 28 31 30 31 30 31 31 30 d;

else if (m==11) c=31 28 31 30 31 30 31 31 30 31 d;

else if (m==12) c=31 28 31 30 31 30 31 31 30 31 30 d;

if (m>2)

{if (y0==0) {if (y@0==0) c=c 1;}

else if (y%4==0) c=c 1;}

s=(y-1)*365 (y-1)/4-(y-1)/100 (y-1)/400 c;

w=s%7;

switch (w)

{

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;

printf("");

}

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-24

C语言实现输入1到7的数字,输出对应是星期几,参考代码如下:

#include "stdio.h"

int main()

{

    int d;

    const char wd[7][3]= {"一","二","三","四","五","六","日"};

    scanf("%d",&d);

    printf("星期%s",wd[d-1]);

    return 0;

}

本回答被网友采纳

用c语言编写一程序实现如下功能:输入1、2、3、4、5、6、70(分别对应星 ...
else if (m==4) c=31 28 31 d; else if (m==5) c=31 28 31 30 d; else if (m==6) c=31 28 31 30 31 d; else if (m==7) c=31 28 31 30 31 30 d; else if (m==8) c=31 28 31 30 31 30 31 d; else if (m==9) c=31 28 31 30 31 30 31 31 d; else if (...

c语言输入1到7输出星期几
c语言输入1到7输出星期几的方法如下输入1-7之间的一个整数,然后根据输入的数字判断是星期几,最后输出对应的星期的全称。如输入4,则输出Thursday#includeint_main(int_argc,char*argv[])﹛int_aprintf("输入1-7的整数")scanf("%d",&a)switch(a)﹛case_1printf("Monday\\n")breakcase_2printf...

编写一个程序,根据用户输入(1~7) 输出英文星期几
while(1){ printf("输入1-7\\n");scanf("%d",&num);while(1){ if (1<=num<=7) break;else printf("重新输入\\n");scanf("%d",&num);} switch (num){ case 1: printf("monday");break;case 2: printf("tuesday"); break;case 3: printf("wednesday");break;case 4: printf("...

用c语言编一个程序:根据用户输入的数字(1~7),输出英文的星期名称。怎...
include<stdio.h>#include<string.h>int main(){char a[8][20]={"","monday","tuesday","wednesday","thursday","friday","saturday","sunday"};int n;scanf("%d",&n);puts(a[n]);return 0; } \/*输出:7sunday *\/

编写一个程序从键盘输入1到7数字中的一个,对应打印星期几,例如从键盘...
1、首先打开VS2017软件,选择新建下面的项目,如下图所示 2、C语言程序目录建成以后,右键单击源文件,选择添加新建项 3、接着选择C++文件,给文件起一个名字,如下图所示 4、然后在C语言文件中编写如下的C语言程序 5、运行结果如下:

C语言 编写一个程序 输入周几号 输出改天的英文名 要求用指针处理
1 定义字符串指针数组,指向7个英文单词,分别为周一到周日。2 输入周几号。3 取出对应的英文单词并输出。代码:int main(void) { int n; char *week[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; scanf("%d",&n); puts(week[n-1]); ...

用C语言编程实现下面的功能:星期日期自动转换。
C值班的日期在星期五至星期六,且一天后是A值班;E两天后是D值班;E值班的日期只能在星期一至星期三;在编程时用数组元素的下标1到7表示星期一到星期天,用数组元素的值分别表示A~F七位大夫。程序说明与注释 include<stdio.h> include<stdlib.h> int a[8];char *day[]={"","MONDAY","...

c语言输入1-7输出星期
const char *str[]={"MON","TUE","WEN","THU","FRI","STA","SUN"} int main(void){ int y=0;scanf("%d",&y);switch(y){ case 1:case 2:case 3:case 4:case 5:case 6:case 7:printf(“\\n%s\\n”,str[y-1]);break;default:printf("\\nError\\n");break;} } ...

用C语言编写一个程序,将输入的英文星期单词转化为中文输出
include <stdio.h>#include <string.h>char *weeks[]={"Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday","Sunday"};char *trans[]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};void translate(char *pstr){int i;for(i=0;i<7;i++){...

C语言中如果从键盘上输入一个代表星期几的数值(整数),根据下面的对应关 ...
用一个指针数组存放汉字"一"到"日"字符串的指针,可用简单代码解决这问题。举例如下:\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"int main(void){ char *pw[7]={"一","二","三","四","五","六","日"},w; while(1){ printf("Input...

相似回答