急求解:C语言题目

来源:百度知道 编辑:UC知道 时间:2024/06/15 09:58:45
输入某年某月某日,判断这一天是这一年的第几天?

我刚学不久呀!不知道错在哪呀,哪位大侠帮帮呀:

#include "stdio.h"
main()
{int year,month,day,i,*p,sum,leap;
int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
p=a;,
printf("Please input the: year,month,day");
scanf("%d%d%d\n",year,month,day);
leap=(year%400==0||year%4==0&&year%100!=0);
p=a+leap;
for(i=0;i<month;i++)
sum=*(*p+i);
printf("%d\n",sum):
}

#include "stdio.h"
main()
{int year,month,day,i,*p,sum=0,leap; //sum要初始化它的值,不然会出现随机值
int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
printf("Please input the: year,month,day");
scanf("%d%d%d",&year,&month,&day); //这也是
leap=((year%400==0&&year%100!=0)&&year%4==0); //这也改了
p=a+leap*12;
for(i=0;i<month;i++)
sum+=*(p+i); //这改了
printf("%d\n",sum);
}

你可以先考虑输入的日期距离一月一日有多少天。然后除7取余,就可以知道是星期几了。
以下代码满足基本的:
#include <stdio.h>
int a[12] = {0,31,28,31,30,31,30,31,31,30,31,30};

int today(int m, int n)
{
int s = 0;
int i;
for (i=0; i<m;i++)
{
s += a[i];
}
s += n;
return s-1;
}

int main()
{
int s, m, n;
printf("请输入月份与日期:\n");
scanf("%d%d",&m,&n);
s = today(m,n);
s =