『壹』 c語言編程二維數組
#include<stdio.h>
voidmain()
{
//inta=-1;
//printf("%12o ",a);
floata[3][3]={14.3,2.6,3.9,3,3,6,3,4,2};
floatx;inti,j;
floatmaxRow[3];//記錄每行的最大值
//記錄每行的最大值到maxRow[i]
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(j==0)
{
maxRow[i]=a[i][j];
}else
{
if(maxRow[i]<a[i][j]){
maxRow[i]=a[i][j];
}
}
}
}
//輸出3行3列,每個值除以該行的最大的
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%.2f",a[i][j]/maxRow[i]);//保留2位小數
}
printf(" ");
}
}
運行結果:
1.000.180.27
0.500.501.00
0.751.000.50
『貳』 c語言初學二維數組應用問題!!!
#include "stdio.h"
main()
{
float s[3][5]={{1,87,99,83,0},{2,77,89,66},{3,91,95,97}};
int i,j;
for(i=0;i<=3;i++)
{s[i][4]=(s[i][1]+s[i][2]+s[i][3])/3.0;}
printf(" 學號 語文 數學 物理 平均成績\n");
for(i=0;i<=2;i++)
{ for(j=0;j<=4;j++)
printf("%8.1f",s[i][j]);
printf("\n");
}
}
試試這樣如何?將當內循環執行完一輪後再換行。
『叄』 C語言字元串二維數組申明應用問題
一、
char (*t)[60]表示定義了一個指向大小60的數組的指針t。t+1在內存中跨度就是60個字元大小。
gettext(text,&i);傳參text 相當於t=text。那麼t,t+1,t+2分別表示text[40][60]的第1行,第2行,第3行。
二、
聲明處的參數 char [][60] 就是二維數組。傳參行數不定 列數必須60
三、
text是數組名,本身也是一個常量指針(不能改變其值),表示指向數組首地址的指針
四、
同上說明 指向數組首地址的指針可以表示數組
『肆』 C語言如何將數據放入二維數組
#include<stdio.h>
int main()
{
int i, j;
int num[5][5];//二維數組
for(i = 0; i < 5; i++)//行
{
for(j = 0; j < 5; j++)//列
{
scanf("%d",&num[i][j]); //輸入25個數據,空格分隔,最後回車。
}
}
for(i = 0; i < 5; i++)//行
{
for(j = 0; j < 5; j++)//列
{
printf(" %d",num[i][j]); //輸出
}
printf("\n");
}
return 0;
}
『伍』 C語言二維數組
c語言中直接輸出一個二維數組是用數組來訪問輸出的,例子:
#include<stdio.h>
#defineM4
#defineN3
voidmain()
{
inta[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=3*i+j;
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%d ",a[i][j]);//直接用數組來訪問
printf("
");
}
}
除了可以直接訪問,也可以用指針來訪問,用指針指向該數組,便可進行對數組的讀寫操作。
運行結果圖: