实验报告8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八实验报告8-1
学号:14102211
姓名:宋琦
1.题目:sort函数实现起泡法排序
2.程序列表:
#include
#include
int main()
{
int sort(int a[10]);
int a[10],i;
for(i=0;i<10;i++)
a[i]=rand()%100; //随机赋值100以内的数字
printf("Data :");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
a[10]=sort(a);
printf("Result:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
int sort(int a[10])
{
int i,j,temp;
for(i=1;i<10;i++)
{
for(j=0;j<10-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return a[10];
}
3.运行结果:
4.总结:
本题并不难,相对于选择法要思维上简单一些,程序的编写上,sort函数返回类型如果是void 会更好一点,后面如果能采用一定会采用void,会简单很多。
实验八实验报告8-2
学号:14102211
姓名:宋琦
1.题目:用选择法实现sort函数
2.程序列表:
#include
#include
int main()
{
void sort(int a[10]);
int a[10],i;
for(i=0;i<10;i++)
a[i]=rand()%100; //随机分配100以内的数字
printf("Data :");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
sort(a);
printf("Result:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void sort(int a[10])
{
int j,k,temp,n;
for(j=0;j<9;j++)
{
n=j;
for(k=j+1;k<10;k++)
{
if(a[n]>a[k])
{
n=k;
}
}
temp=a[n];
a[n]=a[j];
a[j]=temp;
}
}
3.运行结果:
4.总结:个人觉得比起泡法麻烦很多,并没有独立想出,借鉴了同班刘博的思路,自己在重新编写得出。
实验八实验报告8-3
学号:14102211
姓名:宋琦
1.题目:一个函数做到输出3个数字中最大的
2.程序列表:
#include
int main()
{
float max_3(float x,float y,float z);
float a,b,c,max;
scanf("%f,%f,%f",&a,&b,&c);
max=max_3(a,b,c);
printf("%.1f\n,max);
return 0;
}
float max_3(float x,float y,float z)
{
if(x>y)
{
if(x>z)
return x;
else
return z;
}
else
{
if(y>z)
return y;
else
return z;
}
}
3.运行结果:
4.总结:程序运行时出现点小的问题,最后发现是主函数中声明出错造成的,修改完毕,无其他错误,整体不难。