c 语言,请高手帮忙看看这个程序都有哪些地方错误了

题目:定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题。以下是我写的程序,在Dev-C++上运行的。#include<stdio.h>stru... 题目:定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题。以下是我写的程序,在Dev-C++上运行的。
#include<stdio.h>
struct day
{
int year;
int month;
int day;
}ri;

int select(int a)
{
if(a%4==0&&a%100!=0) return 1;
else if(a%100==0&&a%400==0) return 1;
else return 0;
}

main()
{
int a[12];
int i,y,d=0;
scanf("%d,%d,%d",&ri.year,&ri.month,&ri.day);
y=select(ri.year);
if(y==1)
a[12]={31,29,31,30,31,30,31,31,30,31,30,31};
else
a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<ri.month;i++)
d=d+a[i-1];
d=d+ri.day;
printf("%d\n",d);
system("pause");
}

出现的错误如下,能运行成功了我会加分的。
展开
 我来答
xiaohouzi510
2011-03-28 · 超过25用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:48.1万
展开全部
#include<stdio.h>
#include <stdlib.h>
struct daytime
{
int year;
int month;
int day;
}ri;
int select(int a)
{
if((a%4)==0&&(a%100)!=0)
return 1;
else
if((a%100)==0&&(a%400)==0)
return 1;
else
return 0;
}

main()
{
int c[12]={31,29,31,30,31,30,31,31,30,31,30,31},
b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int i,y,d=0;
printf("请输入年月日:");
scanf("%d%d%d",&ri.year,&ri.month,&ri.day);
y=select(ri.year);
if(y==1)
{
for(i=1;i<ri.month;i++)
d+=c[i-1];
}
else
{
for(i=1;i<ri.month;i++)
d+=b[i-1];
}
d=d+ri.day;
printf("%d\n",d);
system("pause");
}
试下这以上的代码吧,你定义数组的方法不对,那只是给a[12]一个变量赋值,还有scanf里
变量格式是不能用逗号隔开的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式