ubuntu+vim+gcc
首先,输入预处置指令#include <stdio.h>与函数原型void print(int n)。
此中,n暗示行数。
然后,对输入的n进行提前判定,若小于0或为偶数,则竣事打印。
接着对上半个菱形进行输出(包罗最长的行)。利用两层轮回进行输出,别离节制行数与行内的位置。
接着对下半个菱形进行输出(包罗最长的行)。也利用两层轮回进行输出,别离节制行数与行内的位置。
对n=5与n=7进行输出测试,代码如下。
编译运行后的成果如下
以下是所有的代码:
#include <stdio.h>
void print(int n)
{
//判定n是否合适正奇数的要求
if(n < 0 || n % 2 == 0)
//不合适则直接退出
return;
//对上半个菱形输出
int i = 1,j = 1;
//i节制行数
for(i = 1; i <= (n + 1) / 2; i++)
{
//j节制每一行的位置
//输出空格
for(j = 1; j <= (n+1)/2 - i; j++)
printf(" ");
//输出*
for(j = 1; j <= 2 * i - 1; j++)
printf("*");
//输出换行
printf("\n");
}
//输出下一半
//i节制行数
for(i = 1; i <= n/2; i++)
{
//j节制每一行的位置
//输出空格
for(j = 1; j <= i; j++)
printf(" ");
//输出*
for(j = 1; j <= n -2 * i; j++)
printf("*");
//输出换行
printf("\n");
}
}
//测试函数,测试n=5和n=7
int main()
{
printf("5\n");
print(5);
printf("7\n");
print(7);
return 0;
}
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!