您的位置:首页 > 其它

假设一个文本文件中保存着100个整数,请将这100个整数按从小到大的顺序写到另一个文件中

2014-11-26 21:34 309 查看
假设一个文本文件中保存着100个整数,请将这100个整数按从小到大的顺序写到另个文本文件中去,并且在新文件中每十个整数占一行,源文件名和目标文件名通过命令行参数获取。程序如下:

#include <stdio.h>

void main(int argc, char **argv)

{

FILE *fin,*fout;

int a[10],i,j,temp;

if(argc<3)

{

printf("You forgot to enter a filename");

return;

}

fin = fopen(argv[1],"r");

fout = fopen(argv[2],"w");

for (i = 0;i<=99;i++)

fscanf(fin,"%d",&a[i]);

for (i=0;i<100;i++)

{

printf("%d ",a[i]);

}

for (i=0;i<99;i++)

for(j=0;j<99-i;j++)

if (a[j]>a[j+1])

{

temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

}

for (i=0;i<100;i++)

{

if(i%10==0)

fprintf(fout,"%s","\n");

fprintf(fout,"%d ",a[i]);

}

printf("冒泡排序之后:");

for (i=0;i<100;i++)

{

printf("%d ",a[i]);

}

fclose(fin);

fclose(fout);

}

在程序中我们使用的是冒泡排序算法进行排序,题目中的fscanf与fprintf函数用到的时候经常想不起来它的格式,这是一道公司笔试题目!


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐