更新时间2021-02-23 04:57:36
利用matlab(或其他任何方式)生成100个随机数,并编制c语言程序进行从小到大排序。1、生成的随机数必须存放在文件中(.txt),在程序中读取文件数据(文件操作)2、利用子函数实现排序算法(任意排序算法均可),在主函数中调用(函数调用)3、必须利用指针存放数据,进行排序操作(指针操作)
首先用matlab生成100组数据
a=100*rand(10,10)
并存到文件
save d: empa.txt -ascii a
结果如下:
文件内容为
然后C程序 为
#include <malloc.h> #include <stdio.h> #define N 100 void sort(double* a) { int i, j; double t; for(i = 0; i < N - 1; i++) for(j = i + 1; j < N; j++) if(a[i] < a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } int main() { double* a; int i; FILE* fp; a = (double*)malloc(N * sizeof(double)); fp = fopen("d: empa.txt", "r"); for(i = 0; i < N; i++) fscanf(fp,"%le", &a[i]); fclose(fp); sort(a); for(i = 0; i < N; i++) { printf("%10.7lf",a[i]); if ((i+1)%10==0) printf(" "); else printf(" "); } return 0; }
结果
上一篇:corei510400
下一篇:电脑一不小心点住了切换用户怎么办