用c语言或汇编语言编写一个:将数组按由小到大的顺序排列的程序。要求1:数组元素的个数由键盘输入。

范围5-10个。2:数组元素由键盘输入。3:显示排序后的数组。4:附加(将排序后的数组存到文本文件中,格式自定)。很急!!!!!... 范围5-10个。2:数组元素由键盘输入。3:显示排序后的数组。4:附加(将排序后的数组存到文本文件中,格式自定)。很急!!!!! 展开
 我来答
百度网友463c6da
2011-11-01 · TA获得超过190个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:89.6万
展开全部
#include <stdio.h>
#include <stdlib.h>

void Order(int *num,int n) //bubble sort
{
int s=0;
int tag = false ; // 设置是否需要继续冒泡的标志位
for ( int i = 0 ; i < n ; i++)
{
for ( int j = 0 ; j < n - i - 1 ; j++)
{
if ( num[j] > num[j+1])
{
tag = true ;
int temp = num[j] ;
num[j] = num[j+1] ;
num[j+1] = temp ;
}
}
if ( !tag )
break ;
}

}

int main()
{
printf("输入数据:");
int a[10];
for (int i =0;i<10;i++)
{
scanf("%d",&a[i]);
}

Order(a,10);

printf("\n");

FILE *fp;
if((fp=fopen("d:\\test.txt","w"))==NULL) /*以只写方式打开文件*/
{
printf("cannot open file!\n");
exit(0);
}

for (int j = 0;j<10;j++)
{
fprintf(fp,"%d ",a[j]);
printf("%d",a[j]);
printf(" ");
}
printf("\n");
fclose(fp);

return 0;

}
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6205bc1
2011-11-01 · TA获得超过6004个赞
知道大有可为答主
回答量:5933
采纳率:20%
帮助的人:2745万
展开全部
忘了有什么文件函数,搞得晚了。。。。
#include<stdio.h>

int main(void)
{
int iNum, i, j, iArray[10], iTemp;
FILE *fp;

printf("输入数组个数:");
scanf("%d", &iNum);
for(i = 0; i < iNum; ++i)
{
scanf("%d", (iArray + i));
}
//排序
for(i = 1; i < iNum; ++i)
{
for(j = 0; j < i - j; ++j)
{
if(iArray[j] > iArray[j + 1])
{
iTemp = iArray[j];
iArray[j] = iArray[j + 1];
iArray[j + 1] = iTemp;
}
}
}
fp = fopen("C:\\1.txt", "wb+");
for(i = 0; i < iNum; ++i)
{//写入文件,有个可以一次写入的函数,但我忘了
fprintf(fp, "%d ", iArray[i]);
}
fclose(fp);
return 0;
}
追问
太感谢拉
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光棍誓言
2011-11-01 · TA获得超过477个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:174万
展开全部
元素个数键盘输入么?还是每个元素键盘输入,如果是个数那就要动态的了,而且你的第四个条件,视乎文件存的没格式的
追问
老师出的原题,我也不清楚。第四个选作。每个元素输入。
追答
#include
#include
void main()
{
int *shu,n,i,j,temp;
FILE *fp;
printf("how many numbers you want to input?\n");
scanf("%d",&n);
shu=(int *)malloc(n*sizeof(int));
printf("input %d numbers!\n",n);
for(i=0;ishu[j+1])
{
temp=shu[j];
shu[j]=shu[j+1];
shu[j+1]=temp;
}
}
for(i=0;i<n;i++)
printf("%d\n",shu[i]);
if((fp=fopen("rankshu.txt","wt"))==0)
{
printf("can't open this file!\n");
exit(1);
}
fwrite(shu,sizeof(int),n,fp);
fclose(fp);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式