各位大哥大家大叔大婶求做一个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语言所以不太懂,步骤写详细点尽量用最简单的知识,最好把每部分的功能写上,谢谢
展开
 我来答
wjl7851
2013-06-06 · TA获得超过111个赞
知道答主
回答量:138
采纳率:100%
帮助的人:64.6万
展开全部
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 **********/
}
斩不断的风
2013-06-06 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:132万
展开全部
给你一段最简单的冒泡排序代码吧,直接加在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;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友76cc0b3b
2013-06-06
知道答主
回答量:7
采纳率:0%
帮助的人:6.2万
展开全部
初学c就从文件开始.是不是有点太急了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式