第八週:陣列(二)
5.5、二維陣列的定義
#include <stdio.h>
int main()
{
int fs[N][3];
int i,j;
// int fs[3][3] ={{1,2,3},{4,5,6},{7,8,9}};
//int fs[][3] = {1,2,3,4,5,6,7,8,9};
for(i=0;i<N;i++)//從鍵盤上寫入資料
{
for(j=0;j<3;j++)
scanf("%d",&fs[i][j]);
}
for(i=0;i<N;i++)//從鍵盤上輸出資料
{
for(j=0;j<3;j++)
printf("fs[%d][%d]=%d\n",i,jfs[i][j]);
}
(一)二維陣列初始化已經固定好的
(1)如何找出規律,實現資料的輸入
(2)初始化
(二)二維陣列沒有初始化的
(1)如何實現資料的輸入
(2)
二維陣列的輸入、輸出
//初始化已經固定好的,找出規律,進行資料的輸入
#include <stdio.h>
int main()
{
int i, j, a[10][10];
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (i < j)
a[i][j] = 1;
else
a[i][j] = i - j + 1;
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
printf("%2d ",a[i][j]);
printf("\n");
}
}
5.7 二維陣列的應用
求矩陣的轉置
//已經初始化過了,如何根據初值實現資料的輸入
#include <stdio.h>
int main()
{
int i, j, a[3][4], n = 1, b[4][3];
for (i = 0; i < 3; i++)//生成A陣列
{
for (j = 0; j < 4; j++)
{
a[i][j] = n++;
}
}
for (i = 0; i < 3; i++)//輸出A陣列
{
for (j = 0; j < 4; j++)
{
printf("%-3d",a[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
{
b[i][j] = a[j][i];
}
}
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
{
printf("%-3d",b[i][j]);
}
printf("\n");
}
return 0;
}
找二維陣列中的最大數
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a[5][5], i = 0, j = 0, temp = 0;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
a[i][j] = rand() % 100;
printf("\n");
}
printf("\n");
}
temp = a[0][0];
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
if (temp < a[i][j])
{
temp = a[i][j];
}
}
}
printf("\n最大元素為 :%d",temp);
return 0;
}
5.7、習題沒有看
5.8 二維字元陣列
單詞排序
輸入5個單詞,將她們按字母順序排列後輸出
words do win scanf printf
do printf scanf win words
#include <stdio.h>
#include <string.h>
int main()
{
char words[5][15] = { 0 };
char temp[15] = { 0 };
int i, j;
scanf("%s",&words[0]);
for (i = 1; i < 5; i++)
{
scanf("%s",&temp);
j = i - 1;
while (strcmp(temp, words[j]) < 0)
{
strcpy_s(words[j + 1], words[j]);
j--;
}
strcpy_s(words[j+1],temp);
}
printf("\n");
for (i = 0; i < 5; i++)
{
printf("%s\n", words[i]);
}
return 0;
}
二維字元陣列的引用
對已定義的a,b**引用**:
for(int i = 0;i<3;i++)
printf(" %s\n",a[i]);//第i行字串
for(int i = 0;i<3;i++);
printf(" %c\n",a[i][j]);
for(i = 0;i<3;i++)
printf(" %s\n",&a[i][i+1]);輸出i行i+1列字元開始的字串
5.8 二維字元陣列
輸入10個字串,找出每個字串的最大字串,並依次存入一維陣列中,然後
輸出該一維陣列。
(一)
(1)如何實現字元陣列的輸入
#include <stdio.h>
int main()
{
int j, k;
char a[10][80];
char b[10];
for (j = 0; j < 10; j++)
gets_s(a[j]);
for (j = 0; j < 10; j++)
{
b[j] = a[j][0];
for (j = 0; j < 10; j++)
{
if (b[j] < a[j][k])
b[j] = a[j][k];
}
}
for (j = 0; j < 10; j++)
printf("%d %c\n", j, b[j]);
}
求出如下矩陣中各行元素之和,並以矩陣形式輸出原矩陣及相應行元素之和。
356
214
871
#include <stdio.h>
int main()
{
int i, j;
static int a[3][4] = { {3,5,6,7},{2,1,4,0},{8,7,1,0} };
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
a[i][3] += a[i][j];
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
printf("%3d",a[i][j]);
if (j == 3)
printf("\n");
}
}
相關文章
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 第八週第二天8.2
- JavaScript陣列(二)JavaScript陣列
- Java(二)陣列Java陣列
- 二維陣列陣列
- 第八週
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 指標陣列和陣列指標與二維陣列指標陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- 二維陣列和稀疏陣列互轉陣列
- PHP二維陣列轉一維陣列PHP陣列
- vector 二維陣列陣列
- Java二維陣列Java陣列
- JavaScript二維陣列JavaScript陣列
- JavaScript 二維陣列JavaScript陣列
- 二維陣列排序陣列排序
- 二位陣列陣列
- PHP中二維陣列與多維陣列PHP陣列
- JavaScript --二維陣列查詢一維陣列JavaScript陣列
- 暑假第八週
- C++動態建立二維陣列,二維陣列指標,以及動態二維陣列函式傳遞C++陣列指標函式
- 求二維陣列中最大子陣列的和陣列
- JavaScript二維陣列轉換成一維陣列JavaScript陣列
- java之陣列的索引,排序以及二維陣列Java陣列索引排序
- 二位陣列排序陣列排序
- 二維陣列查詢陣列
- (二)golang陣列和切片Golang陣列
- php 二維陣列排序PHP陣列排序
- JAVA實驗二 陣列Java陣列
- JavaScript 陣列 常用方法(二)JavaScript陣列
- 二維陣列行排序陣列排序
- perl操作二維陣列陣列
- 二維陣列傳參陣列
- 二進位制陣列陣列
- 二維樹狀陣列陣列
- 二維陣列練習陣列
- 第八週週一