1
上期答案揭晓首先给大家看看上一篇文章C语言经典题(14)中第三部分编程题的答案:
#includestdio.hintmain(){intn,i;printf("请输入整数:");scanf("%d",n);printf("%d=",n);for(i=2;i=n;i++){while(n%i==0){printf("%d",i);n/=i;if(n!=1)printf("*");}}printf("\n");return0;}以上实例输出结果为:
请输入整数:=2*3*3*5
2
今日知识分享
多维数组C语言支持多维数组。多维数组声明的一般形式如下:typename[size1][size2]...[sizeN];例如,下面的声明创建了一个三维5.10.4整型数组:
intthreedim[5][10][4];二维数组多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个x行y列的二维整型数组,形式如下:
typearrayName[x][y];其中,type可以是任意有效的C数据类型,arrayName是一个有效的C标识符。一个二维数组可以被认为是一个带有x行和y列的表格。下面是一个二维数组,包含3行和4列:
intx[3][4];因此,数组中的每个元素是使用形式为a[i,j]的元素名称来标识的,其中a是数组名称,i和j是唯一标识a中每个元素的下标。初始化二维数组多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有3行4列的数组。
inta[3][4]={{0,1,2,3},/*初始化索引号为0的行*/{4,5,6,7},/*初始化索引号为1的行*/{8,9,10,11}/*初始化索引号为2的行*/};内部嵌套的括号是可选的,下面的初始化与上面是等同的:
inta[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};访问二维数组元素二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:
intval=a[2][3];上面的语句将获取数组中第3行第4个元素。您可以通过上面的示意图来进行验证。让我们来看看下面的程序,我们将使用嵌套循环来处理二维数组:
#includestdio.hintmain(){/*一个带有5行2列的数组*/inta[5][2]={{0,0},{1,2},{2,4},{3,6},{4,8}};inti,j;/*输出数组中每个元素的值*/for(i=0;i5;i++){for(j=0;j2;j++){printf("a[%d][%d]=%d\n",i,j,a[j]);}}return0;}当上面的代码被编译和执行时,它会产生下列结果:
a[0][0]=0a[0][1]=0a[1][0]=1a[1][1]=2a[2][0]=2a[2][1]=4a[3][0]=3a[3][1]=6a[4][0]=4a[4][1]=8如上所述,您可以创建任意维度的数组,但是一般情况下,我们创建的数组是一维数组和二维数组。
3
今日经典编程题题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(ab)?a:b这是条件运算符的基本例子。各位有兴趣的读者可以自行设计程序实现,我将在下一篇文章揭晓该题的代码实现供参考!
扫码