c语言精选试题----数组
Posted 敲代码的xiaolang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言精选试题----数组相关的知识,希望对你有一定的参考价值。
笔者以c语言为入门语言,今天敲c++时觉得跟c有许多相似之处,所以笔者打算开一个小的c语言例题整理,整理一些比较好的题目,供大家学习,代码不是抄袭而来,是笔者自己所敲或者请教的朋友进行优化,希望c语言的入门者们闲暇之余,可以浏览思考,有什么问题欢迎留言或者私信。
数组
eg.定义1个二维数组:int arr[5][6],然后从键盘输入5行6列共30个整数,编程求出所有元素中的最大值、最小值及其下标,同时求出每行元素的平均值,并在屏幕上打印输出。
提示:在一个二重循环体内用scanf函数输入30个数,然后再用一个二重循环处理数据处理。
#include<stdio.h>
int main()
{
int arr[5][6];
double sum=0.0;
double Ave[5];
printf("输入5*6的矩阵:\\n");
int i,j;
int a = 0,b = 0;//赋值
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
{
scanf("%d",&arr[i][j]);
}
}
int max;
max=arr[0][0];
for(i=0;i<5;i++)//循环4次就可以
{
for(j=0;j<6;j++)
{
if(arr[i][j]>max)
{
max=arr[i][j];
a = i; //坐标赋值
b = j;
}
}
}
printf("arr[%d][%d]是最大值%d\\n",a,b,max);
a = 0; //归零
b = 0;
int min;
min=arr[0][0];
for(i=0;i<5;i++)//同上 , 两个循环其实可以放在一起
{
for(j=0;j<6;j++)
{
if(arr[i][j]<min)
{
min=arr[i][j];
a = i; //同上
b = j;
}
}
}
printf("arr[%d][%d]是最小值%d\\n",a,b,min);
for(i=0;i<5;i++)
{
if(i==0)
{
for(j=0;j<6;j++)
{
sum=sum+arr[0][j];
}
Ave[0]=sum/6.0;
printf("Ave[0]=%.2f\\n",Ave[0]);
}
else if(i==1)
{
sum=0;
for(j=0;j<6;j++)
{
sum=sum+arr[1][j];
}
Ave[1]=sum/6.0;
printf("Ave[1]=%.2f\\n",Ave[1]);
}
else if(i==2)
{
sum=0;
for(j=0;j<6;j++)
{
sum=sum+arr[2][j];
}
Ave[2]=sum/6.0;
printf("Ave[2]=%.2f\\n",Ave[2]);
}
else if(i==3)
{
sum=0;
for(j=0;j<6;j++)
{
sum=sum+arr[3][j];
}
Ave[3]=sum/6.0;
printf("Ave[3]=%.2f\\n",Ave[3]);
}
else
{
sum=0;
for(j=0;j<6;j++)
{
sum=sum+arr[4][j];
}
Ave[4]=sum/6.0;
printf("Ave[4]=%.2f\\n",Ave[4]);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
{
printf(" %6d ",arr[i][j]);
}
printf("\\n");
}
return 0;
}
运行结果
有问题私聊博主或者在下面留言,如果有更好的解法也请留言,欢迎大家讨论,共同进步,一起学习。
“c语言是最美的语言,c语言让我遇见了这个世界的美好。”
以上是关于c语言精选试题----数组的主要内容,如果未能解决你的问题,请参考以下文章
C语言必会面试题(3耶稣有13个门徒,当中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个開始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)(代码片段