TC环境下实现[大学生的作业题],一个题给100分!本贴UP有分!

NIRVANAIII 2005-06-19 08:05:34
TC环境下实现[大学生的作业题]

一、设计一个通讯管理程序
功能:
1.输入记录
2.显示所有记录
3.查找记录
4.删除记录
5.保存记忆到文件
6.从文件中读取记录
7.按序号显示记录
8.按姓名排序
9.快速查找
10.复制文件
要求:
设计菜单选择,用文件实现。

二、跳水比赛每个人跳完后都有J名裁判打分,每次都要去掉一个最高分和最低分,每个人完成C个动作,每次动作结束都要按当前总成绩为他们重新排序显示结果。设共N人参加,编号1、2……N,编程实现。
要求:
1.建立一个以head为头结点的单链表。
2.以动作C为外循环,运动员N为内循环,内循环中完成对单链表按结点sum域从小到大的排序
3.外循环每次输入该单链表的所有结点

三、打开一个C语言程序,利用readdat函数实现按行读取源文件内容,函数handle实现以行为单位把字符串中所有小写字母o左边的字符串移到该串的右边存放,右移时以该原串结尾字符为标志,然后把小写字母o删除,余下的内容移到已处理字符串的左边存放继续处理,把已处理的字符串存入字符串数组xx中,最后调用文件writedat把结果输入到文件myfile.dat中存放。清屏后把原文件和目标文件内容按行对比输出,格式清晰。要求main函数带参数,原文件和目标文件为参数。
四、有一个长为29寸的尺,只有7条刻度,其余的刻度均已不在尺上,但仍可一次性量出1至29寸间的任意整数寸长度,设计程序确定尺上的刻度位置。要求,把本程序的源代码和结果共同输出到一个名为data.txt的文本文件。
五、分页打印ASCII码并加上行号。
要求:
1.文本可以使本程序也可以是另外建立的文本文件
2.判断一行不能超过99个字符,每10行为1页,同时加行号和页号
3.分页的结果在屏幕上显示,显示一页清屏一次
4.主函数带参数
...全文
1037 86 打赏 收藏 转发到动态 举报
写回复
用AI写文章
86 条回复
切换为时间正序
请发表友善的回复…
发表回复
Icomain 2005-06-26
  • 打赏
  • 举报
回复
强人啊!!!!
我也copy一份
klime 2005-06-26
  • 打赏
  • 举报
回复
UP
tian_su 2005-06-26
  • 打赏
  • 举报
回复
UP
boydream 2005-06-25
  • 打赏
  • 举报
回复
up
NIRVANAIII 2005-06-25
  • 打赏
  • 举报
回复
1 2 14 18 21 24 27



1->0 1
2->2 4
3->18 21
4->14 18
5->24 29
6->18 24
7->14 21
8->21 29
9->18 27
10->14 24
11->18 29
12->2 14
13->14 27
14->0 14
15->14 29
16->2 18
17->1 18
18->0 18
19->2 21
20->1 21
21->0 21
22->2 24
23->1 24
24->0 24
25->2 27
26->1 27
27->0 27
28->1 29
29->0 29
Ritchie1234 2005-06-24
  • 打赏
  • 举报
回复
up!!!!!!!!!!!!!!!
NIRVANAIII 2005-06-24
  • 打赏
  • 举报
回复
up~~~~
wwwtony110 2005-06-24
  • 打赏
  • 举报
回复
up
dsclub 2005-06-24
  • 打赏
  • 举报
回复
program e04_06; { 省刻度尺问题 }

label 10;

type arr40=array [0..40]of byte;

var a,b,c,d:arr40;

i,j, k,kz,r,m,t1,t2:byte;

done: boolean;

procedure result;

var file1:string[20];

text2:text;

i,j,w:integer;

begin

writeln('enter filename for output:');

readln (file1);

assign(text2,file1); rewrite(text2);

writeln(k:2);

for i:=1 to k do write(a[i]:4);

writeln;

for i:=1 to m do writeln(i:2, c[i]:4,d[i]:4);

writeln(text2,k:2);

for i:=1 to k do write(text2,a[i]:4);

writeln(text2);

for i:=1 to m do writeln(text2,i:2, c[i]:4,d[i]:4);

close(text2);

done:=true;

halt;

end;

procedure init1;

var i:integer;

begin

for i:=0 to 40 do b[i]:=0; c:=b; d:=b;

for i:=2 to k do a[i]:=0;

a[0]:=0; a[k+1]:=m; a[1]:=1;

end;

procedure find2(r,t1,t2:integer);

var i,j,j2,v1,v2,t,t3,t4,temp:integer;

begin {1}

for i:=t1 to t2 do

begin {2}

a[r]:=i;

if (r<k) and (i<t2) then

begin t3:=i+1; find2(r+1,t3,t2); end;

if r=k then

begin{3}

if ((kz=1)or(kz=3)) and (k>2) then

begin

temp:=a[2];

for j:=2 to k-1 do a[j]:=a[j+1];

a[k]:=temp;

end;

for j:=1 to m do b[j]:=0;

for j:=0 to k do

for j2:=j+1 to k+1 do

begin

t:=a[j2]-a[j];

if b[t]=0 then

begin

b[t]:=1; c[t]:=a[j]; d[t]:=a[j2];

end;

end;

done:=true; j:=0;

repeat j:=j+1 until (b[j]=0)or(j>m);

if j<=m then done:=false;

if done then result;

end;{3}

end; {2}

end; {1}

begin{main}

writeln('inptu L:(L<=40 and L>3)'); readln(m);

k:=0;

repeat k:=k+1 until ((k+2)*(k+1) div 2) >= m;

10: init1;

for kz:=1 to 3 do

case kz of

1: begin{*}

a[2]:=m-2;

if k=2

then find2(2,a[2],a[2])

else

begin

r:=3; t1:=2; t2:=m-3;

find2(r,t1,t2);

end;

end;{*}

2: begin{**}

a[2]:=2;

r:=3; t1:=3; t2:=m-1;

if t2<t1 then t2:=t1;

find2(r,t1,t2);

end;{**}

3: begin{***}

a[2]:=m-1;

r:=3; t1:=2; t2:=m-2;

if t2<t1 then t2:=t1;

find2(r,t1,t2);

end;{***}

end;{case}

k:=k+1; goto 10;

end.



呵呵,不会改成c的,哪位有心给搞定了,把分给那人
NIRVANAIII 2005-06-23
  • 打赏
  • 举报
回复
up
NIRVANAIII 2005-06-23
  • 打赏
  • 举报
回复
up
foochow 2005-06-22
  • 打赏
  • 举报
回复
MARK!!
HR-TANG 2005-06-22
  • 打赏
  • 举报
回复
UP

clear117 2005-06-22
  • 打赏
  • 举报
回复
MARK!
yahle 2005-06-22
  • 打赏
  • 举报
回复
既然up有分,我过来领分了
superioi 2005-06-22
  • 打赏
  • 举报
回复
up
NIRVANAIII 2005-06-22
  • 打赏
  • 举报
回复
up
addisonchar 2005-06-22
  • 打赏
  • 举报
回复
up
ttkk1024 2005-06-22
  • 打赏
  • 举报
回复
我是菜鸟,刚刚开始学习,看到此贴,晕倒了
对写程序的哥们致敬了^_^
freewl 2005-06-22
  • 打赏
  • 举报
回复
up
加载更多回复(66)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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