编写程序求出数组周边元素的平均值。例如:a 数组中的值为
*******我的难题是:怎么实现从文件的读这个未知大小的数组,行数、列数怎么在读文件时确定????????????????????????????
|0 1 2 7 9|
|1 9 7 4 5|
a = |2 3 8 3 1|
|4 5 6 8 2|
|5 9 1 4 1|
输出: 3.375。(0+1+2+7+9+5+1+2+1+4+1+9+5+4+2+1)/16
测试数据约定:测试文件中的数组元素由空格隔开,每行代表矩阵中一行的数据,矩阵规模不超过10000*10000
编写程序求出数组周边元素的平均值
答案:2 悬赏:40 手机版
解决时间 2021-03-03 23:23
- 提问者网友:我一贱你就笑
- 2021-03-03 18:59
最佳答案
- 五星知识达人网友:思契十里
- 2021-03-03 20:02
#include <iostream> using namespace std; float ave(int *p, int nlen) { int sum = 0; for (int i = 0; i < nlen; ++i) { sum += *(p + i); } return (float)sum / nlen; } int main() { int ary[10] = {1,2,3,4,5,6,7,8,9,0}; cout << ave(ary, 10) << endl; return 0; }
全部回答
- 1楼网友:街头电车
- 2021-03-03 21:17
#include "stdio.h"
main()
{
int i,j,row,rank;
int num=0,sum=0;
int **t;
float avg;
FILE *fp;
fp=fopen("file1.txt","r");
if(!fp) exit(0);
fscanf(fp,"%d",&row);
fscanf(fp,"%d",&rank);
t=(int **)malloc(row*sizeof(int));
for(i=0;i<row;i++)
t[i]=(int *)malloc(rank*sizeof(int));
for(i=0;i<row;i++)
for(j=0;j<rank;j++)
fscanf(fp,"%d",&t[i][j]);
for(i=0;i<row;i++)
{
for(j=0;j<rank;j++)
if(i==0||i==row-1||j==0||j==rank-1)
{
num++;
sum+=t[i][j];
}
}
avg=sum*1.0/num;
fclose(fp);
fp=fopen("file2.txt","w");
if(!fp) {free(t);exit(0);}
fprintf(fp,"row :");
fprintf(fp,"%5d ",row);
fprintf(fp,"rank :");
fprintf(fp,"%5d\n",rank);
fprintf(fp,"The original material:\n");
for(i=0;i<row;i++)
{
for(j=0;j<rank;j++)
fprintf(fp,"%5d",t[i][j]);
fprintf(fp,"\n");
}
fprintf(fp,"avg :");
fprintf(fp,"%5f\n",avg);
fclose(fp);
free(t);
}
先输入行数和列数
再输入数据
#define N 100
main()
{
int a[N][N];
int row,rank,i,j,num=0,sum=0;
float avg;
printf("Please input row and rank:\n");
scanf("%d%d",&row,&rank);
printf("Input data:\n");
for(i=0;i<row;i++)
for(j=0;j<rank;j++)
scanf("%d",&a[i][j]);
for(i=0;i<row;i++)
{
for(j=0;j<rank;j++)
printf("%d ",a[i][j]);
printf("\n");
}
for(i=0;i<row;i++)
{
for(j=0;j<rank;j++)
if(i==0||i==row-1||j==0||j==rank-1)
{
num++;
sum+=a[i][j];
}
}
avg=sum*1.0/num;
printf("The avg is %f\n",avg);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯