| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 854 人关注过本帖
标题:结构体题不通
只看楼主 加入收藏
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
 问题点数:0 回复次数:16 
结构体题不通

这是一道结构体题斑竹帮我做了,没通,我改了,依然不通.,我找不到原因,请诸位帮忙
#include<stdio.h>
struct date
{
int year;
int month;
int day;
}a;


main()
{
printf("please input year,nonth,day");
scanf("%d,%d,%d",&a.year,&a.month,&a.day);
printf("There are %d days till %d month %d day\n",fun(a)+a.day,a.month,a.day);
}

int fun(a)
{
int i,leap=0,sum=0;
int num[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if(a.year%4==0&&a.year%100!=0||a.year%400==0)
leap=1;
for(i=0;i<a.month;i++)
sum+=num[leap][i];
return sum;
}

搜索更多相关主题的帖子: 结构体 
2006-11-01 19:11
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

#include<stdio.h>
struct date
{
int year;
int month;
int day;
}a;
int fun();

main()
{
printf("please input year,nonth,day");
scanf("%d,%d,%d",&a.year,&a.month,&a.day);
printf("There are %d days till %d month %d day\n",fun()+a.day,a.month,a.day);
return 0;
}

int fun()
{
int i,leap=0,sum=0;
int num[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if(a.year%4==0&&a.year%100!=0||a.year%400==0)
leap=1;
for(i=0;i<a.month;i++)
sum+=num[leap][i];
return sum;
}


谁有强殖装甲第二部,可以Q我460054868
2006-11-01 19:18
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

#include<stdio.h>
struct date
{
int year;
int month;
int day;
}a;
int fun(struct date);

main()
{
printf("please input year,nonth,day");
scanf("%d,%d,%d",&a.year,&a.month,&a.day);
printf("There are %d days till %d month %d day\n",fun(a)+a.day,a.month,a.day);
}

int fun(struct date a)
{
int i,leap=0,sum=0;
int num[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if(a.year%4==0&&a.year%100!=0||a.year%400==0)
leap=1;
for(i=0;i<a.month;i++)
sum+=num[leap][i];
return sum;


2006-11-01 19:19
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
我想应该是在主函数前作int fun(a)的函数声明吧...再试试看...
2006-11-01 19:20
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
fun()
中的a并非全局变量.
struct date
{
int year;
int month;
int day;
};
data a;//这样就可以.

倚天照海花无数,流水高山心自知。
2006-11-01 19:26
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用nuciewth在2006-11-1 19:26:21的发言:
fun()
中的a并非全局变量.
struct date
{
int year;
int month;
int day;
};
data a;//这样就可以.

那个a怎么就不是全局变量啊?

还有在C中,data a;这样定义是错误的。在C++中可以把struct省掉,而C中是不可以的。


2006-11-01 19:49
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

这个会运行不通? 什么编译器

#include<stdio.h>
struct date
{
int year;
int month;
int day;
};
int fun(date);
void main()
{
date a={1997,2,1};
printf(\"There are %d days till %d月%d号\n\",fun(a)+a.day,a.month,a.day);
}

int fun(date a)
{
int leap=0,sum=0;
int num[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if((a.year%4==0&&a.year%100!=0)||a.year%400==0) leap=1;
for(int i=0;i<a.month;i++) sum+=num[leap][i];
return sum;
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-11-01 19:56
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用unicorn在2006-11-1 19:56:25的发言:

这个会运行不通? 什么编译器

#include<stdio.h>
struct date
{
int year;
int month;
int day;
};
int fun(date);
void main()
{
date a={1997,2,1};
printf(\"There are %d days till %d月%d号\n\",fun(a)+a.day,a.month,a.day);
}

int fun(date a)
{
int leap=0,sum=0;
int num[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if((a.year%4==0&&a.year%100!=0)||a.year%400==0) leap=1;
for(int i=0;i<a.month;i++) sum+=num[leap][i];
return sum;
}

这个c编译器通不过,C++编译器能通过.
因为有date a;


2006-11-01 20:00
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
如果不是VC++编译器,还是加上struct吧,即 int fun(struct date a)
用类习惯了 在用C时考虑倒不周到了


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-11-01 20:20
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
得分:0 
感谢诸位的帮助.另外这个程序我不明白为何num[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};为什么num[2][12]={31.....这样就不对,问题在哪?
2006-11-01 20:28
快速回复:结构体题不通
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054581 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved