重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
工具/材料
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了华龙免费建站欢迎大家使用!
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;
}
1
运用C语言程序输出一个菱形:
源代码为:
#includestdio.h
void main()
{
int n=6;
int i,a,b;
//前4行.上半部分
for( i=1;i=n;i++)//控制行数
{
for( a=n-1;a=i;a--)//打印空格
{
printf(" ");
}
for( b=1;b=2*i-1;b++)//打印*
{
printf("*");
}
printf("\n");
}
//后3行,下半部分
for( i=n-1;i=1;i--)
{
for( a=i;a=n-1;a++)
{
printf(" ");
}
for( b=1;b=2*i-1;b++)
{
printf("*");
}
printf("\n");
}
}
2
这是菱形上半部分的代码:
//菱形的上半部分
for( i=1;i=n;i++)//控制行数
{
for( a=n-1;a=i;a--)//输出空格
{
printf(" ");
}
for( b=1;b=2*i-1;b++)//输出*
{
printf("*");
}
printf("\n");
}
3
这是菱形下半部分的代码:
//菱形 的下半部分
for( i=n-1;i=1;i--)
{
for( a=i;a=n-1;a++)
{
printf(" ");
}
for( b=1;b=2*i-1;b++)
{
printf("*");
}
printf("\n");
}
4
此程序中值得注意的地方
这个程序的源代码,主要是运用了for语句的循环嵌套。for语句的一般形式为:
for(循环变量赋初值;循环条件;循环变量增值) {语句}
当一或二条件知识一个分号代表:此条件一直为真,一直成立!
5
存C语言的格式:
程序文件有:源程序文件(后缀为 .c)、目标文件( 后缀为 .obj)、可执行文件(后缀为 .exe),当后缀名错误时,则程序不能执行。平常我们 写的代码就是源程序文件,所以保存时用 .c ,程序会自动 生成目标文件 .obj ,再到执行文件 .exe .然后执行得到结果。
6
对C语言一定要重视,因为它会在你未来的工作中,帮你许多的忙。
上面画一个三角,下面画一个反三角。就是菱形了
这里的高度指的是三角行的高度
#include "stdio.h"
void main()
{
int h;
printf("输入高度-》 ");
scanf("%d",h);
for(int i=1;i=h;i++)
{
for(int a=1;a=(h-i);a++)
{
printf(" ");
}
for(int b=1;b=(i*2-1);b++)
{
printf("*");
}
printf("\n");
}
for(int j=h-1;j=1;j--)
{
for(int a=1;a=(h-j);a++)
{
printf(" ");
}
for(int b=1;b=(j*2-1);b++)
{
printf("*");
}
printf("\n");
}
}
#include stdio.h
void print(int k)
{
int i,j,n;
n = k/2+1;
for(i = 0;in;i++)
{
for(j=0;jn-i; j ++)
putchar(' ');
for(j = 0; j2*i+1; j++)
putchar('*');
putchar('\n');
}
for(i = n-2; i=0; i --)
{
for(j=0;jn-i; j ++)
putchar(' ');
for(j = 0; j2*i+1; j++)
putchar('*');
putchar('\n');
}
}
int main()
{
int n;
scanf("%d",n);
print(n);
return 0;
}