| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2047 人关注过本帖
标题:打印大写字母三角形,结果输出的为什么不是字母,而是一堆乱码。。。
只看楼主 加入收藏
o天道酬勤o
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-11-4
结帖率:94.44%
收藏
已结贴  问题点数:20 回复次数:3 
打印大写字母三角形,结果输出的为什么不是字母,而是一堆乱码。。。
程序代码:
#include<stdio.h>
int main()
{
    int i,j,m,n,p;
    char a;
    scanf("%d",&n);
    scanf("%c",&a);
    for(m=1;m<=n;m++)
    {
        p=(2*m-1)/2+1;
        j=0;
        for(i=0;i<n;i++)
        printf(" ");
        do
        {
            printf("%c",a);
            if(a=='Z')
            a=a-26;
            a++;
            j++;
         } while(j<=m);
         j=0;
         do
         {
             a--;
             j++;
             printf("%c",a);
             if(a=='A')
             a=a+26;
             a--;
             j++;
         }while(j<m);
         printf("\n");
    }    
    return 0;
}
[local]1[/local]


360截图20161202213454229.jpg (28.73 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 三角形 字母 
2016-12-02 21:34
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:20 
随笔秒回一下:
scanf("%d",&n);
scanf("%c",&a);
//%c吃掉了上面scanf留下的回车,改成这样试试看~
scanf("%d%*c",&n);
%*c就是舍弃一次输入,用来吸收了本题的回车~

修改后结果如图:
图片附件: 游客没有浏览图片的权限,请 登录注册


看看是不是你想要的,细节要自己慢慢改~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-02 22:09
o天道酬勤o
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-11-4
收藏
得分:0 
回复 2楼 九转星河
你的个性签名使我产生了共鸣
2016-12-03 13:03
o天道酬勤o
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-11-4
收藏
得分:0 
修改完了。。。。
程序代码:
#include<stdio.h>
int main()
{
    int i,j,m,n,p,q;
    char a,b;
    scanf("%d%*c",&n);
    scanf("%c",&a);
    q=n;b=a;
    for(m=1;m<=n;m++)
    {
        a=b;
        if(b=='Z')
        b=b-26;
        b++;
        p=(2*m-1)/2+1;
        j=1;
        q--;
        for(i=0;i<q;i++)
        printf(" ");
        do
        {
            printf("%c",a);
            if(a=='Z')
            a=a-26;
            a++;
            j++;
         } while(j<=p);
         if(a!='A')
         a--;
         j=1;
         while(j<p)
         {
             if(a!='A')
             a--;
             j++;
             printf("%c",a);
             if(a=='A')
             a=a+26;
         }
         printf("\n");
    }    
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册

2016-12-03 13:22
快速回复:打印大写字母三角形,结果输出的为什么不是字母,而是一堆乱码。。。
数据加载中...
 
   



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

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