|
发表于 2020-4-2 18:07:57
|
显示全部楼层
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- int num;
- char sign;
- int sum_1 = 0;
- scanf("%d %c",&num,&sign);
- //计算最上面一行需要几个符号
- int d,sum=0,hangshu = 0;
- d = (num-1)/2;//d为抛掉为1个符号剩余的个数
- int i,j;
- for(i=3;;i+=2)
- {
- hangshu++;
- if((sum = sum+i)>d)
- {
- //printf("%d\n",i-2);//确定最上层的个数
- break;
- }
- }
- int max = i-2;
- for(i=2;i<=hangshu;i++)
- {
- for(j=2;j<=i-1;j++)
- {
- printf(" ");
- }
- for(j=1;j<=max;j++)
- {
- printf("%c",sign);
- sum_1 = sum_1 + 1;
- }
- max -=2;
- printf("\n");
- }
- for(i=1;i<=hangshu;i++)
- {
- for(j=1;j<=hangshu-i;j++)
- {
- printf(" ");
- }
- for(j=1;j<=2*i-1;j++)
- {
- printf("%c",sign);
- sum_1 = sum_1 + 1;
- }
- printf("\n");
- }
-
- printf("%d\n",num-sum_1);
- system("pause");
- return 0;
- }
复制代码
这是我通过的代码,你输入1 *和你的对比一下就知道了 |
|