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;
}