在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
**这个图形可以分为两部分,从中间分开,分别是前半部分从1星依次加二增加到13星,后半部分从13星依次减二减少到1星。用替换字符串的方法来逐个增加*的数量,利用循环逐次输出。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str1[] = "*************";
char str2[] = " ";
char str3[] = " ";
int left = 0;
int right = strlen(str1) - 1;
while (left <= right) {
str2[left] = str1[left];
left += 1;
printf("%s\n",str2);
str2[left] = str1[left];
left += 1;
}
left = 0;
right = strlen(str1) - 1;
while (left <= right) {
str1[right] = str3[right];
right -= 1;
str1[right] = str3[right];
right -= 1;
printf("%s\n", str1);
}
system("pause");
return 0;
}