c语言学习:[4]输出*形(直角等腰钻石形)
为了加深对for语句的理解,我们看三个利用c语言编程输出*形的例子,这里的*形包括直角形、等腰形和钻石形。所用编程环境Microsoft Visual C++ 6.0。让我们在这里体验算法和编程的魅力。
![c语言学习:[4]输出*形(直角等腰钻石形)](https://exp-picture.cdn.bcebos.com/cf6d451b1edef4dc8fb04aab45ecd3d968750cdd.jpg)
工具/原料
Microsoft Visual C++ 6.0
输出直角*形
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
编程界面和输出结果:
![c语言学习:[4]输出*形(直角等腰钻石形)](https://exp-picture.cdn.bcebos.com/a13bbe10bc33ec38cb33405b295f0c14c37b3cdd.jpg)
输出等腰形*
#include<stdio.h>
void main()
{
int n,m,k;
for(n=1;n<=7;n++)
{
for(m=7;m>=n;m--)
{
printf(" ");
}
for(k=1;k<=2*n-1;k++)
{
printf("* ");
}
printf("\n");
}
}
编程界面和输出结果:
![c语言学习:[4]输出*形(直角等腰钻石形)](https://exp-picture.cdn.bcebos.com/18aebc5f0c14c27bd60bdf3d2a46b7b1eff939dd.jpg)
钻石*形
#include<stdio.h>
#include<math.h>
int main(void)
{
int i,j,k;
for(i=1;i<=10;i++)
{
for(j=1;j<=abs(5-i);j++)
printf(" ");
for(k=1;k<=9-2*(abs(5-i));k++)
printf("*");
printf("\n");
}
return 0;
}
编程界面和输出结果:
![c语言学习:[4]输出*形(直角等腰钻石形)](https://exp-picture.cdn.bcebos.com/a007a9b1eef97fbd46f56d07b74133bad24133dd.jpg)
附例1:用二分法求方程的根。这里给出方程:
2*x*x*x-4*x*x+3*x-6=0
求出方程在(-10,10)之间的根。
二分法的数学意义大家可以先提前复习一下。
这里给出编程代码,供大家参考。
#include <stdio.h>
#include<math.h>
float Function(float x)
{
float Function=2*x*x*x-4*x*x+3*x-6;
return Function;
}
void main()
{
float a=-10;
float b=10;
do
{
if(Function((a+b)/2)>0)
{
a=a;
b=(a+b)/2;
}
else
{
a=(a+b)/2;
b=b;
}
}while(fabs(Function((a+b)/2))>=1e-5);
printf("%f\n",(a+b)/2);
}
![c语言学习:[4]输出*形(直角等腰钻石形)](https://exp-picture.cdn.bcebos.com/46315818dfdae43b7c0f5b95c457935652bb74dd.jpg)
运算结果如下:
求得:
x=2
![c语言学习:[4]输出*形(直角等腰钻石形)](https://exp-picture.cdn.bcebos.com/92174dbbf82064fbd88268958e6104a354e96fdd.jpg)
注意事项
每一个例子、每一种方法都要好好体会。
有时候觉得简单的程序,自己扣上书,自己来写,又不会写了,这就是还没有好好的掌握。
(共篇)上一篇:求水仙花数