C语言怎么输出一个菱形
大家可能没了解过C语言,或者刚接触C语言不是很熟的,C语言是可以输出很多的图形的。现在小编给你们收集一个C语言怎么输出一个菱形的相关知识,不懂的可以来看看。
C语言是计算机的高级语言,在IT行业被众多的人们是使用,由于IT行业的热门,使用以及学习C语言的人越来越多,掌握一些C语言基本的语言是非常重要的',只有基础知识扎实了,才能在C语言上有更大的成果!
C语言怎么输出一个菱形 篇1
源代码为:
#include
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(" ");
}
//后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(" ");
}
}
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(" ");
}
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(" ");
}
4、此程序中值得注意的地方
这个程序的源代码,主要是运用了for语句的循环嵌套。for语句的一般形式为:
for(循环变量赋初值;循环条件;循环变量增值) {语句}
当一或二条件知识一个分号代表:此条件一直为真,一直成立!
5、存C语言的格式:
程序文件有:源程序文件(后缀为 .c)、目标文件( 后缀为 .obj)、可执行文件(后缀为 .exe),当后缀名错误时,则程序不能执行。平常我们 写的代码就是源程序文件,所以保存时用 .c ,程序会自动 生成目标文件 .obj ,再到执行文件 .exe .然后执行得到结果。
C语言怎么输出一个菱形 篇2
题目:输出行列都相等的菱形,如5行5列:
行列 12345
1 *
2 ***
3 *****
4 ***
5 *
分析:
当行数等于总行数的一半时,*是递增的,递增为2。
当行数大于总行数的一半时,*是递减的,递增为2。
设有一个行列为n的菱形,
我们用变量i作为行数,以0开始,i
k作为n菱第i行要输出的*个数。
则i<=n的中值(用m表示,m=(n-1) i="">m时,k递减。
因为k相对于m行对称,所以:
当i>m时,i每增加i-m时的k值就和第m-i行的k值相等,即第i-m行和第m-(i-m)相对称。
所以得出结果:
当i<=m时,k=2i+1
当i>m时,k=2(m-(i-m))+1,(m=(n-1)/2)。即k=2n-2i-1
由于我们只需要输出*左边的空格即可,所以每行*左边的空格的个数为:(n-每行的k)/2。
每行循环输出空格,再循环输出每行的*,再输出回车,结束一行。
这样我们就可以开始编程了。
#include
int main()
{
int i,j,k,n;//定义四个变量:i是行,j每行*号前的空格数,k每行的*号数
printf("please input odd n:");
scanf("%d",&n); //输入奇数n
for (i=0;i
{
if(n>=2*i+1) //判断k值
k=2*i+1;
else
k=2*n-2*i-1;
for(j=(n-k)/2;j>0;j--) //循环输出空格
printf(" ");
for(;k>0;k--) //循环输出*号
printf("*");
printf("n"); //输出回车结束一行
}
本来呢题目就到止结束了,但上面的程序还不够完美
比如说,别人输入n值为偶数怎么办?输入非数值呢?
我们加一点东西进去:
#include
int main()
{
int i,j,k,n=0; //这里给n赋初值,即使输入非数值,n也可有确切的值。
do{ //增加一个大循环,可以令n可以输入多次以观察不同的结果。
printf("please input odd n, 0 to exit:");//当输入0的时候,退出大循环,结束程序。
scanf("%d",&n);
if (!(n%2)) //增加对输入偶数的判断。
{
printf("you input a even, please input again.n");
continue;
}
for (i=0;i
{
if(n>=2*i+1)
k=2*i+1;
else
k=2*n-2*i-1;
j=(n-k)/2;
for(;j>0;j--)
printf(" ");
for(;k>0;k--)
printf("*");
printf("n");
}
}while(n);
return 0;
}
【C语言怎么输出一个菱形】相关文章:
C语言输出菱形的方法11-24
关于c语言约瑟夫问题输出序号算法11-21
C语言字符数组的几种输出方式11-22
C语言字符串的输入输出10-04
C语言的字符串输出puts()函数10-04
怎么写一个简单的c语言程序10-05
用C语言输出九九乘法表10-05
c语言中怎么画图10-07
怎么学习C语言编程09-23