c语言程序综合实验报告报告+综合实验一文档格式.docx

上传人:b****6 文档编号:17666802 上传时间:2022-12-08 格式:DOCX 页数:59 大小:32.08KB
下载 相关 举报
c语言程序综合实验报告报告+综合实验一文档格式.docx_第1页
第1页 / 共59页
c语言程序综合实验报告报告+综合实验一文档格式.docx_第2页
第2页 / 共59页
c语言程序综合实验报告报告+综合实验一文档格式.docx_第3页
第3页 / 共59页
c语言程序综合实验报告报告+综合实验一文档格式.docx_第4页
第4页 / 共59页
c语言程序综合实验报告报告+综合实验一文档格式.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

c语言程序综合实验报告报告+综合实验一文档格式.docx

《c语言程序综合实验报告报告+综合实验一文档格式.docx》由会员分享,可在线阅读,更多相关《c语言程序综合实验报告报告+综合实验一文档格式.docx(59页珍藏版)》请在冰豆网上搜索。

c语言程序综合实验报告报告+综合实验一文档格式.docx

输入您要存入的数目:

¥"

scanf("

%f"

&

y);

\n按任意键继续\n"

x=x+y;

3'

输入您要取钱的数目:

z);

while(z>

x)

{denghao();

printf("

\n余额不足,按任意键后重新输入!

\n"

denghao();

getch();

system("

cls"

scanf("

}

if(z<

=x)

{printf("

x=x-z;

}

if(f=='

4'

{system("

break;

}

实验二:

机制转换器

写一个“计算器”程序,实现十进制、二进制、十六进制的相互转换。

(1)转换要求包括整数和小数;

(2)提供清晰、友好的用户界面;

(3)各种转换可以重复多次执行,知道用户选择“退出”按钮。

while

(1)

{boolflag=true;

system("

printf("

inputa十进制数字\n"

charshit[80];

gets(shit);

sprintf(shit,"

%lf"

cheat);

n=strlen(shit);

for(i=0;

i<

n;

i++)

{if((shit[i]<

'

0'

||shit[i]>

9'

)&

&

shit[i]!

='

.'

{flag=false;

printf("

Inputerror!

break;

}

}

intm=-1;

{if(shit[i]=='

m=m+1;

if(m>

=1)

{printf("

"

flag=false;

if(flag==true)

{

break;

shier(x);

}

break;

case'

{system("

printf("

inputa十进制数字:

scanf("

x);

shishiliu(x);

system("

}break;

inputa二进制数字:

%s"

ch);

得到十进制为:

"

%.64g\n"

ershi(ch));

getch();

system("

}break;

{system("

printf("

scanf("

ershiliu(ch);

system("

5'

inputa十六进制数字:

printf("

shiliushi(ch));

6'

shiliuer(ch);

system("

}break;

7'

\n"

bExit=1;

}break;

default:

break;

}

实验三:

随机数生成及抽奖

用均匀分布随机数生成随机数。

根据随机数编写一个抽奖程序。

(1)据用户的输入,控制随机数生成的数目,随机数用动态数组保存;

(2)用户的输入,控制随机数的范围:

比如能够生成一组【a,b】范围内的随机数。

printf("

Inputthetotalnumberofthepeople:

scanf("

%d"

n);

=======================================\n"

Informationofall:

srand((int)time(0));

for(i=1;

=n;

a[i]=rand()%100;

printf("

%d:

p%d,hisnumberis%d\n"

i,i-1,a[i]);

\nPressanykeytodrawlottry....\n\n\n"

k=rand()%100;

m=1;

if(a[i]==k)

{printf("

Thewinneris:

i-1,k);

Ihevalidlottrynumberis:

%d\n"

k);

m=0;

}

while(m==1){

printf("

Iheinvalidlottrynumberis:

k=rand()%100;

for(i=1;

if(a[i]==k)

实验四:

插入排序和快速排序

生成一组随机整,对该组数据进行排序,采用插入排序法。

生成一组随机整,对该组数据进行排序,采用快速排序法。

(1)数组的长度由用户输入;

(2)随机数范围在【100,1000】范围内;

(3)采用直接插入和普通快速排序法;

(4)根据用户要求,可以实现增序、降序两种排序。

插入升序:

voidfun1(inta[],intn)

{

inti,j,x;

for(j=0;

j<

j++)

{x=a[j];

i=j-1;

while(i>

=0&

a[i]>

x){

a[i+1]=a[i];

i--;

a[i+1]=x;

j++)

%d"

a[j]);

}

插入降序:

voidfun2(inta[],intn)

a[i]<

快速升序:

voidfun3(inta[],intn)

{inti,j,p,x,t;

i=0;

j=n+1;

x=a[i];

while

(1){

while(i<

=n&

a[++i]<

while(j>

a[--j]>

if(i>

=j)break;

t=a[i];

a[i]=a[j];

a[j]=t;

for(p=i;

a[p]<

=x&

p<

p++);

p--;

a[0]=a[p];

a[p]=x;

a[i]);

快速将序:

voidfun4(inta[],intn)

a[++i]>

a[--j]<

实验六:

学生信息数据结构及小型管理信息系统

采用单链表实现对一组学生信息的组织。

完成一个小型学生管理信息系统,实现除存储意外其他基本的信息管理功能。

(1)编写友好的用户界面;

(2)采用带头节点的单链表实现对数据的组织,不允许使用数组;

(3)学生信息必须包括如下三项:

Ø

学号(4位编号,如0101,所有学生学号长度一致)

姓名

成绩

(4)功能要求:

添加学生:

提示用户输入信息,添加一个学生信息(学号长度进行检查)。

总人数显示。

打印:

按顺序在屏幕上打印所有学生的信息。

(5)链表中的数据有序排列:

要求根据学号升序排列。

(6)添加如下功能:

删除:

a.根据学号删除任意学生信息;

b.删除所有学生信息。

要求删除成功与否都需要打印相印的提示信息,如“学号为****的学生删除成功”,“学号为****的学生不存在,删除失败”等。

查询:

根据学好查询任意学生,并将信息打印在屏幕上。

编辑:

修改任意一个学生除学号意外的信息,如姓名、成绩等。

voidPrintAll(list*h)//打印

{system("

list*p=h->

next;

inti;

======================\n"

所有学生信息:

p!

=NULL;

i++)

{

%s%s%f\n"

i,p->

ID,p->

name,p->

score);

p=p->

getch();

}

voidPrintCnt()//打印总人数

{

system("

学生总人数:

n);

getch();

voidAdd(list*h)//添加

list*p,*p1=h,*p2=h;

intk=1;

p2=p2->

输入学生信息:

p=(list*)malloc(sizeof(list));

学号:

p->

ID);

while(strlen(p->

ID)!

=4){

输入非法,学号必须是四位数,请重新输入!

scanf("

姓名:

name);

分数:

p->

while(p1->

next!

=NULL)

if(atol(p2->

ID)>

atol(p->

ID))

{p1->

next=p;

p->

next=p2;

k=0;

break;

}

p1=p2;

p2=p2->

}

if(k)

p1->

p->

next=NULL;

n++;

voidSearch(list*h)//查找

list*p;

charin_ID[4];

while(k)

p=h;

system("

请输入要查找学生的学号:

in_ID);

for(;

{if(strcmp(p->

ID,in_ID)==0)

{printf("

学号为%s的学生信息:

姓名%s,分数%f\n"

in_ID,p->

p=p->

if(k)

{printf("

找不到学号为%s的学生,请重新输入!

in_ID);

getch();

voidEdit(list*h)//编辑

charin_ID[4],i;

{

if(strcmp(p->

{

printf("

姓名%s,分数%f\n"

k=0;

break;

}

请选择修改项目:

1:

姓名\n"

2:

分数\n"

i=getch();

if(i=='

{printf("

请输入姓名:

else

请输入分数:

voidDelete(list*h)//删除

list*p=h,*p1;

p1=p=h;

PrintAll(h);

输入要删除学生的学号:

(如果删除所有学生请输入0000)\n"

scanf("

if(strcmp(in_ID,"

0000"

)==0)

h->

return;

姓名%s,分数%f\n"

p1=p;

p1->

next=p->

n--;

实验七:

文本文件和二进制文件格式的保存、读取

采用文本文件进行数据的存储和读取。

采用二进制文件进行数据的存储和读取。

(1)用文本(字符)文件格式进行数据的保存和读取;

(2)文件的存储路径,提示用户输入;

(3)存盘成功或者失败,输出提示信息;

(4)数据读入后能够修改、保存。

(5)修改存盘及数据存储函数,添加用二进制文件实现数据的保存与读取功能;

voidsave1(list*h)//保存文件

FILE*fp;

charname[20];

输入文件名:

name);

if((fp=fopen(name,"

w"

))==NULL)

存盘失败!

return;

else

数据已经成功保存到%s\n"

while(p!

=NULL)

fprintf(fp,"

%s%s%.2f\n"

p->

ID,p->

name,p->

p=p->

fclose(fp);

voidread1(list*h)//读取文件

list*p,*p1=h;

charch,name[20];

if((

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

当前位置:首页 > 法律文书 > 判决书

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

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