① 在c語言中怎麼設計出一個右對齊的三角形
分析:題目要求輸入一個表示三角形行數的整數,並以*號列印出該三角形,其形狀是右邊對齊的,如果行號錯誤,則提示錯誤信息。為了能方便多次使用(調用)代碼,可以編一個函數來實現(下例中的void PrintfRightTriangle(int n))。下面是在手機上使用易歷知食軟體內部的微C程序設計來編程實現的一個示例,手機上的代碼如下兩圖:
#include<stdio.h>
//用*顯示三角形,n是三角形行數,右邊對齊
voidPrintfRightTriangle(intn);
intmain(void)
{
intn=4;
PrintfRightTriangle(n);
n=3;
PrintfRightTriangle(n);
n=0;
PrintfRightTriangle(n);
n=10;
PrintfRightTriangle(n);
return0;
}
voidPrintfRightTriangle(intn)
{
inti,j;
if(n<1)
{
printf("
輸入行數錯誤(行數為%d)
",n);
return;
}
printf("三角形行數是 %d
",n);
for(i=0;i<n;i++)
{
for(j=1;j<(n-i)*2-1;j++)
{
printf("");
}
for(j=1;j<(i+1)*2;j++)
{
printf("*");
}
printf("
");
}
}
② C語言*做個三角形
void main(){
int n,i,j,k;
char c=' ';
printf("please input an int number:\n");
scanf("%d",&n);//輸入的值會賦給n,這里用&n
for(i=1;i<=n;i++){
for(j=1;j<=i;j++) //j<=i 第i行輸出i個,不能用j<=n,那樣每一行輸出的*個數
//相同,如果這里換成是 for(j=i;j<=n;j++)則可以輸出倒三角
printf("*");
printf("\n");
}
}
③ 用C語言編寫楊輝三角形
楊輝三角形是形如
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
的三角形,其實質是二項式(a+b)的n次方展開後各項的系數排成的三角形,它的特點是左右兩邊全是1,從第二行起,中間的每一個數是上一行里相鄰兩個數之和。這個題目常用於程序設計的練習。
下面給出六種不同的解法。
解法一
#include
main()
{
int
i,j,n=0,a[17][17]={0};
while(n<1
||
n>16)
{
printf("請輸入楊輝三角形的行數:");
scanf("%d",&n);
}
for(i=0;i
評論
0
0
0
載入更多
④ C語言基礎問題,畫三角形
你描述的輸入不清,我調整了一下。
其實最重要是分解程序編程一個一個操作。
首先要有個畫板,
然後程序能畫線,
最後對三角形填充。
就是這么簡單,三種操作。
先來個短的代碼:
#include<stdio.h>
#include<math.h>
#include<string.h>
usingnamespacestd;
constintbsize=64;//最大畫板大小
constdoubleeps=1e-6;//精度控制
charboard[bsize][bsize];//畫板
intbw,bh;//畫板寬高
intmain()
{
voidprintBoard();//輸出畫板內容
intiw,ih;
doublex[3],y[3];
doublev0x,v0y,v1x,v1y,v2x,v2y;
doubled00,d01,d11,d20,d21,denom,v,u,w;
scanf("%d%d",&ih,&iw);
bw=iw+2;//你邊緣多出了邊框,所以+2
bh=ih+2;
scanf("%lf%lf%lf%lf%lf%lf",x,y,x+1,y+1,x+2,y+2);
//清空畫板
for(inti=0;i<bh;i++)
for(intj=0;j<bw;j++)
board[i][j]='';
//利用質心坐標求值
v0x=x[1]-x[0],v0y=y[1]-y[0];
v1x=x[2]-x[0],v1y=y[2]-y[0];
for(inti=0;i<bh;i++)
for(intj=0;j<bw;j++)
{
v2x=i-x[0],v2y=j-y[0];
d00=v0x*v0x+v0y*v0y;
d01=v0x*v1x+v0y*v1y;
d11=v1x*v1x+v1y*v1y;
d20=v2x*v0x+v2y*v0y;
d21=v2x*v1x+v2y*v1y;
denom=d00*d11-d01*d01;
v=(d11*d20-d01*d21)/denom;
u=(d00*d21-d01*d20)/denom;
w=1-u-v;
if(0<=v&&v<=1&&0<=u&&u<=1&&0<=w&&w<=1)
board[bh-1-i][j]='*';
}
//畫邊框
for(inti=0;i<bw;i++)
{
board[0][i]='-';
board[bh-1][i]='-';
}
for(inti=0;i<bh;i++)
{
board[i][0]='|';
board[i][bw-1]='|';
}
board[0][0]=board[bh-1][0]=board[0][bw-1]=board[bh-1][bw-1]='+';
printBoard();
return0;
}
voidprintBoard()
{
inti,j;
for(j=0;j<bh;j++)
{
for(i=0;i<bw;i++)
putc(board[j][i],stdout);
putc(' ',stdout);
}
}
就是枚舉三角形點來畫的。
運行效果:
⑤ 用C語言做個三角形
#include<stdio.h>
main(){
int n,i,j;
while(scanf("%d",&n)&&n!=0){/*輸入n行數,n=0退出*/
for(i=0; i<n; i++){//列數循環
for(j=0; j<i; j++)//行數循環
printf("%d ",j+1);//輸出數字
printf("\n");//換行
}
}
}
⑥ C語言設計等腰三角形
定義一個char型變數ch並初始化為字元A;用一個雙重flt循環,外循環負責控制層數(這里假設10層)和每行應在屏幕的什麼位置形如列印字元,內循環負責每行的列印個數;每輸出一行將ch增1,就能達到題目要求。舉例代碼如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
charch,i,j,k;
for(ch='A',i=0;i<10;i++){
printf("%*.*s",48-i*2,1,"");//把游標移到合適地方
for(k=(i<<1)+1,j=0;j<k;j++)
printf("%c",ch);
ch++;//字元值增1變為下一個字元
putchar(' ');
}
return0;
}
⑦ c語言編寫三角形
#include<stdio.h>
int main()
{
int n,i,j,k,line;
printf("請輸入菱形的邊長(奇數):");
scanf("%d",&n);
line = (n+1)/2;
for(i=1;i<=line;i++)
{
for(j=0;j<line-i;j++)printf(" ");
for(k=0;k<2*i-1;k++) printf("*");
printf("\n");
}
for(i=line-1;i>0;i--)
{
for(j=0;j<line-i;j++)printf(" ");
for(k=0;k<2*i-1;k++) printf("*");
printf("\n");
}
return 0;
}
⑧ 求助:c語言中的三角形問題。。
#include <stdio.h>
main()
{
int t,n,i,j,k,l,temp,a[10000][2];float s=0;scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d",&n);s=0;
for(j=0;j<n;j++) scanf("%d %d",&a[j][0],&a[j][1]);
for(j=0;j<n;j++)
{for(k=0;k<n;k++)
{if(k==j) continue;
for(l=0;l<n;l++){if(l==k||l==j) continue;
temp=(a[k][0]-a[j][0])*(a[l][1]-a[j][1])-(a[k][1]-a[j][1])*(a[l][0]-a[j][0]);
if(s<temp) s=temp;
}}}
printf("%.1f\n",s/2);
}
}
⑨ 怎麼用C語言設計一程序判別三角形
1、不能執行,是因為有多個語句後面沒有分號「;」。
2、條件表達式,有數學式子習慣,可能結果與你想要的不相符。式子的連等號結果,不一定是數學式子的連等號。
如if(a=b=c)如果a=b=c且不等於1時,根據 = 運算符的 右結合優先順序
相當於a=(b=c),因為b=c為真,所以表達式相當於a=1,結果為假,不執行後續if的語句。而實際應該執行。
應該改為if((a=b) && (b=c))
⑩ C語言中怎麼寫楊輝三角啊
楊輝三角,又稱賈憲三角形,帕斯卡三角形,是二項式系數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。
這是楊輝三角:
代碼如下:
#include <stdio.h>
#include <stdlib.h>
const int length = 10; // 定義楊輝三角的大小
int main(void)
{
int nums[length][length];
int i, j;
/*計算楊輝三角*/
for(i=0; i<length; i++)
{
nums[i][0] = 1;
nums[i][i] = 1;
for(j=1; j<i; j++)
nums[i][j] = nums[i-1][j-1] + nums[i-1][j];
}
/*列印輸出*/
for(i=0; i<length; i++)
{
for(j=0; j<length-i-1; j++)
printf(" ");
for(j=0; j<=i; j++)
printf("%-5d ", nums[i][j]);
putchar('
');
}
getchar();// 暫停
return EXIT_SUCCESS;
}