|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 阿九。 于 2021-5-11 22:32 编辑
只有一个问题
第 43 行为什么是 ch = ch - 2
我认为是 ch = ch - 1 (虽然答案不对)
上半部分的循环结束后不是到字母 D 了吗
要进行下半部分, 不是应该从 ch - 1, 即字母 C 开始吗?
(下方有 图, 和 代码)
请各位指点指点!
//Think Different !!!
/*
//程序功能:
*/
#include <stdio.h>
int main()
{
int n, i, j, m, k;
//n 为菱形高度,i 用于计算高度, j 用于控制空格数
char ch; //ch为起始字母;
k = 1;
scanf("%c %d", &ch, &n);
getchar();
//printf("%c %d", ch, n);
m = (n + 1)/2;
for(i = 0; i < m; i++)
{
for(j = 0; j < m-i-1; j++)
{
printf(" ");
}
printf("%c", ch);
if(i == 0)
{
ch++;
printf("\n");
continue;
}
for(j = 0; j < 2*i - 1; j++)
{
printf(" ");
}
printf("%c", ch++);
printf("\n");
}
ch = ch - 2;
for(i = n - m; i > 0; i--)
{
for(j = 0; j < k; j++)
printf(" ");
k++;
printf("%c", ch);
for(j = 0; j < 2*i - 3; j++)
printf(" ");
if(i == 1)
{
printf("\n");
break;
}
printf("%c\n", ch--);
}
return 0;
}
你是刚学没多久吧
++ 是个很神奇 也很扯淡的东西
假如 int i = 1;
printf("%d\n", i++);
printf("%d\n", i);
结果是
1
2
后缀加加,会先赋值再++
前缀加加,会先++再赋值
|
-
-
|