永发信息网

编写程序求出数组周边元素的平均值

答案:2  悬赏:40  手机版
解决时间 2021-03-03 23:23
  • 提问者网友:我一贱你就笑
  • 2021-03-03 18:59
编写程序求出数组周边元素的平均值。例如: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
最佳答案
  • 五星知识达人网友:思契十里
  • 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); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯