当前位置:首页 » 编程语言 » c语言三角形怎么设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言三角形怎么设计

发布时间: 2022-07-11 14:48:32

① 在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;

}