C语言中从文件中读取十个数,保存到数组中,对这十个数进行排序,输出

如题所述

#include <stdio.h>
#include <stdlib.h>
int cmp(void *a, void *b)
{
    return *(int*)a < *(int *)b;
}
int main()
{
    FILE *fp;
    int a[10];
    int i;
    fp=fopen("in.txt", "r");
    for(i = 0; i < 10; i ++)
        fscanf(fp, "%d",a+i);
    qsort(a, a+10, cmp);
    for(i = 0; i < 10; i ++)
        printf("%d ", a[i]);
    printf("\n");
    fclose(fp);
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-16
#include<stdio.h>
#include<stdlib.h>

void main()
{
FILE *fin;
int x[10],t;
int i,j;

fin=fopen("test.dat","r");
for (i=0;i<10;i++) fscanf(fin,"%d",&x[i]);
fclose(fin);
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if (x[i] > x[j]){ t=x[i];x[i]=x[j];x[j]=t;};
for (i=0;i<10;i++) printf("%d ",x[i]);
}

假定是整型数,用空白分隔,存在文件 test.dat中。
例如:
22 33 11 5 6 8 10 100
99 71
结果是:
5 6 8 10 11 22 33 71 99 100本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网