A. c語言輸出三角形
#include <stdio.h>
void prt(char c, int n)
{
while(n > 0)
{
printf("%c",c);
n--;
}
}
void main(void)
{
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
prt(『』,n-1);
prt('*『,(2*i - 1));
printf("\n");
}
}
可以列印,運行時輸入數字,比如3,列印結果如下:
*
***
*****
B. 用c語言編寫程序,輸出三角
#include <stdlib.h>
int main()
{
int n,i,j;
scanf("%d",&n); //讀取三角形的行數
for(i=1;i<=n;i++) //外循環,控制行數
{
for(j=0;j<n-i;j++) //輸出第行前面的空格
printf(" ");
if(i>1) //第一行除外
{
printf("*"); //先打首個*
for(j=1;j<2*(i-1);j++) //若非最後一行則中間連續若干空格
if(i<n)printf(" ");
else printf("*"); //最後一行則中間也是*
}
printf("*\n"); //列印最後一個*,然後換行
}
system("pause"); //暫停程序,便於看清結果
return 0; //返回0值,表示正常運行結束
}
C. C語言輸出正三角形
/*********************
* FOR.C *
*********************/
#include <stdio.h>
main()
{
int a, b;
for(a = 1; a <= 5; a ++)
{
for(b = 1; b <= a; b ++)
printf("*");
printf("\n");
}
}
估計就是練嵌套for語句,哈哈
D. c語言編程,用函數調用輸出正三角星形
//簡單寫了一個,滿意請採納,不懂可追問。
#include<stdio.h>
void main()
{
int n,i,j,ls;
n=0;
ls = 7;
for(i=1;i<=ls;i++)
{
for(j=1;j<=ls-i;j++)
printf(" ");
for(;j<ls+i;j++)
printf("*");
printf("\n");
n=n+1;
}
}
E. 如何用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"); }}
F. 求救!用C語言編程:輸入一個數 用倒三角(正三角)圖形輸出 謝了!
給你一個輸出來是正的正三角行圖案:
/*輸出一個正的正三角行圖形*/
#include<stdio.h>
void main()
{ int i, j, x, n, count, k , m , q , p , v ;
scanf(「%d%d」,&n,&x);
count=1;k=10;
while(x-k>=0)
{count++;k*=10;}
/*count 的值表示輸入數字的位數*/ for(i=1;i<=n;i++)
{ for(m=1;m<=count*(n-i);m++)
putchar(『 『); /*輸出count*(n-i)個空格*/
for(j=1;j<=i;j++)
{ printf(「%d」,x);
/*第i行輸出i個數字*/
for(p=1;p<=count;p++)
Putchar(『 『); }
/*輸出一個數字後,接著輸出count個空格*/
for(q=1;q<=count;q++)
putchar(『\n』); } /*回車換行count 次*/ }
G. 在c語言中怎樣列印一個正三角形
你是問圖形模式還是文本模式?
文本模式:(需計算:80/(25*n)!=sqrt(3),因此文本模式下的正三角形不嚴格)
下面僅為一示意圖
#include<stdio.h>
int main()
{
printf(" * ")
printf(" * * ")
printf(" * * ")
printf("* * * * * * *")
return(0);
}
圖形模式下可畫的更嚴格:
思路是:先寫一個程序解出(640,480)*(640,480)中正三角形的整數解,再用畫線函數,畫出。
/*此代碼有問題,運行最後的那個程序*/
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define P(a,b,i,j) (pow((ai-aj),2)+pow((bi-bj),2))
int main()
{
int x1,y1,x2,y2,x3,y3;
for(x1=0,y1=0;x1<480;x1++)for(x2=479,y2=1,y2<480;y2++)for(x3=0,y3=479;y3>=0;y3--)if(P(x,y,1,2)==P(x,y,1,3)&&P(x,y,1,2)==P(x,y,2,3))printf("%6d%6d%6d%6d%6d%6d",x1,y1,x2,y2,x3,y3);
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc201e\\bgi");
cleardevice();
setbkcolor(9); setcolor(4);
line(x1,y1,x2,y2);line(x2,y2,x3,y3);line(x3,y3,x1,y1);
getch();
return(0);
}
調試過程中發現那段解三點的代碼有問題,其實那是一個很簡化的演算法,你可以自己用窮舉發解;
下面實我 注掉那段代碼後的完整程序,運行結果已較理想
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<graphics.h>
#define P(a,b,i,j) (pow((ai-aj),2)+pow((bi-bj),2))
int main()
{
int x1=219,y1=1,x2=531,y2=367,x3=0,y3=415;
/*
for(x1=0,y1=0;x1<480;x1++)for(x2=531,y2=1,y2<480;y2++)for(x3=0,y3=479;y3>=0;y3--)if(P(x,y,1,2)==P(x,y,1,3)&&P(x,y,1,2)==P(x,y,2,3)){printf("%6d%6d%6d%6d%6d%6d",x1,y1,x2,y2,x3,y3);break;}
getchar();getchar();
*/
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc201e\\bgi");
cleardevice();
setbkcolor(9); setcolor(4);
line(x1,y1,x2,y2);line(x2,y2,x3,y3);line(x3,y3,x1,y1);
getch();
return(0);
}
H. c語言問題:編製程序,輸出由「*」組成的正三角形的,邊長由程序輸入。例如n=4
LS仁兄至少應該把k=0和j=0放在for循環裡面吧。。。。都沒測試就拿出來。。。。
正三角形前面有空格吧。。。
#include <stdio.h>
void main()
{
int i,j,N;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
for(j=1;j<=N+i-1;j++)
if(j<=N-i)printf(" ");
else printf("*");//輸出*
printf("\n");//換行
}
}
如果前面沒有空格則代碼如下
#include <stdio.h>
void main()
{
int i,j,N;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
for(j=1;j<=2*i-1;j++)
printf("*");//輸出*
printf("\n");//換行
}
}
I. C語言程序輸出數字正三角
#include<stdio.h>
void PrintNumbers(int line)
{int i,j;
if(line<1){printf("輸入參數錯誤 "); return;}
for(i=1;i<=line;i++)
{for(j=0;j<line-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);
for(j-=2;j>0;j--)
printf("%d",j);
printf(" ");
}
}
int main()
{ int n;
scanf("%d",&n);
PrintNumbers(n);
return 0;
}