编写一个程序,在主函数中输入一个正整数n(50<=n<=100),使用动态内存分配方法动态分配一个整数数组,使用随机数函数生成n个整数存入该数组;编写子函数将这n个整数保存到文件“data1.txt”

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void save_unsorted_data();
void save_sorted_data();
void Random_arrays();
void FileCreate();
void Sort();
FILE* fp1;//文件操作(Data_1.txt)    
FILE* fp2;//文件操作(Sorted_data.txt)
int num,i,size;
int* arry;
int main()
{
    FileCreate();
    Random_arrays();
    save_unsorted_data();
    Sort();
}
void  Random_arrays()
{
    printf("输入数组长度:");
    scanf_s("%d", &size);
    arry = (int*)malloc(size * sizeof(int));
    for (i = 0; i < size; i++)
    {
        arry[i] = i;
        //*(arry+i)=i;//指针型数据指引
    }
    
    srand((unsigned)time(NULL));

    for (i = 0; i < size; i++)
    {
        num = rand() % 200 + 1;
        arry[i] = num;
    }
    for (i = 0; i < size; i++)
    {
        printf("%d\n", arry[i]);
    }
    
}

void save_unsorted_data()
{
    fp1 = fopen("D:\\data1.txt", "w");
    fwrite(arry, 4, size, fp1);
    fclose(fp1);
}
void save_sorted_data()
{
    fp2 = fopen("D:\\sorteddata.txt", "w");
    fwrite(arry, 4, size, fp2);
    fclose(fp2);
}
void FileCreate()
{
    fp1 = fopen("D:\\data1.txt", "w");
    fp2 = fopen("D:\\sorteddata.txt", "w");
    /*                                                                                                 文件的读写模式
       "r" 以“只读”方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。
          "w" 以“写入”方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
          "a" 以“追加”方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
          "r+" 以“读写”方式打开文件。既可以读取也可以写入,也就是随意更新文件。文件必须存在,否则打开失败。
          "w+" 以“写入/更新”方式打开文件,相当于w和r+叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
          "a+" 以“追加/更新”方式打开文件,相当于a和r+叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
    */
    fclose(fp1);
    fclose(fp2);

}
void Sort()
{
    FILE* fp3= fopen("D:\\data1.txt", "r");
    fclose(fp3);
    int data[1024]={};
    for (int i = 0; i < size; i++)
    {
        fscanf_s(fp3,"%d", &data[i]);
    }
    for (int i = 0; i < size; i++)
    {
        printf("%d",data[i]);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倒霉熊吃蜂蜜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值