/
*copyright (c)2014,烟台大学计算机学院
*All rights reserved
*文件名称:123.cpp
*作者:孙春红
*完成日期:2014年12月1日
*版本号:v1.0
*
*问题描述:定义一个8行8列的二维数组a[8][8]。(1)为二维数组中的数
赋50以内的随机数(程序模板中setdata()函数已经完成,利用产生随机数
的系统函数实现),可能的取值如图所示;
(2)设计函数out()按行输出二维数组中的数据;
(3)设计函数outDiagonal()输出从左上到右下对角线上的元
素的值,如对图的数据而言,输出为48 34 12 31 40 42 34 45
;再输出从右上到左下对角线上的值;。
*输入描述:略。
*程序输出:略。
*/
#include <iostream>
#include <ctime>
#include<cstdlib>
using namespace std;
void setdata(int a[8][8]); //设置随机数
void out(int a[8][8]); //输出数组
void outDiagonal(int a[8][8]); //输出对角线元素的值
int main()
{
int a[8][8];
setdata(a);
out(a);
cout<<endl;
outDiagonal(a);
return 0;
}
void setdata(int a[8][8])
{
int i,j;
cout<<"设置的随机数是:"<<endl;
srand(time(NULL));//需要用当前时间作“种子”,以便每次运行取得的序列不同
for(i=0; i<8; i++)
for(j=0; j<8; j++)
a[i][j]=rand()%50+1;
return;
}
//按行序优先输出数组
void out(int a[8][8])
{
for (int i=0; i<8; i++)
{
for (int j=0; j<8; j++)
{
cout<<a[i][j]<<'\t';
}
cout<<endl;
}
}
void outDiagonal(int a[8][8])//输出对角线元素的值(从左上到右下、从右上到左下)
{
int i;
cout<<"输出对角线上的数(自左上至右下):"<<endl;
for(i=0; i<8; i++)
cout<<a[i][i]<<'\t';
cout<<endl;
cout<<"输出对角线上的数(自右上至左下):"<<endl;
for(i=0; i<8; i++)
cout<<a[i][7-i]<<'\t';
cout<<endl;
}
运行结果:
知识点总结:
运用函数的调用,以及二维数组的算法,以及随机函数的使用。
学习心得:
随机数的产生有点难理解,而且我太粗心了!!
本文介绍了一个使用C++实现的程序,该程序定义了一个8行8列的二维数组,并通过函数实现了数组元素的随机数赋值、数组内容的输出及对角线元素的输出。

被折叠的 条评论
为什么被折叠?



