C语言作业8Word文档下载推荐.docx

上传人:b****6 文档编号:18849453 上传时间:2023-01-01 格式:DOCX 页数:26 大小:70.62KB
下载 相关 举报
C语言作业8Word文档下载推荐.docx_第1页
第1页 / 共26页
C语言作业8Word文档下载推荐.docx_第2页
第2页 / 共26页
C语言作业8Word文档下载推荐.docx_第3页
第3页 / 共26页
C语言作业8Word文档下载推荐.docx_第4页
第4页 / 共26页
C语言作业8Word文档下载推荐.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C语言作业8Word文档下载推荐.docx

《C语言作业8Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言作业8Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。

C语言作业8Word文档下载推荐.docx

65 

76 

23↵

2.[Mean]178 

349 

32 

567 

23 

322↵

3.[Mean]31 

85 

435 

23432 

27 

999↵

4.[Max]87686 

1199 

12332 

12344 

12 

3292↵

5.[Min]9 

9128 

53 

766↵

6.[Median]84 

43 

145 

3↵

7.[Median]99999 

35 

2266↵

8.[Min]4342 

3255↵

9.[Median]0↵

10.*↵

1.{87686}12 

3292 

87686↵

2.{50017}35 

2266 

99999↵

3.{3576}23 

31 

999 

23432↵

4.{3255}3255 

4342↵

5.{344}0 

344↵

6.{188}1 

178 

322 

567↵

7.{74}3 

84 

145↵

8.{3}3 

766 

9128↵

9.{0}0↵

测试用例3

1.[Mean]88888↵

2.*↵

1.{88888}88888↵

#include<

>

typedefstructline

{

chartype[8];

inttypeValue;

intdata[100];

intn_data;

}line;

intstringToInt(charstr[])

intreturnValue=0;

intn=strlen(str);

for(inti=0;

i<

strlen(str);

i++)

{

returnValue=returnValue+((int)str[i]-48)*pow,--n);

}

returnreturnValue;

}

voidinputToLineData(line*l,charinput[])

intn,i;

ata,Line[i].n_data);

for(i=0;

amount;

Line[i].typeValue=getTypevalue(Line[i]);

linetemp;

for(j=0;

j<

amount-1;

j++)

if(Line[j].typeValue<

Line[j+1].typeValue)

temp=Line[j];

Line[j]=Line[j+1];

Line[j+1]=temp;

printf("

{%d}"

Line[i].typeValue);

Line[i].n_data;

if(j<

Line[i].n_data-1)

%d"

Line[i].data[j]);

else

%d"

\n"

);

3.二叉排序树(选做)

撰写一个程序,能够构建字符串型的二叉排序树并在二叉排序树中查找节点。

所谓二叉排序树,简而言之,是一个每个节点可指向0、1或2个节点的递归的数据结构。

最上层的一个节点称为树根。

二叉排序树服从凡是比当前节点小的值都在其左下方,比当前节点大的值都在其右下方的规律。

该规律不仅适用于树的局部,也适用于整棵二叉排序树。

例如,在给定Kiwi,Banana,Apple,Melon,Berry的输入字符串的顺序下,以此构建二叉排序树的过程为:

建树后,请根据给定的字符串,查找树中是否有该节点。

若有,返回其节点在所在的层次数(根节点Kiwi的层次定义为0);

若无,返回“NotFound”。

每行一个字符串,作为要插入二叉排序树的值。

若单独一个*字符占一行,则表明用于建树的字符串输入数据结束。

随后以[Search]开始的若干行,代表要在树中查找某个字符串值,用于查找的字符串紧跟其后。

若输入行的第一个字符为“#”,则表示输入数据结束。

输出每个要查找的值所在的层次数。

1.Kiwi↵

2.Banana↵

3.Apple↵

4.Melon↵

5.Berry↵

6.*↵

7.[Search]Berry↵

8.[Search]Strawberry↵

9.#↵

1.Berry-2↵

2.Strawberry-Not 

Found↵

1.test↵

2.*↵

3.[Search]test↵

4.[Search]text↵

5.#↵

1.test-0↵

2.text-Not 

structnode

{chardate[20];

structnode*left;

structnode*right;

intfloor;

};

intflag=0;

intf(structnode*p,chart[])

{

if(p==NULL)

return0;

elseif(strcmp(p->

date,t)==0)

{

printf("

%s-%d\n"

t,p->

floor);

flag=1;

}else

f(p->

left,t);

right,t);

}

}

intmain()

structnode*p0,*pnew,*ptemp;

p0=(structnode*)malloc(sizeof(structnode));

p0->

left=NULL;

right=NULL;

chartemp[40];

gets(temp);

strcpy(p0->

date,temp);

floor=0;

while(temp[0]!

='

*'

pnew=(structnode*)malloc(sizeof(structnode));

pnew->

strcpy(pnew->

ptemp=p0;

for(inti=1;

;

i++)

{

if(strcmp(temp,ptemp->

date)>

0)

{

if(ptemp->

right==NULL)

{

ptemp->

right=pnew;

pnew->

floor=i;

break;

}else

ptemp=ptemp->

right;

}else

left==NULL)

left=pnew;

}

else

left;

}

}配料员(选做)

背景:

你是一名室内装潢工程队的配料员。

你的伙伴们在铺大理石地砖的时候,习惯于按照以下两种之字形的遍历顺序之一:

学了C语言以后,你决定编写一个程序。

无论你的伙伴们想要以何种遍历顺序铺设任何图案的任何大小的地砖方阵,你的程序都能正确地生成一个线性遍历序列,指示你每次该递给他们什么图案的地砖。

首行为需要遍历的地砖矩阵的个数。

第二行为第一个矩阵的维数(其中的x是小写字母x,前后各有一个空格)。

如果是一个N维的矩阵,则接下来的N行每一行为矩阵该行各列的元素,整型,以空格分隔,每一个整数代表一种基本图案的地砖。

随后的一行为该矩阵遍历的模式,只能为TL-BR或者TR-BL两者之一。

若有多个矩阵,则从下一行起重复上述的输入模式。

按顺序输出所需原料的编号。

1.1↵

2.4 

3.1 

4.5 

8↵

5.1 

6.5 

7.TL-BR↵

1.1,2,5,1,6,3,4,7,2,5,6,3,8,4,7,8↵

1.2↵

1↵

3.1↵

4.2↵

5.3↵

6.4↵

7.TL-BR↵

8.4 

9.1↵

10.2↵

11.3↵

12.4↵

13.TR-BL↵

1.1,2,3,4↵

2.1,2,3,4↵

2.1 

3.0↵

4.TL-BR↵

6.5↵

7.TR-BL↵

1.0↵

2.5↵

intx[50][50];

voidchange(int*a,int*b)

inttemp;

temp=*a;

*a=*b;

*b=temp;

voidfun(inta,intb)

a;

for(intj=0;

b/2;

j++)

inttemp;

temp=x[i][j];

x[i][j]=x[i][b-j-1];

x[i][b-j-1]=temp;

}

intn;

scanf("

&

n);

while(n--!

=0)

for(inti=0;

50;

for(intj=0;

x[i][j]=-1;

inta,b;

chartempchar[6];

scanf("

%d%c%d"

a,&

tempchar[0],&

b);

如果文件不存在,则显示“FileNameError.”。

第一行为要以只读方式打开的文本文件名

第二行要读取的行号(从1开始)

文件中指定行号的内容(完整一行的内容)

数据文件

1.↵

2.2↵

1.This 

is 

Line 

2.↵

无限制

2.1↵

1.↵

2.10↵

1.Line 

No 

Error.↵

测试用例4

1.File 

Name 

FILE*pf;

charname[20];

%s"

name);

pf=fopen(name,"

r"

if(pf==NULL)

FileNameError.\n"

exit(0);

chars[20];

while(n--)

if(fgets(s,20,pf)==NULL)

pf=NULL;

break;

LineNoError.\n"

else

s);

H18恭喜发财利是窦来(选做)

在中国,过春节时人们有给孩子压岁钱(粤语称为利是)的习俗。

最早的压岁钱出现于汉代,又叫压胜钱,并不在市面上流通,而是铸成钱币形式的玩赏物,有避邪的功能。

钱币正面一般铸有“万岁千秋”、“去殃除凶”等吉祥话和龙凤、龟蛇、双鱼等吉祥图案。

据说嘉兴府有一户姓管的人家,夫妻老年得子,十分珍爱。

在年三十晚上,为防止“祟”来侵扰一直逗孩子玩,小孩用红纸包了八枚铜钱,包了又拆,拆了又包,睡下以后,包着的八枚铜钱就放在枕边。

半夜里,一阵阴风吹过,黑矮的小人正要用他的白手摸孩子的头,突然孩子枕边迸出一道金光,祟尖叫着逃跑了。

于是这件事传扬开来,大家纷纷效仿,在大年夜用红纸包上钱给孩子,祟就不敢再来侵扰了。

因而人们把这种钱叫“压祟钱”,“祟”与“岁”发音相同,日久天长,就被称为“压岁钱”了。

现在有N个人,他们都有小孩,春节来了,他们要发压岁钱给朋友的小孩,而他们自己的小孩也会收到压岁钱。

为了简单,他们在发压岁钱的时候,使用以下的计算方法,譬如某甲有100块,它要给另外三个人的小孩发压岁钱,则每个小孩会分到100/3=33块,剩余的1块就不发了。

给你这N个人的信息,以及他们把压岁钱发给了谁的小孩,请你计算他们每个人的小孩收到的压岁钱和他们发出去的压岁钱的差额是多少。

输入

第1行:

一个整数N(2<

=N<

=10)

第2..N+1行:

每行是一个人名,每个名字不超过14个字符

第N+2..结束:

N组按照以下规则组织的数据:

组中的第一行为送出压岁钱的人名。

第二行包括两个数字,第一个是该人有多少钱(0~2000),第二个是它要把钱发给几个人的小孩,用NGi表示(0≤NGi≤N-1).

如果NGi为非零,则下面的NGi行会列出接受压岁钱的人的名字。

输入样例

5davelauraowenvickamrdave2003lauraowenvickowen5001daveamr1502vickowenlaura02amrvickvick00

输出格式

输出为N行,每行上是一个人名与它收到和送出的压岁钱之差额,这两项之间有一个空格。

这N行的顺序应该和输入中第2~N+1行的顺序相同。

输出样例

dave302laura66owen-359vick141amr-150

1.5↵

2.dave↵

3.laura↵

4.owen↵

5.vick↵

6.amr↵

7.dave↵

8.200 

9.laura↵

10.owen↵

11.vick↵

12.owen↵

13.500 

14.dave↵

15.amr↵

16.150 

2↵

17.vick↵

18.owen↵

19.laura↵

20.0 

21.amr↵

22.vick↵

23.vick↵

24.0 

0↵

1.dave 

302↵

2.laura 

66↵

3.owen 

-359↵

4.vick 

141↵

5.amr 

-150↵

1.10↵

2.mitnik↵

3.Poulsen↵

4.Tanner↵

5.Stallman↵

6.Ritchie↵

7.Baran↵

8.Spafford↵

9.Farmer↵

10.Venema↵

11.Linus↵

12.mitnik↵

13.300 

14.Poulsen↵

15.Tanner↵

16.Baran↵

17.Poulsen↵

18.1000 

19.Tanner↵

20.Spafford↵

21.2000 

9↵

22.mitnik↵

23.Poulsen↵

24.Tanner↵

25.Stallman↵

26.Ritchie↵

27.Baran↵

28.Farmer↵

29.Venema↵

30.Linus↵

31.Tanner↵

32.1234 

33.Poulsen↵

34.Stallman↵

35.536 

36.Farmer↵

37.Venema↵

38.Linus↵

39.Ritchie↵

40.2000 

41.mitnik↵

42.Baran↵

43.79 

44.Tanner↵

45.Farmer↵

46.Farmer↵

47.0 

0↵

48.Venema↵

49.12 

50.mitnik↵

51.Poulsen↵

52.Tanner↵

53.Stallman↵

54.Ritchie↵

55.Baran↵

56.Spafford↵

57.Farmer↵

58.Linus↵

59.Linus↵

60.1000 

61.mitnik↵

1.mitnik 

2923↵

2.Poulsen 

557↵

3.Tanner 

128↵

4.Stallman 

-311↵

5.Ritchie 

-1777↵

6.Baran 

245↵

7.Spafford 

-1997↵

8.Farmer 

440↵

9.Venema 

391↵

10.Linus 

-599↵

structdate

charname[15];

intmoney;

intget;

intnum;

intres;

structdatepeople[10];

for(intx=0;

x<

10;

x++)

people[x].get=0;

intn,itemp,ktemp,ntemp,moneytemp;

chartemp[20];

n;

people[i].name);

for(inta=0;

a<

a++)

temp);

for(itemp=0;

strcmp(temp,people[itemp].name);

itemp++)

{;

%d%d"

people[itemp].money,&

ntemp);

if(ntemp!

moneytemp=people[itemp].money/ntemp;

people[itemp].num=ntemp;

while(ntemp--)

scanf("

for(ktemp=0;

strcmp(temp,people[ktemp].name);

ktemp++)

{;

people[ktemp].get+=moneytemp;

if(people[a].num)

people[a].res=people[a].get-people[a].money+people[a].money%people[a].num;

else

people[a].res=people[a].get;

for(inta=0;

%s%d\n"

people[a].name,people[a].res);

51猜数字看人品

10/折扣:

描述

Tom和Jerry做猜数字的游戏,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1