【C语⾔】——⽂件内容排序
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void swap(int* a,int* b)
{
int temp =*a;
*a =*b;
*b = temp;
}
//冒泡排序
ph编程软件安装教程void pupple(int* p,int n)
{
int i, j;
for(i =0; i < n; i++)
{
for(j =1; j < n - i; j++)
{
if(p[j -1]> p[j])
{
swap(&p[j -1],&p[j]);冒泡排序代码c语言
}
}
}
}
//在堆中建⽴⼀个数组对⽂件内容进⾏排序
int main()
{
int index =0;//这是⼀个计数器
int array[10]={0};
char buf[1000]={0};
FILE* p =fopen("E:\\study\\code\\CCode\\cStudy\\测试⽂件\\⽂件测试4.txt","r"); if(p ==NULL)
{
printf("error\n");
}
else
{
while(!feof(p))
{
memset(buf,0,sizeof(buf));//每次读取⼀⾏之前都把这个buf清空
item可数吗
fgets(buf,sizeof(buf), p);//从⽂件中读取⼀⾏
array[index]=atoi(buf);//将读取到的⼀⾏转换为Int,赋值给数组成员
index++;
}
fclose(p);
}
pupple(array, index);
FILE* p1 =fopen("E:\\study\\code\\CCode\\cStudy\\测试⽂件\\⽂件测试5.txt","w"); for(int i =0; i < index; i++){
memset(buf,0,sizeof(buf));//每次读取⼀⾏之前都把这个buf清空sqrt什么意思怎么换成公式
sprintf(buf,"%d\n", array[i]);//将数组的成员转换成字符串
fputs(buf,p1);
}
c语言初始化赋值怎么写
fclose(p1);
return0;
}
问题:⽂件⼤⼩不确定——数组越界
int main()//在堆中建⽴⼀个数组对⽂件内容进⾏排序
{
int index =0;//这是⼀个计数器
char buf[100];
//第⼀次打开测试⽂件4.txt的⽬的是要知道有多少⾏
FILE* p =fopen("E:\\study\\code\\CCode\\cStudy\\测试⽂件\\⽂件测试4.txt","r");
if(p ==NULL)
{
printf("error\n");
}
else
{
while(!feof(p))
{
memset(buf,0,sizeof(buf));//每次读取⼀⾏之前都把这个buf清空
fgets(buf,sizeof(buf), p);//从⽂件中读取⼀⾏
index++;
}
fclose(p);怎样用c语言给单片机写程序
}
int* array =calloc(sizeof(int), index);//在堆中建⽴⼀个动态数组,动态数组的成员数量和测试⽂件4.txt⽂件的⾏⼀样多//第⼆次打开测试⽂件4.txt的⽬的是要知道有多少⾏
p =fopen("E:\\study\\code\\CCode\\cStudy\\测试⽂件\\⽂件测试4.txt","r");
index =0;//计数器从0重新开始
if(p ==NULL)
{
printf("error\n");
}
else
{
while(!feof(p))
{
memset(buf,0,sizeof(buf));//每次读取⼀⾏之前都把这个buf清空
fgets(buf,sizeof(buf), p);//从⽂件中读取⼀⾏
array[index]=atoi(buf);//将读取到的⼀⾏转换为Int,赋值给数组成员
index++;
}
fclose(p);
}
pupple(array, index);
FILE* p1 =fopen("E:\\study\\code\\CCode\\cStudy\\测试⽂件\\⽂件测试5.txt","w");
for(int i =0; i < index; i++){
memset(buf,0,sizeof(buf));//每次读取⼀⾏之前都把这个buf清空
sprintf(buf,"%d\n", array[i]);//将数组的成员转换成字符串
fputs(buf, p1);
}
fclose(p1);
return0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。