注册 登录
编程论坛 C语言论坛

印出字母菱形出現亂碼

adssc 发布于 2019-10-16 13:05, 2046 次点击
程式碼如下
程序代码:

#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");
  }
}


輸出出現
只有本站会员才能查看附件,请 登录
4 回复
#2
rjsp2019-10-16 14:51
那你期待输出什么呢?
#3
adssc2019-10-16 15:07
回复 2楼 rjsp
只要大小寫字母 組成菱形
#4
rjsp2019-10-16 15:20
回复 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';
#5
adssc2019-10-17 07:22
回复 4楼 rjsp
感謝你解決了
1