我要画个数字加字母的菱形
上半边是1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H
下半边倒过来G,F,E,D,C,B,A,9,8,7,6,5,4,3,2,1
请问这个菱形的循环怎么写啊
[解决办法]
数据错了吧?不知道你的意思是不是这样:
#include "stdio.h "
#define LINEHALF 7
int main()
{
int i,j,k;
k = '1 ';
for ( i = 1 ; i < 2 * LINEHALF ; i ++)
{
for ( i <= LINEHALF ? j = 0 : j = i - LINEHALF; i <= LINEHALF ? j < LINEHALF - i : j > 0; i <= LINEHALF ? j ++ : j--)
{
printf( " ");
}
for( i <= LINEHALF ? j = 0 : j = 2 * LINEHALF - i; i <= LINEHALF ? j < i : j > 0; i <= LINEHALF ? j ++ : j -- )
{
if( i <= LINEHALF && !(i == LINEHALF && j > = i / 2))
printf( "%c ",k ++);
else
printf( "%c ",k --);
if(k == 0x3A)
k = 'A ';
if(k == 0x40)
k = '9 ';
}
printf( "\r\n ");
}
getchar();
}
结果是:
1
2 3
4 5 6
7 8 9 A
B C D E F
G H I J K L
M N O P O N M
L K J I H G
F E D C B
A 9 8 7
6 5 4
3 2
1