1. c語言:三角形類型判斷(循環)
按照你的要求編寫的判斷三角形類型的C語言程序如下
#include<stdio.h>
#include<math.h>
floatcal_area(floata,floatb,floatc){
floatp,s;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
returns;
}
intmain(){
inti,n;
floata,b,c,e=0.001;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a){
printf("notriangle ");
}elseif(fabs(a-b)<e&&fabs(b-c)<e){
printf("equilateraltriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif((fabs(a-b)<e||fabs(b-c)<e||fabs(a-c)<e)&&(fabs(a*a+b*b-c*c)<e||fabs(a*a+c*c-b*b)<e||fabs(b*b+c*c-a*a)<e)){
printf("isoscelesrighttriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif(fabs(a-b)<e||fabs(b-c)<e||fabs(a-c)<e){
printf("isoscelestriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif(fabs(a*a+b*b-c*c)<e||fabs(a*a+c*c-b*b)<e||fabs(b*b+c*c-a*a)<e){
printf("righttriangle,");
printf("%.1f ",cal_area(a,b,c));
}else{
printf("generaltriangle,");
printf("%.1f ",cal_area(a,b,c));
}
}
return0;
}
運行結果
3
3.02.06.0
notriangle
3.04.05.0
righttriangle,6.0
1.01.01.414
isoscelesrighttriangle,0.5
2. 用C語言 for 循環語句列印一個三角形圖案 ,具體如下圖
#include <stdio.h>
void main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
printf(" ");
for(int t=0; t<n-i;t++)
printf("*");
printf("\n");
}
}
3. C語言 用for循環怎麼輸出倒三角形
/*
用for循環怎麼輸出倒三角形
*/
#include<stdio.h>
int
main()
{
int
i,j,n;
printf("請輸入你想要輸入的行數\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
printf("
");
for(j=0;j<2*n-2*i-1;j++)
printf("*");
printf("\n");
}
return
0;
}
4. 如何用C語言的循環結構輸出一個三角形
我們用 * 來構成三角形,要輸出三角形,要考慮到構成三角形 * 前面的空格,而 每一行* 和空格的數目又是有規律的,因此可以用for循環裡面在嵌套2個for循環來輸出:
#include<stdio.h>void main(){ int i,j; for(i=0;i<5;i++) { for(j=0;j<4-i;j++) printf(" "); for(j=0;j<2*i+1;j++) printf("*"); printf("\n"); }}
5. c語言用一個for畫出直角三角形
# include <stdio.h>
int main()
{
int i,k=1,N;
scanf("%d",&N);//輸入層數
for(i=1;i<N;i++)
if(i==k){printf("\n");k++;i=0;}
else printf("* ");
return 0;
}
不要用GOTO,這個語法已經被認為不該存在了.一個循環中用一個變數控制就可以了.
6. 用C語言顯示直角在左上方和右上方的直角三角形
#include "stdafx.h"
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
//int i,j,ln;
//printf("輸入三角形的層數:");
//scanf("%d",&ln);
//for(i=1;i<=ln;i++)
//{
// for(j=ln-i;j>=0;j--)//每一行輸出的星號遞減
// putchar('*');
// putchar('\n');
//}
int i,j,ln;
printf("輸入三角形的層數:");
scanf("%d",&ln);
for(i=1;i<=ln;i++)
{
for(int m=0;m<i-1;m++)
putchar(' '); //每一行靠右輸出,前面添空格
for(j=ln-i;j>=0;j--)//每一行輸出的星號遞減
putchar('*');
putchar('\n');
}
return 0;
}
注釋的是左上角輸出的,下面的是右上角輸出的,親測正確
不用學c,直接學c++。c中有用的東西c++都包括了,現在誰還用stdio.h啊
7. C語言FOR循環編寫三角形圖案代碼
寫好了,代碼如下:
#include<stdio.h>
main()
{
int n,i,j;
printf("Please enter n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
printf("* ");
}
printf("\n");
}
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("* ");
}
printf("\n");
}
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
printf(" ");
}
for(j=0;j<n-i;j++)
{
printf("* ");
}
printf("\n");
}
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
printf("* ");
}
printf("\n");
}
getch();
}
8. 用C語言循環嵌套語句編出一個三角形形狀
#include<stdio.h>
intmain()
{
inti,j,n=6;
//輸出第一行:n-1個空格和1個星號並換行
for(j=1;j<=n-1;++j)//輸出n-i個空格
printf("");
printf("* ");
//再輸出中間的n-2行
for(i=2;i<=n-1;++i)//一共要輸出n-2行
{
//輸出第i行
for(j=1;j<=n-i;++j)//輸出n-i個空格
printf("");
printf("*");//再輸出一個星號
for(j=1;j<=2*i-3;++j)//然後輸出2*i-3個空格
printf("");
printf("* ");//輸出一個星號後本行結束,換行
}
//輸出最後一行:2*n-1個星號
for(j=1;j<=2*n-1;++j)
printf("*");
printf(" ");
return0;
}
9. 用c語言for循環輸出三角形分布乘法口訣表,如圖
#include<stdio.h> int main(){ printf("1. 左下三角形:\n\n"); for (int i = 1; i <= 9; i++){ for (int j = 1; j <= i; j++){ printf("%dx%d=%-4d", i, j, i*j); } printf("\n"); } printf("\n\n2. 左上三角形:\n\n"); for (int i = 1; i <= 9; i++){ for (int j = i; j <= 9; j++){ printf("%dx%d=%-4d", i, j, i*j); } printf("\n"); } getchar(); return 0;}
10. c語言for循環列印下列三角形和菱形!!
main(){
int i,j,n;
scanf("%d",&n);/*輸入行數n*/
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++) putchar(32);/*每一行前面有n-i個空格*/
for (j=1;j<=i;j++) printf("%d",j);/*每一行的數字*/
for (j=i-1;j>=1;j--) printf("%d",j);/*每一行的數字,後面部分*/
printf("\n");
}
}
main(){
int i,j,n;
scanf("%d",&n);/*輸入行數n*/
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++) putchar(32);/*每一行前面有n-i個空格*/
for (j=1;j<=i;j++) printf("%d",j);/*每一行的數字*/
printf("\n");
}
for (i=n-1;i>=1;i--){
for (j=1;j<=n-i;j++) putchar(32);/*每一行前面有n-i個空格*/
for (j=1;j<=i;j++) printf("%d",j);/*每一行的數字*/
for (j=i-1;j>=1;j--) printf("%d",j);/*每一行的數字,後面部分*/
printf("\n");
}
}