| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1993 人关注过本帖
标题:c语言输出字母金字塔代码那三行for是什么意思呀?
只看楼主 加入收藏
YKindred
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-3-20
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:4 
c语言输出字母金字塔代码那三行for是什么意思呀?
程序代码:
#include 
int main(void)
{
    int i, j, k;
    char letter;
    printf("shuru:");
    scanf_s("%c", &letter,1);
    k = letter - 'A' + 1;    
    for (i = 0; i < k; i++)        
    {
        for (j = 0; j < k - i; j++)printf(" ");
        for (j = 0; j <= i; j++)printf("%c", 'A' + j);
        for (j = i - 1; j >= 0; j--)printf("%c", 'A' + j);
        printf("\n");
    }
    return 0;
}
搜索更多相关主题的帖子: c语言 金字塔 代码 for printf 
2018-03-20 13:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>

int main(void)
{
    char letter;
    printf( "Type an uppercase letter: " );
    scanf( "%c", &letter );

    const int n = letter-'A'+1;
    for( int i=0; i<n; ++i )
        printf( "%*.*s%s\n", n, i+1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ZYXWVUTSRQPONMLKJIHGFEDCBA"+26-i );
}


[此贴子已经被作者于2018-3-20 13:55编辑过]

2018-03-20 13:53
YKindred
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-3-20
收藏
得分:0 
以下是引用rjsp在2018-3-20 13:53:42的发言:

#include <stdio.h>

int main(void)
{
    char letter;
    printf( "Type an uppercase letter: " );
    scanf( "%c", &letter );

    const int n = letter-'A'+1;
    for( int i=0; i<n; ++i )
        printf( "%*.*s%s\n", n, i+1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ZYXWVUTSRQPONMLKJIHGFEDCBA"+26-i );
}

啥意思
2018-03-20 14:13
will丶
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:117
专家分:443
注 册:2015-10-19
收藏
得分:10 
怎么跟你讲呢,脑子里要有那种举一反三的程序运行思维
程序代码:
#include<stdio.h>
int main(void)
{
    int i, j, k;
    char letter;
    printf("shuru:");
    scanf_s("%c", &letter,1);
    k = letter - 'A' + 1;
    for (i = 0; i < k; i++)
    {
        for (j = 0; j < k - i; j++)printf(" ");//这一层循环输出空格,输出都是从左往右的,效果就是让三角形看起来是个正三角形'
        for (j = 0; j <= i; j++)printf("%c", 'A' + j);//这一层循环是从最左边开始输出从'A'开始依次递增,直到i位置
        for (j = i - 1; j >= 0; j--)printf("%c", 'A' + j);//这层循环是从i位置开始往右输出,依次递减直到为'A'
        printf("\n");
    }
    return 0;
}

腾空类星陨,遥望若花生。
2018-03-20 14:34
will丶
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:117
专家分:443
注 册:2015-10-19
收藏
得分:0 
回复 3楼 YKindred
这个是用正则表达式做的

腾空类星陨,遥望若花生。
2018-03-20 14:37
快速回复:c语言输出字母金字塔代码那三行for是什么意思呀?
数据加载中...
 
   



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

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