用c语言在屏幕上打印出一个菱形

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char arr1[] = "*************";     //因为是字符类型的输入,所以是char
char arr2[] = "      *      ";
char arr3[] = "             ";
printf("%s\n", arr2);              //打印整个菱形的第一行
int j = strlen(arr1) / 2;           //用strlen来求字符串的实际长度,除以二是因为接下来的字符替换需要从行的中间开始
int left = j - 1;                      //从字符中间开始向左移动即为left,j表示的是行的中间位置
int right = j + 1;
int i = 0;
for (i = 0; i < j; i++)            //用for循环来对菱形逐行替换数组中的字符实现
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
left--;
right++;
printf("%s\n", arr2);
}
for (i = 0; i < j+1; i++)
{
arr1[left] = arr3[left];
arr1[right] = arr3[right];
left++;
right--;
printf("%s\n", arr1);
}
system("pause");
return 0;
}

猜你喜欢

转载自blog.csdn.net/higher_and/article/details/79704789