84冒泡排序文本数据

利用之前学过的所有知识.
随机生成10个数字(1-1000),一行一个,并存到1.txt中.


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int F_gettimestamp() {
 time_t l_now;
 time(&l_now);
 return (int)l_now;
}

void F_randomize(int p_v1) {
 srand(p_v1);
}

int F_rand(int p_min, int p_max) {
 return rand() % (p_max - p_min + 1) + p_min;
}

 

void main() {
 int l_time = F_gettimestamp();
 F_randomize(l_time);
 int l_length = 10; //设置生成的随机数的个数.
 int *p = (int *)calloc(l_length, sizeof(int));
 for (size_t i = 0; i < l_length; i++) {
  p[i] = F_rand(1, 1000);
 }

 FILE * l_fp_write = fopen("1.txt", "w");
 if (l_fp_write != NULL) {
  char l_out[20] = { 0 };
  for (size_t i = 0; i < l_length; i++) {
   sprintf(l_out, "%d\n", p[i]);
   fputs(l_out, l_fp_write);
  }
 }
 fclose(l_fp_write);
 free(p);
 system("pause");
}


再读取1.txt中的数据,利用冒泡算法进行排序,排序完成之后,再重新存到1.txt中.

 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#pragma warning(disable:4996)
int gettimestamp() {
time_t l_now;
time(&l_now);
return(int)l_now;
}
void randmize(int p_v1) {
srand(p_v1);
}
int rand(int p_min, int p_max) {
return rand() % (p_max - p_min + 1) + p_min;
}
void paixu(int *l_array,int count) {

int l_length = count;
char l_temp;

 

for (size_t i = 0; i < l_length - 1; i++)
{
for (size_t ii = i + 1; ii <= l_length - 1; ii++)
{
if (l_array[i] < l_array[ii]) {
l_temp = l_array[ii];
l_array[ii] = l_array[i];
l_array[i] = l_temp;
}
}
}

 

 

 


}
//void main() {
//int time = gettimestamp();
//randmize(time);
//int l_length = 10;
//int *p = (int *)calloc(l_length, sizeof(int));

 

//for (size_t i = 0; i < l_length; i++)
//{
//p[i] = rand(1, 100);
//printf("%d\n", p[i]);
//}
//FILE * write = fopen("1.txt", "w");
//if (write != NULL) {
//char out[20] = { 0 };
//for (size_t i = 0; i < l_length; i++)
//{
//sprintf(out, "%d\n", p[i]);

//fputs(out, write);

//}

//}
//fclose(write);
//free(p);
//system("pause");
//}
void main() {
FILE*read = fopen("1.txt", "r");
char out[20] = { 0 };
int *p = NULL;
int count = NULL;
int length = 10;
if (read != NULL)
{
while (feof(read) == 0) {
fgets(out, length, read);
count++;
p = (int *)realloc(p, count * sizeof(int));
p[count - 1] = atoi(out);


}

 

}
paixu(p, count);
FILE * write = fopen("2.txt", "w");
if (write != NULL) {
char out[20] = { 0 };
for (size_t i = 0; i < count; i++)
{
sprintf(out, "%d\n", p[i]);

 

fputs(out, write);
}

 

}
fclose(read);
free(p);
system("pause");

}

 

posted @ 2018-04-20 22:17  随意就好欧巴  阅读(161)  评论(0编辑  收藏  举报