c语言中怎样输入一个3*3的二维数组存储到文件中在文件中按顺序输出二维数组

例如:输入159743548917562在文件中输出112344555677899... 例如:输入
1 5 9 7 4
3 5 4 8 9
1 7 5 6 2
在文件中输出
1 1 2 3 4
4 5 5 5 6
7 7 8 9 9
展开
 我来答
fallx
2018-03-24 · TA获得超过5485个赞
知道大有可为答主
回答量:2321
采纳率:73%
帮助的人:723万
展开全部
#include<stdio.h>
#include <time.h>
#define N 3 //N定义数组的大小
void ShellSort(int a[],int n)
//直接插入排序:对含有n个整数的数组a[]进行从小到大排序
{
    int i,j,t;
    for(i=1;i<n;i++)
        for(j=i-1;j>=0&&a[j]>a[j+1];j--)
        {
            t=a[j];
            a[j]=a[j+1];
            a[j+1]=t;
        }
}

int main()
{     
    int i;
    int a[N*N]={0},b[N*N]={0};//二维数组a[n][n]在内存中就是以连续的一片空间存放的
    //本质上就是一个n*n大小的一维数组,故此处直接采用一维数组存取
    FILE *fp,*fp2;
    srand((unsigned int)time(NULL));//初始化随机数种子
    for(i=0;i<N*N;i++)
    {   
        a[i]=rand()%100+1;//随机生成100以内的整数,为了方便采用随机数
        //实际上可以采取手工输入
        //a[i]=scanf("%d");                 
        printf("%3d",a[i]);//输出该数
        if(i>0&&(i+1)%N==0) //按n*n行格式断行
            printf("\n");  
       
    }
    ShellSort(a,N*N);  //数据排序
    if((fp=fopen("d:\\tmp\\abc.txt","w"))==NULL)  //请自行更改文件存放位置及文件名
    {  
        printf("打开文件出错.\n");  
        return 0;  
    }  
    printf("排序结果写入文件\n");
     for(i=0;i<N*N;i++)
     {   
                 
         printf("%3d",a[i]);////一起输出排序结果
         fprintf(fp, "%3d ",a[i]); //写到文件
         if(i>0&&(i+1)%N==0) 
            {
                fprintf(fp,"\n");//换行
                printf("\n");
            }
            
    }
  
    fclose(fp);     

    printf("读取文件\n");
    if((fp2=fopen("d:\\tmp\\abc.txt","r"))==NULL)  
    {  
        printf("打开文件出错.\n");  
        return 0;  
    } 
    for(i=0;i<N*N;i++)
     {   
        fscanf(fp2, "%d",&b[i]);  
        printf("%3d",b[i]) ;
        if(i>0&&(i+1)%N==0)//换行
            printf("\n");  
        
    }
  
    fclose(fp2);
    return 0;
   
  }
renshijie1018
2018-03-24 · TA获得超过1006个赞
知道小有建树答主
回答量:1063
采纳率:94%
帮助的人:964万
展开全部
  1. 先输入

  2. 再排序(1个函数)

  3. 然后文件输入(1个函数)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式