| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1216 人关注过本帖
标题:编程输出图形
只看楼主 加入收藏
我叫赫卡忒
Rank: 1
来 自:北京
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-9-22
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:7 
编程输出图形
输入行数,编程输出以下图形
      A
     AB
    ABC
   ABCD
  ABCDE
     ……
2016-09-26 15:10
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
#include <stdio.h>
main()
{
    int i,j,m=25,n;
    printf("输入图形的行数:");
    scanf("%d",&n);
    for(int k=0;k<n;k++)
    {
        for(i=0;i<m;i++)
        printf(" ");
        for(j=0;j<k+1;j++)
        printf("%c",'A'+j);
        printf("\n");
        m--;        
    }

}
2016-09-26 15:31
我叫赫卡忒
Rank: 1
来 自:北京
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-9-22
收藏
得分:0 
运行结果好像不符啊,前面没有空格了
2016-09-26 16:03
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:5 
#include <stdio.h>
main()
{
    int i,n;
    char *sz="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    printf("输入图形的行数:");
    scanf("%d", &n);
    if (n > 26) return 0;
    for(i=0; i<n; i++)
    {
        printf("%*.*s\n", n, i+1, sz);
    }
}

/*
      A
     AB
    ABC
   ABCD
  ABCDE
*/
2016-09-26 16:54
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 4楼 吹水佬
您好,请问printf("%*.*s\n", n, i+1, sz);是什么意思?
2016-09-26 17:07
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:5 
以下是引用ehszt在2016-9-26 17:07:30的发言:

您好,请问printf("%*.*s\n", n, i+1, sz);是什么意思?


*是占位符
前边*定义的是总的宽度,后边*是指定输出字符个数
2016-09-26 19:43
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 6楼 linlulu001
哦,那我知道我程序怎么改了
#include <stdio.h>
 main()
 {
     int i,j,m,n;
     printf("输入图形的行数:");
     scanf("%d",&n);
     m=n-1;
     for(int k=0;k<n;k++)
     {
         for(i=0;i<m;i++)
         printf(" ");
         for(j=0;j<k+1;j++)
         printf("%c",'A'+j);
         printf("\n");
         m--;        
     }

 }
2016-09-26 19:48
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
#include<stdio.h>
int main()
{
    char c='A';short x,i,idx;
    printf("请输入层数:");
    scanf("%d",&x);
    for(i=0;i<x;i++)
    {
        idx=i;c='A';
        while(idx<x-1)
        {
            printf(" ");idx++;
        }
        idx=x-i-1;
        while(idx<x)
        {
            printf("%c",c++);idx++;
        }
        printf("\n");
    }
    return 0;
}
测试过
2016-09-26 20:54
快速回复:编程输出图形
数据加载中...
 
   



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

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