c语言直角三角形
‘壹’ 直角三角形用c语言怎么写
我们不看源程序,就自己的理解来做,直角三角形,就是在N行输出N个*号,你这样想程序就很快就出来了,两个FOR循环,第一个规定了输出的层数,里面的for规定了每行输出的*个数,
所以就是为什么是c<=b,第一行时,b=1,输出一个,第N行时,输出N个,b即代表着所在的行数(在第一个FOR中的角色),又代表着每行输出的*的个数(第二个FOR的角色),你可是还是对for语法理解的错误。因为B是个变量,每次进入里面的for时,b的值都是不同的,而a相对而言是不变的量,它就代表的输出的行数
‘贰’ C语言输出一个直角三角形
如下所示:
for(i=1;i<=n;i++) 这个循环是打印i行。
里面的循环就是每行要打印的东西。
for(j=1;j<=i*2-1;j++) 意思就是第i行,打印i*2-1个星号。
于是就一次是1 3 5 7...个星号。
(2)c语言直角三角形扩展阅读:
C语言函数
doublepow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
isprint()函数:判断一个字符是否是可打印字符
islower()函数:判断一个字符是否是小写字母
ldexp()函数:返回x乘以2的exponent次方(次幂)的值
isdigit()函数:判断一个字符是否为数字
‘叁’ c语言如何输出n行的直角三角形(实心的)
先不说你代码逻辑,你这个代码ij都是整数,循环自增不能用浮点数。
直角三角形,有等腰和非等腰,需要输入2个边,且只能按照两边比例来算,所以斜边只能是一个近似值。
我的代码,精度常量自行修改,边长越大,画面精度越好。(但是由于控制台固定大小,实际能显示的长度有限)。
#include <stdio.h>
#define X 0.001//精确度,越小精确
int main()
{
char ch;
int a,b,i,j;
printf("请输入填充字符:"),scanf("%c",&ch);
printf("请输入2个直角边的字符个数:"),scanf("%d%d",&a,&b);//默认a<=b
if(a>b) a^=b,b^=a,a^=b;
for(i=0;i<a;i++,printf(" "))
for(j=0;j<b;j++)
{
if(i==0){printf("%c",ch);break;}
if(i!=0 && j==0)printf("%c",ch);
if(i!=0 && j!=0 && a==b && j<=i)printf("%c",ch);//等腰
if(i!=0 && j!=0 && a!=b && (double)i/j-(double)a/b>X) printf("%c",ch);//非等腰
}
return 0;
}
‘肆’ C语言输出直角三角形
#include<stdio.h>
intmain()
{
inti,j,n=6;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)printf("%d",j);
printf(" ");
}
return0;
}