重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
工具/材料
创新互联公司是一家专业的网站制作公司,提供的服务包括:高端网站设计,网站设计,网页设计,我们是一家专业的建站公司,做网站,我们是认真的。我们是成都网站制作,成都网站建设的先行者,一切以客户的利益为设计方向,能够为不同行业的客户提供全面、长期、深入的网络解决方案。 创新互联公司根据客户的具体需求,提供从策划、创意、制作、执行等服务。
ubuntu+vim+gcc
01
首先,输入预处理指令#include stdio.h与函数原型void print(int n)。
其中,n表示行数。
02
然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。
03
接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。
04
接着对下半个菱形进行输出(包括最长的行)。也使用两层循环进行输出,分别控制行数与行内的位置。
05
对n=5与n=7进行输出测试,代码如下。
06
编译运行后的结果如下
07
以下是所有的代码:
#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;
}
#include stdio.h
int main()
{
int i,j,m,n;
printf("请输入菱形的行数:");
//判断n是否符合正奇数的要求
while (scanf("%d", n) != EOF n % 2 == 1)
{ //对上半个菱形输出
for (i = 1; i = (n + 1) / 2; i++)
{
//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");
}
}
return 0;
}
下面的程序是菱形打印的【终结者】,改变下设置,就基本可以满足所有菱形打印的题目。程序主体 for 语句只有9行,简单而强大 */#include stdio.h#include stdlib.h#include string.h// 这个小函数用来输出 repeatTimes 个字符
#includevoid main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf(" ***\n");printf(" *\n");} 这是最简单的。下面一个稍微复杂一点。#includevoid main(){int i=0,j=0,k=0;for(i=0;i{for(j=6-i;j=0;j--){putchar(' ')...
手机党输入#include"stdio.h"main(){printf(" *\n");printf(" * *\n");printf(" * *\n");printf(" * *\n");printf(" *\n");}