求一道c语言题目

liet2008 2007-12-28 11:02:10
给定一个文件比如1.txt该文件中存有一列数,如下:
10
15
31
42
.....
求这些数的平均值?
...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChamPagneZ 2007-12-29
  • 打赏
  • 举报
回复
楼主还是多看看书.
我个人觉得你问题蛮大的.
:)
yinzhun 2007-12-29
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *fp;
int i = 0;
int j = 0;
int arr[10];
int num=0, total=0,k;
float avg=0;

fp = fopen ("t.txt", "rb");

while (!feof (fp))
{
fscanf (fp, "%d", &arr[i++]);
num++;
}
num--;

for (k=0; k<num; k++)
{
total += arr[k];
}

avg = (total*1.0)/num;

printf("%f\n", avg);
fclose (fp);

return 0;
}
稍微改动楼上的代码 应该符合了
szduweibing 2007-12-28
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FILENAME "1.txt" //要读的文件名

int main(void)
{
FILE *fp;
char buf[20]; //数据不大,只用20个空间,否则可以加大
int num=0;
int date=0;
float ave;

fp=fopen(FILENAME,"rb");

memset(buf,0,20);
while(fgets(buf,20,fp))
{
date+=atoi(buf);
num++;
memset(buf,0,20);
}
ave=(float)date/(float)num;
printf("%f\n",ave);
return 0;
}

刚写的,应该可以用
comman_ndsc 2007-12-28
  • 打赏
  • 举报
回复
没这么简单把
---------------
不信你试试
liet2008 2007-12-28
  • 打赏
  • 举报
回复
没这么简单把
comman_ndsc 2007-12-28
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *fp;
int i = 0;
int j = 0;
int arr[10];

fp = fopen ("t.txt", "rb");

while (!feof (fp))
{
fscanf (fp, "%d", &arr[i++]);
}

while (j < i)
{
printf ("%-5d\n", arr[j++]);
}

fclose (fp);

return 0;
}
lxbxl_17 2007-12-28
  • 打赏
  • 举报
回复
fopen
while
{
fscanf("%d\n",n);
}
fclose
liet2008 2007-12-28
  • 打赏
  • 举报
回复
我是新手 啊,思想我也知道,要具体的程序!!!帮帮忙拉!!谢谢
一生有爱1980 2007-12-28
  • 打赏
  • 举报
回复
到C语言的教程里看看,
不就明白了吗
Treazy 2007-12-28
  • 打赏
  • 举报
回复
将文件中的数据依次读出
算下平均值不就可以了?!
liet2008 2007-12-28
  • 打赏
  • 举报
回复
printf ("%-5d\n", arr[j++]); 是什么意思 啊
liet2008 2007-12-28
  • 打赏
  • 举报
回复
printf ("%-5d\n", arr[j++]); 是什么意思 啊

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧