很小很小的两个小问题!!!

A1989050111 2008-12-13 11:00:39
一,a.声明一个适合于由一个整型汽车车牌号码及这辆汽车已行驶英里的整型数值和一个每辆汽车已消耗的
加仑数的整型数值组成的一个汽车记录的单一结构类型。
b.使用编程练习(a)中已声明的结构类型,编写一个程序,交互式地接收下面的数据到一个5个结构的数组中。
汽车车牌号 行驶的英里 消耗的加仑数
25 1450 62
36 3240 136
44 1792 76
52 2360 105
68 2114 67
一旦数据被输入,这个程序应该创建一个列出每辆汽车车牌号和这辆汽车实际的英里每加仑的报表。在报表的最后,包含
整个车队实际的平均英里每加仑。

二,(1)编写一个名为larger()的C语言函数,返回传递给它的任意两个日期中靠后的日期。例如,如果传递日期10/9/2001和11/3/2001给larger(),则第二个日期应该返回。
(2)把为编程练习(1)编写的larger()函数包含在一个完整的程序中。把由larger()返回的日期结构存储在一个单独的日期结构中并显示被返回日期的成员数值。
...全文
245 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
A198905011 2008-12-16
  • 打赏
  • 举报
回复
学习学习
waizqfor 2008-12-15
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
typedef struct car{
int num;//汽车车牌号//
int mi;//行驶里程
int oil;//蚝油
}date;
void main()
{
date *p;
date s[5]={{25,1450,62},{36,3240,136},{44,1792,76},{52,2360,105},{68,2114,67}};
int i,j,sum=0,sum2=0,avg=0,avg2=0;
printf("汽车车牌号 行驶里程 消耗的加仑数\n");
for(p=s;p<s+5;p++)
{
printf("%2d %4d %3d\n",p->num,p->mi,p->oil);
}
for(p=s;p<s+5;p++)
{
sum+=p->mi;
sum2+=p->oil;
}
avg=sum/5;
avg2=sum2/5;
printf("平均每英里:%d,平均每加仑:%d\n",avg,avg2);
}
不知道是这要求不 第一题
hearoequal 2008-12-15
  • 打赏
  • 举报
回复
不对输入的日期进行 容错性判断??
bingyu_2008 2008-12-15
  • 打赏
  • 举报
回复
楼主最好自己亲手做一下,对自己很有好处
A1989050111 2008-12-15
  • 打赏
  • 举报
回复
能不能做一下第一题
zhongsishun 2008-12-14
  • 打赏
  • 举报
回复
up 学习了 。
就呆在云上 2008-12-14
  • 打赏
  • 举报
回复

我做做第二个吧:
#include <stdio.h>
typedef struct date
{
unsigned int year;
unsigned int month;
unsigned int day;
}date, *pdate;

pdate larger(pdate dat1, pdate dat2){
if(dat1->year > dat2->year)
return dat1;
if(dat1->year < dat2->year)
return dat2;
//year equal then month
if(dat1->month > dat2->month)
return dat1;
if(dat1->month < dat2->month)
return dat2;
//month equal then day
if(dat1->day > dat2->day)
return dat1;
if(dat1->day < dat2->day)
return dat2;
//equal!
printf("equal!\n");
return dat1;
}

void display_larger(pdate dat) {
if(!dat)
return;
date mydate = {dat->year, dat->month, dat->day};
printf("larger date is : %d-%d-%d\n", mydate.year, mydate.month, mydate.day);
}

int main()
{
date a[2] = {{2004, 12, 28},{2004, 12, 29}};
display_larger(larger(&a[0], &a[1]));
return 0;
}


输出:

larger date is : 2004-12-29
zzzlll1983 2008-12-14
  • 打赏
  • 举报
回复
up

waizqfor 2008-12-14
  • 打赏
  • 举报
回复
#include <stdio.h>
typedef struct riqi{
int month;
int day;
int year;
}date;
date larger(date str,date str1)
{
date m,n;
m=str;n=str1;
if(m.year > n.year)
return str;
else
return str1;
if(m.month > n.month)
return str;
else
return str1;
if(m.day > m.day)
return str;
else
return str1;
}
void print(date str)
{
date p;
p=str;
printf("时间靠后的是:%d-%d-%d\n",p.month,p.day,p.year);
}
void main()
{
date aa[2]={{10,9,2001},{11,3,2001}};
date kk;
kk=larger(aa[0],aa[1]);
print(kk);
}
第2题答案
A1989050111 2008-12-14
  • 打赏
  • 举报
回复
能不能做一下第二题
dzc8866 2008-12-13
  • 打赏
  • 举报
回复
作业?UP吧
rejoice914 2008-12-13
  • 打赏
  • 举报
回复
哎!自己做吧!
jznhljg 2008-12-13
  • 打赏
  • 举报
回复
K&R C 上的练习题? LZ最好先自己做下... 有什么问题解决不了再提出来也不迟.
waizqfor 2008-12-13
  • 打赏
  • 举报
回复
作业题啊 LZ自己解决 写错了 再贴出来吧
  • 打赏
  • 举报
回复
Just Try to Do it and Do it yourself!
killbug2004 2008-12-13
  • 打赏
  • 举报
回复
我的很搓。。。。。
typedef struct date
{
unsigned int year;
unsigned int month;
unsigned int day;
}DATE;

DATE larger(DATE date1, DATE date2)
{
if(date1.year != date2.year)
{
return date1.year>date2.year?date1:date2;
}
// 年相同
else
{
if(date1.month != date2.month )
{
return date1.month>date2.month ?date1:date2;
}
// 月相同
else
{
if(date1.day != date2.day )
{
return date1.day>date2.day?date1:date2;
}
else
{
return date1;
}
}

}
}
majun01 2008-12-13
  • 打赏
  • 举报
回复
typedef struct car
{
unsigned int num;//车牌
unsigned int dis;//路程
unsigned int gallon;//加仑
}CAR;
benbenxiaoluchi 2008-12-13
  • 打赏
  • 举报
回复
顶一下吧 ,不会。

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧