寻找肇事汽车车牌号C语言,北京交通大学C语言综合程序的设计(黄宇班).doc

. . . .

PAGE

.下载可编辑.

综合程序设计

实验目的

培养和锻炼对具有一定复杂度和规模的问题的分析与求解能力。

掌握程序设计的综合方法,能综合应用各种数据类型实现较复杂数据的存储。

培养良好的C程序设计风格与代码规范意识。

二、课程设计内容

(一)设计一个菜单程序:1、寻找肇事汽车车牌号

2、形成的新数

3、替换后的新字符串

4、狗熊吃包谷

5、学生的平均分

6、再见

(二)具体内容如下:

1.寻找肇事汽车车牌号

一辆汽车撞人后逃跑,4个目击者提供如下线索:

甲:牌照3、4位相同。 乙:牌号为31XXXX。

丙:牌照5、6位相同。 丁:3~6位是一个整数的平方。

请根据4个目击者的话,找出肇事汽车车牌号。

Int a,b;

for

2. 形成的新数

将长整型数s中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。、

例如, 当s中的数,t中的数为862。

3.替换后的新字符串

将s所指字符串中出现的与t1所指字符串相同的子串,全部替换为t2所指字符串,所形成的新串放在w所指的数组中,要求t1 和t2所指字符串的长度相同。

例如,当s所指字符串中的内容为“abcdabfab”,t1所指子串中的内容为“ab”,t2所指子串中的内容为“99”时,在w所指的数组中的内容应为“99cd99f99”

4.狗熊吃包谷

狗熊到玉米地吃包谷,第一天吃了一半又拿走一个回去喂小狗熊。第二天又去吃了剩下的一半,走时仍然带一个回去。以后每天都吃前一天剩下的一半,拿走一个。到第十天时,狗熊到地里一看,只剩下一个包谷了。求地里一共有多少包谷?

5.学生的平均分

链表也是一种结构,我们把它单独作为一个知识点学习,最后为检查一下同学们学习能力,请同学们在自己阅读完链表的相应知识点以后,做以下题目:

N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是求出平均分,并由函数值返回。请在{ }中填写相应的程序。

例如,假定学生的成绩为85、76、69、85、91、72、64、87,则平均分应为78.625。

#include

#include

#define N 8

struct slist

{ double s;

struct slist *next;

};

typedef struct slist STREC;

double fun(STREC *h)

{

double aver=0.0;

while(h!=NULL)

{

aver+=h->s;

h=h->next;

}

aver/=N;

return aver;

}

STREC *creat(double *s)

{ STREC *h,*p,*q;

int i=0;

h=p=(STREC*)malloc(sizeof(STREC));p->s=0;

while(i

{ q=(STREC*)malloc(sizeof(STREC));

q->s=s[i];i++;p->next=q;p=q;

}

p->next=0;

return h;

}

outlist(STREC *h)

{ STREC *p;

p=h->next;printf("head");

do

{ printf("->%4.1f",p->s);p=p->next;

}

while(p!=0);

printf("\n\n");

}

int main()

{ double s[N]={85,76,69,85,91,72,64,87},ave;

STREC *h;

h=creat(s);outlist(h);

ave=fun(h);

printf("ave=%6.3lf\n",ave);

return 0;

}

参考答案:

double aver=0.0;

while(h!=NULL)

{

aver+=h->s;

h=h->next;

}

aver/=N;

return aver;

程序:

#include

#include

#include

#include

#include

#define N 8

struct slist

{

double s;

struct slist *next;

};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值