c语言程序 从数据文件中读入数据到数组
从数据文件中读入数据到数组,计算最第二大值,输出到屏幕。(1)编写函数intread(intarr[])从数据文件data.txt中读入数据到整型数组a,返回读入数据个数...
从数据文件中读入数据到数组,计算最第二大值,输出到屏幕。
(1) 编写函数int read(int arr[])从数据文件data.txt中读入数据到整型数组a,返回读入数据个数n。
(2) 编写函数int getsecond(int arr[],int n)遍历整型数组,求最大值
(3) 在main函数中调用read和getsecond函数完成
2. 输出第二大及第二大所在的下标
修改getsecond函数返回最大值所在的下标
我没学过那个read函数 应该怎么写啊 那个txt文件放哪才能读出来啊
这是别人写的
int read(int arr[])
{
inti=0,n;
FILE*fp;
if((fp=fopen("data.txt","r"))==NULL)
{printf("cantfind the file!");}
while(!feof(fp))
{
fscanf(fp,"%d",&arr[i++]);
}
n=i;
fclose(fp);
returnn;
}
能不能帮忙给个注释。。 展开
(1) 编写函数int read(int arr[])从数据文件data.txt中读入数据到整型数组a,返回读入数据个数n。
(2) 编写函数int getsecond(int arr[],int n)遍历整型数组,求最大值
(3) 在main函数中调用read和getsecond函数完成
2. 输出第二大及第二大所在的下标
修改getsecond函数返回最大值所在的下标
我没学过那个read函数 应该怎么写啊 那个txt文件放哪才能读出来啊
这是别人写的
int read(int arr[])
{
inti=0,n;
FILE*fp;
if((fp=fopen("data.txt","r"))==NULL)
{printf("cantfind the file!");}
while(!feof(fp))
{
fscanf(fp,"%d",&arr[i++]);
}
n=i;
fclose(fp);
returnn;
}
能不能帮忙给个注释。。 展开
展开全部
int read(int arr[])
{
int i=0,n;
FILE *fp;//定义文件指针
if((fp=fopen("data.txt","r"))==NULL)//如果文件名不存在
{printf("cantfind the file!");}//则输出没有找到文件
while(!feof(fp))//当不为文件结尾时
{
fscanf(fp,"%d",&arr[i++]);//逐个将文件中的数据放入数组中
}
n=i;//n为数组中数据个数
fclose(fp);关闭文件
return n;返回n即数据个数的值
}
txt文件放在cpp文件同一目录下就可以了
{
int i=0,n;
FILE *fp;//定义文件指针
if((fp=fopen("data.txt","r"))==NULL)//如果文件名不存在
{printf("cantfind the file!");}//则输出没有找到文件
while(!feof(fp))//当不为文件结尾时
{
fscanf(fp,"%d",&arr[i++]);//逐个将文件中的数据放入数组中
}
n=i;//n为数组中数据个数
fclose(fp);关闭文件
return n;返回n即数据个数的值
}
txt文件放在cpp文件同一目录下就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//你的这个程序是错的,做如下修改,
///fscanf()读取出来的都是字符串,因此不能直接给int类型,不然数据就出现不是你写入txt//中的数据,要把字符串变成数字才行,一下就是数字字符串变成数字atoi()
//用法如下:a="4560"
//int b=atoi(a)
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
int read(int arr[])
{
int i=0,n;
char name[100];
FILE *fp;//定义文件指针
if((fp=fopen("data.txt","r"))==NULL)//如果文件名不存在
{printf("cantfind the file!");}//则输出没有找到文件
while(!feof(fp))//判断文件是否结束
{
fscanf(fp,"%s",name);//逐个将文件中的数据放入字符串中
arr[i++]=atoi(name);//把字符串转变成数字(int)类型
printf("%d\n",arr[i-1]);
}
n=i;//n为数组中数据个数
fclose(fp);//关闭文件
return n;//返回n即数据个数的值
}
void main()
{
int arr[100];
read(arr);
}
更多追问追答
追问
这程序是对的==。
不过还是涨姿势了 谢谢大神
追答
i
int read(int arr[])
{
int i=0,n;
FILE *fp;//定义文件指针
if((fp=fopen("data.txt","r"))==NULL)
{printf("cantfind the file!");}
while(!feof(fp))
{
fscanf(fp,"%d",&arr[i++]);
printf("%d ",arr[i-1]);//////看看和文本数据能一样吗??、
}
n=i;
fclose(fp);
return n;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询