筆者以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語言讓我遇見了這個世界的美好,”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287007.html
標籤:其他
