标题:印出字母菱形出現亂碼
只看楼主
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
结帖率:100%
已结贴  问题点数:10 回复次数:4 
印出字母菱形出現亂碼
程式碼如下
程序代码:
#include<stdio.h>

int main()
{
  int n;
  char ch='A';
  printf("Input :");
  scanf("%d",&n);

  for(int i=1;i<=n;i++)
  {
    for(int j=0;j<(n-i);j++)
    {
      printf("  ");
    }
    for(int j=0;j<(i*2-1);j++)
    {
      printf("%2c",ch);
      ch++;
      if(ch=='Z'+1)
        ch='a';
    }
    printf("\n");
  }

  for(int i=n-1;i>=1;i--)
  {
    for(int j=0;j<(n-i);j++)
    {
      printf("  ");
    }
    for(int j=0;j<(i*2-1);j++)
    {
      printf("%2c",ch);
      ch++;
      if(ch=='z'+1)
        ch='A';
    }
    printf("\n");
  }
}


輸出出現
搜索更多相关主题的帖子: printf scanf Input for int 
2019-10-16 13:05
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
那你期待输出什么呢?
2019-10-16 14:51
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
得分:0 
回复 2楼 rjsp
只要大小寫字母 組成菱形
2019-10-16 15:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
回复 3楼 adssc
那你就要将
      if(ch=='Z'+1)
        ch='a';

      if(ch=='z'+1)
        ch='A';
这两处改为
            if(ch=='Z'+1)
                ch='a';
            else if(ch=='z'+1)
                ch='A';
2019-10-16 15:20
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
得分:0 
回复 4楼 rjsp
感謝你解決了
2019-10-17 07:22



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




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

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