
各位大哥大家大叔大婶求做一个C语言测试题(程序设计)
【程序设计】--------------------------------------------------功能:编写函数fun对主程序中用户输入的具有10个数据的数...
【程序设计】
--------------------------------------------------
功能:编写函数fun对主程序中用户输入的具有10
个数据的数组a按由大到小排序,并在主程序中输出
排序结果。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
void fun(int array[], int n)
{
/**********Program**********/
/********** End **********/
}
int main()
{
int a[10],i;
printf("请输入数组a中的十个数:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
fun(a,10);
printf("由大到小的排序结果是:\n");
for (i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
wwjt();
return 0;
}
void wwjt()
{
FILE *IN,*OUT;
int n;
int i[10];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%d",&i[n]);
}
fun(i,10);
for(n=0;n<10;n++)
{
fprintf(OUT,"%d\n",i[n]);
}
fclose(IN);
fclose(OUT);
}
初学C语言所以不太懂,步骤写详细点尽量用最简单的知识,最好把每部分的功能写上,谢谢 展开
--------------------------------------------------
功能:编写函数fun对主程序中用户输入的具有10
个数据的数组a按由大到小排序,并在主程序中输出
排序结果。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
void fun(int array[], int n)
{
/**********Program**********/
/********** End **********/
}
int main()
{
int a[10],i;
printf("请输入数组a中的十个数:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
fun(a,10);
printf("由大到小的排序结果是:\n");
for (i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
wwjt();
return 0;
}
void wwjt()
{
FILE *IN,*OUT;
int n;
int i[10];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%d",&i[n]);
}
fun(i,10);
for(n=0;n<10;n++)
{
fprintf(OUT,"%d\n",i[n]);
}
fclose(IN);
fclose(OUT);
}
初学C语言所以不太懂,步骤写详细点尽量用最简单的知识,最好把每部分的功能写上,谢谢 展开
3个回答
展开全部
void fun(int array[], int n)
{
/**********Program**********/
int i,j;
for(i=0;i<n+1;i++) //进行n+1次循环
for(j=0;j<n-i-1;j++) //每次循环进行n-i-1次比较
if(array[j]<array[j+1])
{
array[j]^=array[j+1];
array[j+1]^=array[j];
array[j]^=array[j+1]; //如果前面数小于后面数,交换位置
}
/********** End **********/
}
{
/**********Program**********/
int i,j;
for(i=0;i<n+1;i++) //进行n+1次循环
for(j=0;j<n-i-1;j++) //每次循环进行n-i-1次比较
if(array[j]<array[j+1])
{
array[j]^=array[j+1];
array[j+1]^=array[j];
array[j]^=array[j+1]; //如果前面数小于后面数,交换位置
}
/********** End **********/
}
展开全部
给你一段最简单的冒泡排序代码吧,直接加在fun()函数体里就可以用
int i,j,t;
for(i=0;i<n;i--)
for(j=i+1;j<n;j++)
{
if(array[i]<array[j])//大于改成小于就是递增排序
{
t=array[i];
array[i]=array[j];
array[j]=t;
}
}
int i,j,t;
for(i=0;i<n;i--)
for(j=i+1;j<n;j++)
{
if(array[i]<array[j])//大于改成小于就是递增排序
{
t=array[i];
array[i]=array[j];
array[j]=t;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初学c就从文件开始.是不是有点太急了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询