二维数组和字符数组参考程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、

【问题描述】编写程序,计算一个矩阵的各行之和、各列之和以及所有元素之和。

【输入形式】输入分m+1行:第一行为m和n的值,分别表示矩阵的行数和列数;下面m 行,每行n个数为矩阵的数据。

【输出形式】输出分三行:第一行为各行之和,第二行为各列之和,第三行为所有元素之和。【样例输入】

2 3

1 2 3

4 5 6

【样例输出】

6 15

5 7 9

21

【样例说明】2行3列的矩阵,矩阵中第0行元素之和为6,第1行元素之和为15;第0列元素之和为5,第1列元素之和为7,第2列元素之和为9

#include

using namespace std;

int main( )

{

int a[50][50]={0}, m, n, i, j;

cin>>m>>n;

for(i=0; i

for(j=0; j

cin>>a[i][j];

for(i=0; i

for(j=0; j

{

a[i][n]+=a[i][j];

a[m][j]+=a[i][j];

a[m][n]+=a[i][j];

}

for(i=0; i

cout<

cout<

for(j=0; j

cout<

cout<

return 0;

}

2、

【问题描述】编写程序,找出m行n列的矩阵中每行元素的最大值以及每列元素的最小值。【输入形式】输入分m+1行:第一行为m和n的值,下面m行代表二维数组,其中每一行包括n个数。

【输出形式】输出分两行:第一行为每行元素的最大值,第二行为每列元素的最小值。

【样例输入】

3 3

1 2 -1

-3 4 2

7 9 8

【样例输出】

2 4 9

-3 2 -1

【样例说明】3行3列的矩阵,第0行元素的最大值是2,第1行最大值是4,第2行最大值是9;第0列的最小值是-3,第1列最小值是2,第2列最小值是-1。

#include

using namespace std;

int main( )

{

int a[50][50]={0}, m, n, i, j;

cin>>m>>n;

for(i=0; i

for(j=0; j

cin>>a[i][j];

for(i=0; i

{

a[i][n]=a[i][0];

for(j=1; j

if(a[i][n]

a[i][n]=a[i][j];

}

for(j=0; j

{

a[m][j]=a[0][j];

for(i=1; i

if(a[m][j]>a[i][j])

a[m][j]=a[i][j];

}

for(i=0; i

cout<

cout<

for(i=0; i

cout<

return 0;

}

3、

【问题描述】编写程序,输出n层正方形图案。正方形图案最外层是第一层,每层用的数字和层数相同。

【输入形式】正方形图案的层数n

【输出形式】2n-1行2n-1列数据,一行上的数据用一个空格分隔

【样例输入】

3

【样例输出】

1 1 1 1 1

1 2 2 2 1

1 2 3 2 1

1 2 2 2 1

1 1 1 1 1

【样例说明】3层图案,最外层都是1,里面一层都是2,最里面一层只有一个数3,所以是5×5的矩形。

#include

using namespace std;

int main( )

{

int a[50][50], m, n, k, i, j;

cin>>n;

m=2*n-1;

for(k=1;k<=n;k++)

{

for(i=k-1;i<=m-k;i++)

for(j=k-1;j<=m-k; j++)

a[i][j]=k;

}

for(i=0; i

{

for(j=0;j

cout<

cout<

}

return 0;

}

4、

【问题描述】编写程序,输入字符串,统计英文字母、数字字符及其他字符的个数。

【输入形式】一个字符串

【输出形式】三个数,之间用空格隔开

【样例输入】abc129++*ABC

【样例输出】6 3 3

【样例说明】字符串“abc129++*ABC”中英文字母的个数是6,数字字符的个数是3,其他字符的个数是3。

#include

using namespace std;

int main( )

相关文档
最新文档