Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103650179
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-20 15:04:54

【目的与要求】

1.掌握二维数组的定义、赋值和输入输出的方法;

2.掌握字符数组的使用;

3.掌握与数组有关的算法(例如排序算法)。

【上机内容】

【一般示例】

【例1】有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

#define M 3

#define N 4

main( )

{int max,i,j,r,c;

static int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

max=a[0][0];

for(i=0;i

for(j=0;j

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

{max= a[i][j];

r=i;

c=j;

}

printf(“max=%d , row =%d , colum=%d \n”,max , r, c);

}

【例2】打印以下图案:

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

main()

{char a[5]={' * ' , ' * ' , ' * ' , ' * ' , ' * '};

int i,j,k;

char space=' ';

for(i=0;i<5;i++) /*输出5行*/

{printf("\n"); /* 输出每行前先换行* /

printf(" "); /* 每行前面留5个空格 */

for (j=1;j<=i;j++)

printf("%c",space); /* 每行再留1个空格*/

for ( k=0;k<5;k++)

printf("%c",a[k]); /*每行输入5个*号*/

}

}

【例3】求矩阵下三角形元素之和。

#define N 6

main()

{int i,j,sum=0;

int a[N][N]={0};

printf("input 5×5 data:\n");

for(i=1;i

{ printf("Input the %d line data:\n",i);

for(j=1;j

scanf("%d",&a[i][j]);

}

for(i=1;i

{for(j=1;j

printf("%5d",a[i][j]);

printf("\n");

}

for(i=1;i

for(j=1;j<=i;j++)

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

printf("sum=%d\n",sum);

}

【作业】

1. 求一个3×3矩阵对角线元素之和。

2. 打印出以下的杨辉三角形(要求打印出10行)。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

…… …… ……

3. 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

 

阅读(421) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~