⑴ 星號三角形(c語言)
優化了你的程序,你理解一下
#include <stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
//for(i=0;i<n-1;i++) 少一行
for(i=0;i<n;i++)
{
//for(j=0;j<2*n-2;j++) //少一行
for(j=0;j<2*n-1;j++)
{
//if((j>=2*n-2-2*i)&&(j<=2*n-2)) //少一列 j<=2*n-2沒用,for循環就控制了J
if( j>2*n-2-2*i-1 )
{
if(j%2!=0)
{
printf(" ");
}
else
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
system("pause");
return 0;
}
⑵ c語言輸出三角形星號可以直接打空格嗎
編寫一個程序輸出一個由n行星號「*」構成的三角形。
Input
輸入只有一行,即由星號構成的三角形的數n。編寫一個程序輸出一個由n行星號「*」構成的三角形。
Input
輸入只有一行,即由星號構成的三角形的行數n。
Output
輸出由星號構成的n行三角形,同一行中每兩個星號之間用空格分開,形狀
Output
輸出由星號構成的n行三角形,同一行中每兩個星號之間用空格分開,形狀
⑶ C語言:用星號※輸出正的等腰三角形
#incude<stdio.h>
void main() { int i,j,n;
scanf("%d",&n);
for ( i=0;i<n;i++ ) {
for ( j=0;j<n-i-1;j++ ) printf(" ");
for ( j=0;j<i*2+1;j++ ) printf("*");
printf(" ");
}
}
⑷ C語言用星號輸出三角形
#include "stdio.h"
int main(void)
{
int i, j, k;
for (i = 1; i <= 4; i++)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 4 - i; j >= 1; j--)
printf(" ");
printf("\n");
}//左對齊
printf("左對齊\n");
for (i = 3; i >= 0; i--)
{
for (k = i; k >= 1; k--)
printf(" ");
for (j = 1; j <= 4 - i; j++)
printf("*");
printf("\n");
}//右對齊
printf("右對齊\n");
for (i = 4; i >= 1; i--)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 0; j <= 3; j++)
printf(" ");
printf("\n");
}//倒左對齊
printf("倒左對齊\n");
for (i = 4; i >= 1; i--)
{
for (k = 4 - i; k >= 1; k--)
printf(" ");
for (j = i; j >= 1; j--)
printf("*");
printf("\n");
}//倒右對齊
printf("倒右對齊\n");
return 1;
}
⑸ c語言如何輸出星號三角形*****
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File
⑹ 求解c語言輸出星號三角陣(如下圖)****************************還有反過來的
第一種,靠左正三角
#include <stdio.h>
int main ()
{
int i, j;
for(i=0; i<7; i++){
for(j=0; j<i+1; j++){
if(j<=i)
printf("*");
}
printf("\n");
}
return 0;
}
第二種,靠左倒三角
#include <stdio.h>
int main ()
{
int i, j;
for(i=0; i<7; i++){
for(j=7; j>i; j--){
if(j>=i)
printf("*");
}
printf("\n");
}
return 0;
}
第三種,靠右正三角
#include <stdio.h>
int main ()
{
int i, j;
for(i=0; i<7; i++){
for(j=0; j<=7; j++){
if(j<7-i)
printf(" ");
else
printf("*");
}
printf("\n");
}
return 0;
}
第四種,靠右倒三角
#include <stdio.h>
int main ()
{
int i, j;
for(i=0; i<7; i++){
for(j=0; j<7; j++){
if(j<i)
printf(" ");
else
printf("*");
}
printf("\n");
}
return 0;
}
⑺ c語言輸出星號三角形
#include <stdio.h>
int main()
{
for (int i = 0; i < 5; i++){
for (int j = 0; j <= i; j++){
printf("*");
}
printf(" ");
}
return 0;
}
(7)c語言星號輸出正三角擴展閱讀
C語言輸出倒三角
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("*");
printf(" ");
}
或
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
printf(" ");
for(j=n-i-1;j<n;j++)
printf("*");
printf(" ");
}
⑻ C++輸出星號(*)正三角形
這太難了,正三角形要求高是底邊的根號3倍,所以打不出正三角形,只能近似做。
把根號3近似成1.732,高是1732,底邊長1000,兩者都除以他們的最大公約數,高為433,底邊長250。(x,y)-x是行號,y是列號,你可以在(433,0),(433,250),(0,125)三個地方打三個星號,出來的近似是正三角形
⑼ 在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);
}
⑽ 用C語言列印一個用星號組成的三角形
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
不知道問題的顯示是否去掉了多餘的空格,下面附上另一種形式的(帶空格)
int i,j,k,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(k=i;k<n/2;k++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}