标题:用奇数打印空心菱形,小弟真心努力过了,求解
只看楼主
luliangjun
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2012-10-27
 问题点数:0 回复次数:3 
用奇数打印空心菱形,小弟真心努力过了,求解
#include<stdio.h>
int main()
{
   int i,j,n;
   scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        if(i<=(n+1)/2-i)
        {for(j=1;j<(n+1)/2;j++)
            {if(j==(n+1)/2-i&&j==(n+1)/2+i) printf("*");
            else printf(" ");}
        }
       if(i>(n+1)/2)
           {for(j=(n+1)/2+1;j<=i-(n+1)/2;j++)
               {if(j==i-3&&j==(3*n+1)/2-i) printf("*");
               else printf(" ");}
       }
       putchar(10);
    }
}

要求如下由键盘输入n(n为奇数),打印如下图空心菱形

例n=7
   *
  * *
 *   *
*     *
 *   *
  * *
   *
希望有高人指点,真心感谢
搜索更多相关主题的帖子: 打印 真心 include 
2012-11-28 19:29
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
    int N = 7;
    scanf("%d", &N);
    int i, j;
    int k = N / 2;
    for (i = 1;i <= N;i++)
    {
        for (j = abs(k + 1 - i);j > 0;j--)
            putchar(' ');
        putchar('*');
        j = N - 2 - abs(k + 1 - i) * 2;
        if (-1 == j)    putchar(8);    //退格
        for (;j > 0;j--)
            putchar(' ');
        putchar('*');
   
        putchar(10);            //换行
    }
    return 0;
}


[fly]存在即是合理[/fly]
2012-11-28 21:20
luliangjun
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2012-10-27
得分:0 
这个图形有问题,我是直接复制过来的,那个空心菱形是对称的,大家不要看错了
2012-11-28 21:21
Nicolewwq
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:14
专家分:6
注 册:2012-11-16
得分:0 
#include <stdio.h>
int main ()
{
    int n,i,j;
    printf("enter n:");
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        for(j=1;j<=n-i;j++) printf(" ");
        printf("%d",i);
        if (i!=1)
        { for (j=1;j<=2*i-3;j++)
            printf("%d",2*i-3);
        printf("%d",i);
        }
        printf("\n");
    }
    for (i=1;i<=n-1;i++)
    {
        for (j=1;j<=i;j++) printf(" ");
        printf("%d",n-i);
        if (i!=n-1)
        {
            for (j=1;j<=2*n-3-2*i;j++) printf("%d",2*n-3-2*i);
            printf("%d",n-i);
        }
        printf("\n");
    }
    return 0;

这个是菱形数字的程序,和空心菱形一样的思想,空心菱形还更简单些呢。

C语言学习者,大学新生。
2012-11-28 21:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-388881-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.315851 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved