7-1 二維陣列中每行最大值和每行和 (15 分)
求乙個3*3二維陣列中每行的最大值和每行的和。
輸入格式:
在一行中輸入9個小於100的整數,其間各以乙個空格間隔
輸出格式:
輸出3行3列的二維陣列,並在每行後面分別輸出每行最大值和每行元素的和,每個資料輸出佔4列。
輸入樣例:
3 6 5 9 8 2 1 4 5
輸出樣例:
3 6 5 6 14
9 8 2 9 19
1 4 5 5 10`
#include
max(
int a,
int b)
//定義函式用於求最大值
intmain
(void
),c[3]
=,i,j,m=0;
int a[3]
[3];
for(i=
0;i<
3;i++
)for
(j=0
;j<
3;j++
)scanf
("%d"
,&a[i]
[j])
;for
(i=0
;i<
3;i++
) m=0;
//將m置0用於下一次求最大值
}for
(i=0
;i<
3;i++
)}
7-2 選擇法排序之過程 (20 分)
本題要求使用選擇法排序,將給定的n個整數從小到大排序後輸出,並輸出排序過程中每一步的中間結果。
選擇排序的演算法步驟如下:
第0步:在未排序的n個數(a[0]〜 a[n−1])中找到最小數,將它與 a[0]交換;
第1步:在剩下未排序的n−1個數(a[1] 〜 a[n−1])中找到最小數,將它與 a[1] 交換;
第k步:在剩下未排序的n−k個數()中找到最小數,將它與 a[k] 交換;
第n−2步:在剩下未排序的2個數(a[n−2] 〜a[n−1])中找到最小數,將它與 a[n−2]交換。
輸入格式:
輸入第一行給出乙個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。
輸出格式:
在每一行中輸出排序過程中對應步驟的中間結果,即每一步後a[0]〜 a[n−1]的值,相鄰數字間有乙個空格,行末不得有多餘空格。
輸入樣例:
45 1 7 6
輸出樣例:
1 5 7 6
1 5 7 6
1 5 6 7
#include
main()
else}}
碼片
7-6 矩陣a乘以b (20 分)
給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有r
a 行、c
a 列,b有r
b 行、c
b 列,則只有c
a 與r
b 相等時,兩個矩陣才能相乘。
輸入格式:
輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整數,以1個空格分隔,且行首尾沒有多餘的空格。輸入保證兩個矩陣的r和c都是正數,並且所有整數的絕對值不超過100。
輸出格式:
若輸入的兩個矩陣的規模是匹配的,則按照輸入的格式輸出乘積矩陣ab,否則輸出error: ca != rb,其中ca是a的列數,rb是b的行數。
輸入樣例1:
2 31 2 3
4 5 6
3 47 8 9 0
-1 -2 -3 -4
5 6 7 8
輸出樣例1:
2 420 22 24 16
53 58 63 28
輸入樣例2:
3 238 26
43 -5
0 17
3 2-11 57
99 68
81 72
輸出樣例2:
error: 2 != 3
#include
intmain
(void);
for(i=
0;i)for
(j=0
;j)scanf
("%d"
,&a[i]
[j])
;scanf
("%d %d"
,&rb,
&cb);if
(ca!=rb)
//用於判斷是否符合矩陣相乘定義
else
;for
(i=0
;i)for
(j=0
;j)scanf
("%d"
,&b[i]
[j])
;// int c[ra][cb]=,k;
for(i=
0;i)for
(j=0
;j)for
(k=0
;k) c[i]
[j]+
=(a[i]
[k]*b[k]
[j])
;//求新矩陣各元素
printf
("%d %d\n"
,ra,cb)
;for
(i=0
;i)printf
("\n");
}}}
7-4 字串反正序連線 (20 分)
將s所指字串的反序和正序進行連線形成乙個新串放在t所指的陣列中。
輸入格式:
在一行輸入乙個長度小於20的字串。在字串中不要出現換行符,空格,製表符。
輸出格式:
直接輸出變化後的字串。
輸入樣例:
abc輸出樣例:
cbaabc
在這裡插入#include
#include
main()
**片
7-5 找最小的字串 (25 分)
本題要求編寫程式,針對輸入的n個字串,輸出其中最小的字串。
輸入格式:
輸入第一行給出正整數n;隨後n行,每行給出乙個長度小於80的非空字串,其中不會出現換行符,空格,製表符。
輸出格式:
在一行中用以下格式輸出最小的字串:
min is: 最小字串
輸入樣例:5li
wang
zhajin
xian
輸出樣例:
min is: jin
#include
#include
intmain
(void
)printf
("min is: %s"
,str1)
;}
二維陣列 字元陣列與字串
要求 了解多維陣列的概念 掌握二維陣列的使用 掌握用字元陣列存放字串的方法 掌握字串的輸入及輸出方法 二維陣列的定義 例 int a 2 3 定義乙個二維陣列 該陣列有2行3列共6個元素 這6個元素都存放int型資料 儲存時先儲存第一行的3個元素,然後再儲存第二行的3個元素 可將此二維陣列看成是乙個...
二維陣列 字串 API
1 二維陣列 陣列中的元素,又指向乙個新的子陣列 何時使用 1.儲存橫行豎列的資料時 2.分組儲存上下級包含關係時 如何建立 1.先建立空陣列,再初始化元素為子陣列 var data data 0 0,0,0,0 data 1 0,0,0,0 何時使用 不確定子陣列的個數或內容時 2.建立時就初始化...
二維陣列,字串,多維陣列
二維陣列 有2個下標的陣列成為二維陣列 定義 型別 陣列名 常量表示式1 常量表示式2 注意事項,二維陣列定義時,可以不指定第一維的長度,但必須給定第二維.例 int 3 字元陣列 用於存放字元變數的陣列成為字元陣列.字元陣列屬於一維陣列,元素型別char 例 char c 20 字元陣列串 存放字...