中易网

C语言。求指教!请帮我写一下程序注释解释一下。已知公元1年1月1日是星期一。计算输入的年月日是星期几。

答案:3  悬赏:0  
解决时间 2021-11-14 18:48
#include <stdio.h>
void main()
{
long year,month,day;
long totalday;
int week;
int monthday[12]={0,31,59,90,120,151,181,212,243,273,304,334};//什么意思?
int monthdayLeap[12]={0,31,60,91,121,152,182,213,244,274,305,335};//什么意思?
char * weekname[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};//这个指针是什么意思?
printf("Please input Year Month Day:");
scanf("%ld %ld %ld",&year,&month,&day);
totalday=(year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400;//这条语句是什么意思?
if((year%4==0)&&(year%100!=0)||(year%400==0))
totalday+=monthdayLeap[month-1];
else
totalday+=monthday[month-1];
totalday+=day;
week=totalday%7;//知道了week,怎么输出星期几?
printf("%ld,%s\n",totalday,weekname[week]);
}
最佳答案
int monthday[12]={0,31,59,90,120,151,181,212,243,273,304,334};//平常年份到该月1号之前共有多少天,1月1号之前0天 3月1号之前59天

int monthdayLeap[12]={0,31,60,91,121,152,182,213,244,274,305,335};//闰年到x月1号多少天
char * weekname[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};//是指针的数组,不是指针,数组的每个成员是一个指针指向星期几的英语,用于最后的输出
printf("Please input Year Month Day:");
scanf("%ld %ld %ld",&year,&month,&day);
totalday=(year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400;//计算迄今为止每年365天一共多少天加上闰年的个数(每个闰年增加天,被4整除是闰年 被100整除的不是 被400整除的是)
if((year%4==0)&&(year%100!=0)||(year%400==0))
totalday+=monthdayLeap[month-1];
else
totalday+=monthday[month-1];
totalday+=day;
week=totalday%7;//总共的天数对7求模得到余数
printf("%ld,%s\n",totalday,weekname[week]);
}
全部回答
#include <stdio.h> void main() { long year,month,day; long totalday; int week; int monthday[12]={0,31,59,90,120,151,181,212,243,273,304,334};//monthday数组初始化 int monthdayLeap[12]={0,31,60,91,121,152,182,213,244,274,305,335};//monthdayLeap数组初始化 char * weekname[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};//这是个指针数组,你也可以看成一个二维数组 printf("Please input Year Month Day:"); scanf("%ld %ld %ld",&year,&month,&day); totalday=(year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400;//总天数 if((year%4==0)&&(year%100!=0)||(year%400==0)) totalday+=monthdayLeap[month-1]; else totalday+=monthday[month-1]; totalday+=day; week=totalday%7;//知道了week,怎么输出星期几?//下面那条语句就是输出星期几的 printf("%ld,%s\n",totalday,weekname[week]);//这个就是输出星期几的地方 }

#include <stdio.h> #include <windows.h> int main() { char szbuffer[512]; // 这个不用解释 dword nsize = sizeof( szbuffer ); // 这个sizeof是求出szbuffer大小,下面的这个函数需要用到它 getcomputername( szbuffer, &nsize );// 这个是获取计算机名的一个api,用法下面给你解释 printf( "本机的计算机名是: %s\n", szbuffer ); // 这个也不用解释了 }

getcomputername 的原型是

bool getcomputername( lptstr lpbuffer, lpdword lpnsize );

参数用法:

lpbuffer
[out] pointer to a buffer that receives a null-terminated string

输出用的,获取到计算机名后给你存放到这个参数中

lpnsize
[in, out] on input, specifies the size of the buffer
这个参数告诉getcomputername函数lpbuffer 能存储多少字符,函数调用完之后这个参数的值是得到的计算机名的长度。 if the buffer is too small, the function fails
如果你的字符数组空间太小函数就会执行失败,并且lasterror码就被置为error_buffer_overflow

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
软包背景墙费用贵不贵
趣微小萌微商加盟卖情趣用品怎样赚钱月入过万
更乐派出所地址有知道的么?有点事想过去!
本人在事业单位停薪留职,进入民营企业,能否
在深圳买房注意事项有哪些?
乳房上面有硬块是怎么回事
梦见莼菜、菁菜是什么意思?好不好呢?
“在这长满了红绣的鱼钩上,闪烁着金色的光芒
秋天吃什么防秋燥
西戌派出所地址在什么地方,想过去办事
关于汽车装饰贴纸
联想宝龙达bd3861显卡怎么样
从菜市口北到辛店村 就是那个北五环那个 怎么
招商银行ELLE联名卡兰蔻旅游套装如何领取
实木会议椅价格如何
推荐资讯
甘肃格力空调维修点在哪里?
再天津买富士数码相机哪里能够买到真货?有没
从转塘坐什么车到杭州市轻工技工学校(莫干山
新倚天屠龙记安以轩漏脚趾戏是哪集
电器在保修期内维修后的保修期怎么算
从芜湖到山东翼城应该怎么坐火车
运城哪里有招聘电脑办公设备维修的?
一块铝镁合金,铝和镁的质量比是7:5,已知铝
您好,请问怀孕六个多月可以用家里种植的
小熊电火锅怎么样
40天的孩子睡着打针受惊了怎么办
倩女幽魂中医师能用扇子拓本吗?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?