. . . .
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;
};