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;
}