
麻烦帮我看看这个C语言程序吧!解释一下。(有些地方详细点)谢谢
#include<stdio.h>voidsort(int*x,intn)/这句{inti,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;...
#include<stdio.h>
void sort(int *x,int n) / 这句
{ int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i; for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j; /这句
if(k!=i) /这句
{ t=x[i];
x[i]=x[k];
x[k]=t;
} } }
void main()
{FILE *fp; /这句
int *p,i,a[10];
fp=fopen("p9_1.out","w"); /这句
p=a;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10); /这句
for(;p<a+10;p++)
{ printf("%d ",*p); /这句
fprintf(fp,"%d ",*p); }
system("pause");
fclose(fp); } 展开
void sort(int *x,int n) / 这句
{ int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i; for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j; /这句
if(k!=i) /这句
{ t=x[i];
x[i]=x[k];
x[k]=t;
} } }
void main()
{FILE *fp; /这句
int *p,i,a[10];
fp=fopen("p9_1.out","w"); /这句
p=a;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10); /这句
for(;p<a+10;p++)
{ printf("%d ",*p); /这句
fprintf(fp,"%d ",*p); }
system("pause");
fclose(fp); } 展开
2个回答
展开全部
总体实现功能是输入一个数组,并对数组进行从大到小排序,然后在屏幕输出排序之后的元素,同时将数组元素写入文件中。
#include<stdio.h>
void sort(int *x,int n) //数组排序函数
{ int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i; for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j; //如果数组后一个元素大于下标为k的元素,将数组下标赋值给k,k始终保持最大的数组元素下标
if(k!=i) //如果数组下标改变了,那么进行数组元素交换
{ t=x[i];
x[i]=x[k];
x[k]=t;
} } }
void main()
{FILE *fp; //声明一个文件指针变量
int *p,i,a[10];
fp=fopen("p9_1.out","w"); //以写方式打开p9_1.out文件,文件指针为fp
p=a;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10); //对数值进行排序
for(;p<a+10;p++)
{ printf("%d ",*p); //输出数组元素
fprintf(fp,"%d ",*p); }
system("pause");
fclose(fp); }
#include<stdio.h>
void sort(int *x,int n) //数组排序函数
{ int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i; for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j; //如果数组后一个元素大于下标为k的元素,将数组下标赋值给k,k始终保持最大的数组元素下标
if(k!=i) //如果数组下标改变了,那么进行数组元素交换
{ t=x[i];
x[i]=x[k];
x[k]=t;
} } }
void main()
{FILE *fp; //声明一个文件指针变量
int *p,i,a[10];
fp=fopen("p9_1.out","w"); //以写方式打开p9_1.out文件,文件指针为fp
p=a;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10); //对数值进行排序
for(;p<a+10;p++)
{ printf("%d ",*p); //输出数组元素
fprintf(fp,"%d ",*p); }
system("pause");
fclose(fp); }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询