要求输出一个如图所示的菱形
从上至下依次有1 3 5 7 9 11 13 11 9 7 5 3 1个“ * ”,我们可以预先设计一个数组含有13个空格,通过指针更改需要更改的空格,并把它包装到函数中。
我们需要设计两个函数,一个函数能将空格改为‘ * ’,另一个函数能将‘ * ’改为空格
代码如下
#include<stdio.h>
void point(char arr[],int n)
{
arr[6-n] = '*';
arr[6 + n] = '*';
printf("%s\n", arr);
}
void point1(char arr[], int n)
{
arr[6 - n] = ' ';
arr[6 + n] = ' ';
printf("%s\n", arr);
}
int main()
{
char arr[] =" ";//包含13个空格
point(arr, 0);
point(arr, 1);
point(arr, 2);
point(arr, 3);
point(arr, 4);
point(arr, 5);
point(arr, 6);
point1(arr, 6);
point1(arr, 5);
point1(arr, 4);
point1(arr, 3);
point1(arr, 2);
point1(arr, 1);
return 0;
}