c語言輸出直角三角形
① 直角三角形用c語言怎麼寫
我們不看源程序,就自己的理解來做,直角三角形,就是在N行輸出N個*號,你這樣想程序就很快就出來了,兩個FOR循環,第一個規定了輸出的層數,裡面的for規定了每行輸出的*個數,
所以就是為什麼是c<=b,第一行時,b=1,輸出一個,第N行時,輸出N個,b即代表著所在的行數(在第一個FOR中的角色),又代表著每行輸出的*的個數(第二個FOR的角色),你可是還是對for語法理解的錯誤。因為B是個變數,每次進入裡面的for時,b的值都是不同的,而a相對而言是不變的量,它就代表的輸出的行數
② C語言中如何用 二維數組輸出金字塔形或直角三角形數組
#include<iostream>
#include<string>
usingnamespacestd;
intmain()
{
std::cout<<"Inputnum:";
intn;
std::cin>>n;
inta[10][10];
for(inti=1;i<=n;++i)
{
for(intj=1;j<=i;++j)
a[i][j]=1;
for(intj=i+1;j<=n;++j)
a[i][j]=0;
}
for(inti=0;i<=n;++i)
{
for(intj=0;j<=n;++j)
if(a[i][j]==1)
cout<<j;
cout<<endl;
}
}
(2)c語言輸出直角三角形擴展閱讀
二維字元數組的輸出
#include<stdio.h>
intmain(){
//聲明一個字元型二維數組,高維3,低維6
//高維代表有多少個字元串,低維代表每個字元串有多少個字元
//低維要能滿足最多字元的字元串
//字元數組最後以 結束,要給它留出一個位置,所以低維是6
chararray[3][6]={
{'o','n','e'},
{'t','w','o'},
{'t','h','r','e','e'},
};
//循環輸出三個字元串
for(inti=0;i<3;i++){
for(intj=0;j<6;j++){
printf("%c",array[i][j]);
}
//輸出完一個字元串就換一行
printf(" ");
}
return0;
}
③ C語言*號輸出一個倒直角三角形
#include<stdio.h>
main()
{
int i,j,k,z;
scanf("%d",&k);
for(i=k;i>=0;i--)
{
for(j=0;j<i;j++)
printf("*");
printf(" ");
}
}
(3)c語言輸出直角三角形擴展閱讀:
C語言書寫規則:
1、一個說明或一個語句佔一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
網路-c語言
④ 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;
}
⑤ 怎麼用c語言輸出倒直角三角形,求大佬教教我,救救孩子吧
#include<stdio.h>
int main()
{ int i,j;
for(i=4;i>0;i--)
{for(j=0;j<i;j++)
printf("*");
printf(" ");
};
return 0;
}
⑥ c語言中輸入直角三角形的兩條直角邊,如何求斜邊的長度
在scanf()命令加入下面命令:
printf("%lf %lf",a,b);
import java.util.*;
public class triangle {
static void show(double a,double b,double c){
if(a+b<c&&a+c<b&&b+c<a){
System.out.println("構不成三角形");
}
if(a*a==b*b+c*c){
System.out.println("輸出斜邊:"+(double)(Math.sqrt(a*a)));
System.out.println("輸出三角形的面積:"+(b*c)/2);
}
if(b*b==a*a+c*c){
System.out.println("輸出斜邊:"+(double)(Math.sqrt(b*b)));
System.out.println("輸出三角形的面積:"+(a*c)/2);
}
if(c*c==a*a+b*b){
System.out.println("輸出斜邊:"+(double)(Math.sqrt(c*c)));
System.out.println("輸出三角形的面積:"+(a*b)/2);
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("請輸入邊長a");
Double a=sc.nextDouble();
System.out.println("請輸入邊長b");
Double b=sc.nextDouble();
System.out.println("請輸入邊長c");
Double c=sc.nextDouble();
show(a,b,c);
}
}
運行結果如下:
請輸入邊長a3
請輸入邊長b4
請輸入邊長c5
輸出斜邊:5.0
輸出三角形的面積:6.0
(6)c語言輸出直角三角形擴展閱讀:
ΔABC是直角三角形,作AB的垂直平分線n交BC於D
∴ AD=BD(線段垂直平分線上的點到這條線段兩端點的距離相等)
以DB為半徑,D為圓心畫弧,與BC在D的另一側交於C'
∴DC』=AD=BD∴∠BAD=∠ABD ∠C』AD=∠AC』D (等邊對等角)
又∵∠BAD+∠ABD+∠C』AD+∠AC』D =180°(三角形內角和定理)
∴∠BAD+∠C』AD=90° 即:∠BAC』=90°
又∵∠BAC=90°
∴∠BAC=∠BAC』
∴C與C』在直線AC上
又∵C與C』在直線BD上,AC與BD相交
∴C與C』重合(也可用垂直公理證明 :假使C與C』不重合 由於CA⊥AB,C』A⊥AB 故過A有CA、C』A兩條直線與AB垂直 這就與垂直公理矛盾 ∴假設不成立 ∴C與C』重合)
⑦ 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語言輸出一個直角三角形
如下所示:
for(i=1;i<=n;i++) 這個循環是列印i行。
裡面的循環就是每行要列印的東西。
for(j=1;j<=i*2-1;j++) 意思就是第i行,列印i*2-1個星號。
於是就一次是1 3 5 7...個星號。
(8)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語言求這樣的直角三角形 求大佬解答
當你要列印6行的時候,可以發現
第一行先列印0個空格,再列印6-0=6個字元
第二行先列印1個空格,再列印6-1=5個字元
第三行先列印2個空格,再列印6-2=4個字元
...
或者甚至可以看成要列印6行,就列印1個6x6的正方形,只是這個正方形有的地方列印字元,有的地方列印空格
什麼時候開始列印字元呢?把整個圖形看成坐標系,會發現是從從對角線開始,對角線的函數是y=x