需要修改为 %s打印,中文不是ASCII字符。
另外,这个也不是一个二维数组,而是一个字符串一维数组。
代码:
#include <stdioh>void main()
{
char money[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
int i;
for(i=0;i<10;++i)
printf("%s ",money[i]);
}这种输出程序就是考你的观察总结能力,只要观察出数据的规律,就好办了,本题规律:
列号小与行号的时候,该处的数据为:行号-列号+1
列号大于行号的时候,该处的数据为:列号-行号+1
相等的时候随便套那个都行,代码如下:
#include "stdafxh"
#include <iostream>
int _tmain(int argc, _TCHAR argv[])
{
int arr[6][6];
for (int i=0;i<6;i++)
for(int j=0;j<6;j++)
if(j<i)
arr[i][j]=i-j+1;
else
arr[i][j]=j-i+1;
for (int m=0;m<6;m++)
for(int n=0;n<6;n++)
{
printf("%d ",arr[m][n]);
if(n==5)
printf("\n");
}
system("pause");
return 0;
}
运行结果:
其实并不存在真正的“二维”,只不过是C编译器自动的将它 一行一行的保存成了一维信息。所以,二维数组的输入只要用双重循环即可,比如:int a[11][11];
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
scanf("%d",&a[i][j]);
}
}
其实 int a[3][3] 可以这样初始化:
int a[3][3] = {0,1,2,3,4,5,6,7,8};
编译器会自动的将线性信息写入二维数组中。int a[3][5]; // 3行5列
二维数组 下标 从 0 开始,所以 第一行第一列的 下标是 [0][0]
二维数组元素a[j][i] , j 对应 行,对应坐标 y i 对应 列,对应坐标 x二维数组不知道长度输出的方法是:
1、一维数组的定义、引用和初始化:定义一维数组的一般形式。
2、一维数组程序举例:冒泡法。
3、得到结果进行输出。二维数组本质上是以数组作为数组元素的数组,即数组的数组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)