//int max, min;这题是关于5个学生求最高最低和平均的程序
//float getaverage(int a[],int len)
//{
// int i;
// int sum = 0;
// max = min = a[0];
// for (i = 0; i < len; i++)
// {
// if (max < a[i])
// {
// max = a[i];
// }
// if (min > a[i])
// {
// min = a[i];
// }
// sum = sum + a[i];
// }
// return (float)sum / len;//强制转换才能得到浮点数,不然结果还是整数
//}
//
//int main()
//{
// int score[] = { 56,89,78,59,99 };
// float ave;
// printf("请输入5个学生的分数:\n",score);
//
//
// ave = getaverage(score,sizeof(score)/sizeof(score[0]));
// printf("%d,%d,%f",max,min,ave);
//
// return 0;
//}
第一题是计算学生成绩的平均分,最大最小值
,一维数组,这题是关于求两个班学生的平均分
//void inita(int a[], int len)
//{
// int i;
// for(i=0;i<len;i++)
// {
// printf("请输入%d个学生的成绩: \n",i+1);
// scanf("%d",&a[i]);
// }
// puts("done");
//}
//
//void printa(int a[], int len)
//{
// int i;
// printf("总人数%d个\n", len);
// for (i = 0; i < len; i++)
// {
// printf("成绩:%d \n", a[i]);
//
// }
// puts("done");
//}
//
//float getave(int a[], int len)
//{
// int i;
// float ave = 0.0;
// for (i = 0; i < len; i++)
// {
// ave = ave + a[i];
// }
// return ave/len;
//}
//
//int main()
//{
// float ave1, ave2;
// int a1[5];
// int a2[10];
// int len1 = (sizeof(a1) / sizeof(a1[1]));
// int len2 = (sizeof(a2) / sizeof(a2[1]));
// inita(a1, len1);
// inita(a2, len2);
//
// printa(a1, len1);
// printa(a2, len2);
//
// ave1=getave(a1, len1);
// ave2=getave(a2, len2);
//
// printf("平均成绩:%f \n", ave1);
// printf("平均成绩:%f \n", ave2);
// return 0;
//}
使用一维数组来计算两个班级学生成绩的均值最值
//,二维数组,这题是关于求矩阵的最大最小
//void inita(int a[][3], int hang,int lie)
//{
// int i,j;
// for (i = 0; i < hang; i++)
// {
// for (j = 0; j < lie; j++) {
// printf("%d行,%d列\n",i+1,j+1);
// scanf("%d", &a[i][j]);
// }
// }
// puts("done");
//}
//
//void printa(int a[][3], int hang, int lie)
//{
// int i,j;
//
// for (i = 0; i < hang; i++)
// {
// for (j = 0; j < lie; j++) {
// printf("%d ", a[i][j]);
//
// }
// putchar('\n');
// }
//
//}
//
//int getave(int a[][3], int hang, int lie)
//{
// int i,j, max, min;
// max = a[0][0];
// for (i = 0; i < hang; i++) {
// for (j = 0; j < lie; j++)
// {
// if (max < a[i][j])
// {
// max = a[i][j];
// }
// /*if (min > a[i][j])
// {
// min = a[i][j];
// }*/
// }
// }
// return max;
//}
//
//int main()
//{
// int a1;
// int a[3][3];
//
// inita(a, 3,3);
//
// printa(a, 3,3);
//
// a1=getave(a, 3,3);
//
//
// printf("二维数组最大值:%d \n", a1);
//
// return 0;
//}
创建一个矩阵,并找出矩阵中的最大值
int row, col, max;
void inita(int a[][3], int hang,int lie)
{
int i,j;
for (i = 0; i < hang; i++)
{
for (j = 0; j < lie; j++) {
printf("%d行,%d列\n",i+1,j+1);
scanf("%d", &a[i][j]);
}
}
puts("done");
}
void printa(int a[][3], int hang, int lie)
{
int i,j;
for (i = 0; i < hang; i++)
{
for (j = 0; j < lie; j++) {
printf("%d ", a[i][j]);
}
putchar('\n');
}
}
int getave(int a[][3], int hang, int lie)
{
int i,j, max;
max = a[0][0];
for (i = 0; i < hang; i++) {
for (j = 0; j < lie; j++)
{
if (a[i][j] > max)
{
max = a[i][j];
row = i;
col = j;
}//忘记添加括号没有归属范围,无法显示行和列
/*if (min > a[i][j])
{
min = a[i][j];
}*/
}
}
return max;//刚才没找到最大值因为没有添加返回值
}
int main()
{
int a[3][3];
inita(a, 3,3);
printa(a, 3,3);
max=getave(a, 3,3);
printf("最大值是: %d,位于第%d行,第%d列。\n", max, row + 1, col + 1);
return 0;
}
二维数组,也是创建矩阵找出最大值,并找到其所在行列位置