C语言 :打印数字菱形

问题描述:

C语言 :打印数字菱形
输入 n 值,输出如下例( n=4 )所示的数字菱形.
4
434
43234
4321234
43234
434
4
输入:n
输出:数字菱形
友情提示:同学们总结一下打印星号组成的实心图形程序的编程思路:第一步,打印星号组成的正方形;第二步,改变每行星号的个数,打印每行星号数量不一样的图形;如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格.
现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("*");改为printf("%2d",x);当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了.
x是多少呢?则要寻找其规律,就是该输出位置与所在行列的关系.
#include
void turn(char ch,int n)
{
if(n>0)
{printf("%-2c",ch);
if(ch==' ') turn(ch,n-1);
else turn((char)(ch-1),n-1);}
}
void turn1(char ch,int k,int n)
{if(k
1个回答 分类:综合 2014-09-21

问题解答:

我来补答
turn(' ',k);应该打多了空格吧!
而且超过10的时候就不行了!
所以改了一下:
#include
int num;
void turn(char ch,int n)
{
if(n>0)
{
if(ch==' ')
{
printf("%2c",ch);
turn(ch,n-1);
}
else
{
if(num
 
 
展开全文阅读
剩余:2000
上一页:14,16
下一页:对一下