c语言输出菱形

如题所述

1、首先,输入预处理指令#include stdio.h与函数原型void print(int n)。
其中,n表示行数。
2、然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。
3、接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。
4、接着对下半个菱形进行输出(包括最长的行)。也使用两层循环进行输出,分别控制行数与行内的位置。
5、对n=5与n=7进行输出测试,代码如下。
6、编译运行后的结果如下
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(5n);
print(5);
printf(7n);
print(7);
return 0;
}
工具/材料
ubuntu+vim+gcc
温馨提示:答案为网友推荐,仅供参考
相似回答