| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 369 人关注过本帖
标题:C语言输出问题求助
只看楼主 加入收藏
cherryljr
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-10-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
C语言输出问题求助
要输出:
    1
   121
  12321
   121
    1
输入的行数要可以使自己设的,也就是中间的那个字,这里是3,那么就输出2*3-1行。
我以前看过一个方法可使给忘了……求大家帮个忙。(记得是用负数然后加绝对值的。)
求求各位大侠了……
搜索更多相关主题的帖子: C语言 绝对值 121 
2012-12-19 20:11
Fisher~
Rank: 4
等 级:业余侠客
帖 子:93
专家分:222
注 册:2012-11-10
收藏
得分:0 
程序代码:
void main(void)
{
    int n = 0,m = 0;
    int i =1,j =1,k = 0;

    printf("请输入数字:\n");
    scanf("%d",&n);
    m = n;
    for (i = 1; i <= n; i++)
    {
        for (k = 1; k <= n-i; k++)
            printf(" ");
        for (j = 1; j <= i; j++)
            printf("%d",j);
        j--;
        while (--j)
            printf("%d",j);
        printf("\n");
    }
    while (--n)
    {
        for (k = 1; k <= i-n-1; k++)
            printf(" ");
        for (j = 1; j <= n; j++)
            printf("%d",j);
        j--;
        while (--j)
            printf("%d",j);
        printf("\n");
    }
}
我只是按照最简单的思路写的里面很多代码一样你自己组织一下吧,结果正确,你自己做的时候也就会理解了怎么做的
2012-12-19 21:37
Fisher~
Rank: 4
等 级:业余侠客
帖 子:93
专家分:222
注 册:2012-11-10
收藏
得分:5 
程序代码:
void main(void)
{
    int n = 0,m = 0;
    int i =1,j =1,k = 0;

    printf("请输入数字:\n");
    scanf("%d",&n);
    m = n;
    for (i = 1; i <= n; i++)
    {
        for (k = 1; k <= n-i; k++)
            printf(" ");
        for (j = 1; j <= i; j++)
            printf("%d",j);
        j--;
        while (--j)
            printf("%d",j);
        printf("\n");
    }
    while (--n)
    {
        for (k = 1; k <= i-n-1; k++)
            printf(" ");
        for (j = 1; j <= n; j++)
            printf("%d",j);
        j--;
        while (--j)
            printf("%d",j);
        printf("\n");
    }
}
我只是按照最简单的思路写的里面很多代码一样你自己组织一下吧,结果正确,你自己做的时候也就会理解了怎么做的
2012-12-19 21:37
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:5 
程序代码:
#include <stdio.h>

int main(void)
{
    int count = 0;
    int i = 0;
    int value = 0;
    int j = 0;
    int space_count = 0;

    /* Input */
    printf("Please:");
    scanf("%d",&count);

    /* 递增输出 */
    for(i=1;i<=count;i++)
    {
        /* 输出空格 */
        for(space_count=0;space_count<=(count*2)-i;space_count++)
            printf("  ");

        /* 输出递增部分 */
        for(j=1;j<=i;j++)
          printf("%2d",j);

        /* 输出反向部分 */
        for(j=i-1;j>0;j--)
            printf("%2d",j);
        printf("\n");
    }

    /* 反向输出 */
    for(i=count-1;i>0;i--)
    {
        /* 输出空格 */
        for(space_count=0;space_count<=count*2-i;space_count++)
            printf("  ");

        for(j=1;j<=i;j++)
          printf("%2d",j);
       
        for(j=i-1;j>0;j--)
        printf("%2d",j);
        printf("\n");
    }
    printf("\n\n");
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

楼上代码不错
对了,关于空格那段,只用表示i的值越大所输入的空格越少就行了
因为输出空格是相对的count*2-i只是让空格输出多点而已

I have not failed completely
2012-12-19 22:40
cherryljr
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-10-25
收藏
得分:0 
谢谢楼上两位大侠O(∩_∩)O哈!
思路我会学习的
2012-12-23 16:53
快速回复:C语言输出问题求助
数据加载中...
 
   



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

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