编写程序,实现输入10个数,将这10个数按照从小到大的顺序排列,并将写入data.txt文件中
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp;
int arr[10];
int num;
int buffer[20];
int i ;
int t,j;
for(i=0;i<10;i++){
printf("请输入第%d个整数:\n",i+1);
scanf("%d",&num);
arr[i] = num;
}
// 冒泡排序 从小到大排序
for(i = 0;i<10;i++){
for(j = 0;j<10-1-i;j++){
if(arr[j]>arr[j+1]){
t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
// 数组遍历
for(i = 0;i<10;i++){
printf("%d ",arr[i]);
}
printf("\n");
fp = fopen("data.txt","w+");
if(fp == NULL){
printf("文件打开失败!");
}
// 把数组中的数据写入文件中
fwrite(arr,sizeof(arr)/sizeof(arr[0])+1,sizeof(arr)/sizeof(arr[0]),fp);
rewind(fp) ;// 回到第一个字符位置
// 读文件
fread(buffer,sizeof(arr)/sizeof(arr[0])+1,sizeof(arr)/sizeof(arr[0]),fp) ;
for(i = 0;i<sizeof(arr)/sizeof(arr[0]);i++){
printf("%d ",buffer[i]);
}
// 关闭文件
fclose(fp);
return(0);
}