c语言编程:键盘输入数组长度n的值,然后根据数组长度动态分配储存空间。随机生成两个n位整数放在数列

c语言编程:键盘输入数组长度n的值,然后根据数组长度动态分配储存空间。随机生成两个n位整数放在数列中。使用整数排序将数列中的数排序,然后将排好序的数字写入到文件file.bxt中,要求使用函数实现各模块的功能。求各路大神帮帮!!

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int *creat_array(int n){
    return (int *)malloc(sizeof(int)*n);
}
void init_array(int *p,int n){
    int i;
    srand((unsigned)time(NULL));
    for(i=0;i<n;p[i++]=rand()%90+10);
}
void mysort(int *p,int n){
    int i,j,k;
    for(i=0;i<n;i++){
        for(k=i,j=k+1;j<n;j++)
            if(p[k]>p[j]) k=j;
        if(k!=i){
            j=p[k];
            p[k]=p[i];
            p[i]=j;
        }
    }
}
void rec_to_file(int *p,int n){
    int i;
    FILE *fp;
    if((fp=fopen("file.bxt","w"))==NULL){
        printf("Open the file failure...\n");
        exit(0);
    }
    for(i=0;i<n;i++)
        fprintf(fp,"%d ",p[i]);
    fclose(fp);
}
int main(void){
    int *p,n;
    printf("Input n(int >0)...\nn=");
    scanf("%d",&n);
    if((p=creat_array(n))==NULL){
        printf("Failed to create the array...\n");
        exit(0);
    }
    init_array(p,n);
    mysort(p,n);
    rec_to_file(p,n);
    free(p);
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-30
可代写, 有意向请加头像中的号.
相似回答