C语言编程 将100个实数输入到一个一维数组中,求出各元素的和、平均值、最小值和最大值及其所在的行号和列

如题所述

//将100个实数输入到一个一维数组中,求出各元素的和、平均值、最小值和最大值及其所在的行号和列

#include <stdio.h>
#define M 100
int main()
{
float c[M];
int i,n=0;
float sum=0.0,ave,min,max;//和、平均值、最小值和最大值
int minx,maxx;//最小值和最大值所在列

printf("输入实数\n");
for(i=0;i<M;i++)
scanf("%f",&c[i]);
min=max=c[0];
minx=0;
maxx=0;
for (i=0;i<M;i++)
{
sum +=c[i];
if(min>c[i])
{
min=c[i];
minx=i;
}
if(max<c[i])
{
max=c[i];
maxx=i;
}
}

ave=sum/M;

printf("和为:%f,平均值为:%f\n",sum,ave);
printf("最小值为:%f,所在列:%d\n最大值为:%f,所在列:%d\n",min,minx,max,maxx);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-15
#include<stdio.h> //链接标准头文件
#define N 100 //定义常量N并赋值为100
void main() //主函数入口
{ //表示主函数开始
int i; //定义整形变量i
double grade[N],sum,avg,min,max; //定义N维(N=100,也就是一维数组(长度是100)啦^^)sum为和,avg平均值,min最小值,max最大值
int minindex,maxindex; //minindex最小值索引,maxindex最大值索引
printf("输入100个数\n"); //在屏幕上显式“输入100个数”并且换行
for(i=0;i<N;i++) //开始for循环,从i=0,每次加1,直到i=99,共需循环100次
{ //循环体开始
scanf("%d",&grade[i]); //依次获取用户输入的整数值并存入数组grade中
} //循环结束
min=grade[0];
max=grade[0];
minindex=0;
maxindex=0;
for(i=0;i<N;i++) //开始外层for循环,从i=0,每次加1,直到i=99
{ //外层循环体开始
sum+=grade[i]; //累加求和
if(grade[i]<min) //如果grade[i]比min小,把该值赋给min,并记录索引
{
min=grade[i];
minindex=i;
}
if(grade[i]>max) //如果grade[i]比max大,把该值赋给max,并记录索引
{
max=grade[i];
maxindex=i;
}
} //结外层循环,完成排序
avg=sum/N;
printf("和为%lf:\n",&sum);
printf("平均为%lf:\n",&avg);
printf("最大值为%lf:\n",&max);
printf("最小值为%lf:\n",&min);
printf("最大值在第%d个:\n",&maxindex+1);
printf("最小值在第%d个:\n",&minindex+1);
printf("\n"); //输出换行到屏幕,看不到什么效果,可删掉
} //结束main()函数
第2个回答  2011-01-16
...网上有一个win-tc下来试试嘛,里面就带一个C语言的基础教程!
第3个回答  2011-01-16
一维数组哪来的行列?