c語言數字塔
main()
{
int h=10; /*定義塔高*/
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y2=-2; /*定義各個塔的中心坐標*/
float x,y,d1,d2,d3,d4; /*定義任意點的坐標和該點到各個塔中心的距離*/
printf(「input a point(x,y):」); /*提示輸入數據*/
scanf(「%f,%f」,&x,&y); /*輸入數據*/
d1=(x-x1)*(x-x1)+(y-y1)*(y-y1); /*任意點到第一個塔的距離*/
d2=(x-x2)*(x-x2)+(y+y2)*(y+y2); /*任意點到第二個塔的距離*/
d3=(x+x3)*(x+x3)+(y-y3)*(y-y3); /*任意點到第三個塔的距離*/
d4=(x+x4)*(x+x4)+(y+y4)*(y+y4); /*任意點到第四個塔的距離*/
if (d1>1 && d2>1 && d3>1 && d4>1) h=0;/*任意點如果不在塔上則該點高度為零,否則高度還是原值,即不變 */
printf(「the high of this point is:%d\n」,h); /*輸出結果*/
}
Ⅱ c語言有一個8層燈塔,每層所點燈數為上一層兩倍,共有765盞燈,求塔底燈數 (運用函數實現如遞歸函數)
#include"stdio.h"
intsum(intt,intn,ints)
{
//printf("%d,%d,%d ",t,n,s);
if(n>1)
{
returnsum(t/2,n-1,s+t);
}
else
{
if(s+t==765)
returnt;
else
if(t<765)
returnsum((t+1)*128,8,0);
else
return-1;
}
}
intmain()
{
intd;
d=sum(128,8,0);
if(d!=-1)
{
printf("底層的燈數為:%d ",d);
for(inti=1;i<=8;i++)
{
printf("第%d層:%d ",i,d);
d*=2;
}
printf("共765盞。 ");
}
else
printf("此情況不存在!");
}
你的程序只需改一句,也對:if(all>765) break;改為if(all>=765) break;
Ⅲ 如何用c語言編寫這個數字金字塔
#include
void main()
{
int i,j;
for (i=1;i<=3;++i) // 控制金字塔的層數,本例輸出3層,可以改變輸出任意層
{
for (j=1;j<=3-i;++j) // 控制金字塔每層前面輸出的空格數
printf(" ");
for (j=1;j<=2*i-1;++j) // 控制金字塔每層需要列印'*'的個數
printf("*");
printf("\n"); // 一層金字塔輸出完畢,換行繼續輸出下一層
}
}
Ⅳ c語言,編寫函數,輸出用*號組成五行金子塔圖形
程序主要分為2個部分,一個部分是輸出空格,一個部分是輸出星號。
具體過程如下:
#include<iostream>
usingnamespacestd;
voidprintBlank(intn)
{
for(inti=0;i<n;i++)
cout<<"";
}
voidprintStar(intn)
{
for(inti=0;i<n;i++)
cout<<"*";
}
intmain()
{
intN=5;
for(inti=1;i<=N;i++)
{
printBlank(N-i);
printStar(i);
cout<<endl;
}
return0;
}
結果如下:
Ⅳ C語言以下數字塔怎麼寫出來,求大神
#include<stdio.h>
intmain()
{
inti,j;
for(i=1;i<=6;i++)
{
for(j=0;j<i&&j<5;j++)
printf("%d",i+j);
printf(" ");
}
return0;
}