❶ 求助,簡單c語言編程。小弟編的空心梯形最後一行也是空的,怎麼改成最後一行是沒間隔的
根據你的寫法修改,if條件里再加一個(i==n&&i<j) 列印最後一行
#include <stdio.h>
main()
{int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=3*n-1-i;j++)
if(j==i||j==3*n-i-1||i==1||(i==n&&i<j)) printf("*"); // 加個
else printf(" ");
printf("\n");
}
}
❷ C語言關於空心字母等腰梯形輸出問題。
最後一行改下就好了啊。
printf("%c ",c+i*2);
另外,你可以把所有關於輸出字元的地方都改下,變成你的那個(整體)%26,這樣就能循環輸出字母了。
❸ c語言列印空心梯形
空心就是列印空格,假設列印10層。
main()
{int i,j;
for(i=1;i<=10;i++)
for(j=1;j<=i+1;j++)
{printf("*");
if(j<i+1)printf(" ");
if(j==i+1){printf("*");
printf("/n");}
}
}
❹ c語言,輸入n,列印底和高均為n的等腰空心梯形
兩個老程序希望對你有幫助,跟你的要求不是完全一樣自己修改下
輸入n,列印高和上底均為n的等腰空心梯形
#include <stdio.h>
main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
printf("*");
printf("\n");
for(i=2;i<=n-1;i++)
{
printf("*");
for(j=1;j<=n+i-3;j++)
printf(" ");
printf("*\n");
}
for(j=0;j<n+i-1;j++)
printf("*");
printf("\n");
}
輸入n,列印高和上底均為n的等腰空心梯形。
#include <stdio.h>
main()
{
int i,j,k,n;
scanf("%d",&n);
for(k=n-1;k>0;k--)
printf(" ");
for(i=1;i<=n;i++)
printf("*");
printf("\n");
for(k=0;k<n-2;k++)
{
for(i=n-1;i>k+1;i--)
printf(" ");
printf("*");
for(i=0;i<=n+k*2-1;i++)
{
printf(" ");
}
printf("*\n");
}
for(j=0;j<2*n+k;j++)
printf("*");
printf("\n");
}
❺ 用C語言輸出一個上底為4,下底為12的空心梯形。圖形如下:
C語言程序:
#include<stdio.h>
voidmain()
{
intw1,w2,d;
inti,j;
printf("上底,下底(以空格分開):");
scanf("%d%d",&w1,&w2);
if(w2<w1||(w2-w1)%2==1)
{
printf("無法繪制空心梯形");
return;
}
d=(w2-w1)/2;
for(i=0;i<d;i++)
printf("");
for(i=0;i<w1;i++)
printf("*");
printf(" ");
for(i=0;i<d-1;i++)
{
for(j=0;j<d-1-i;j++)
printf("");
printf("*");
for(j=0;j<w1+2*i;j++)
printf("");
printf("*");
printf(" ");
}
for(i=0;i<w2;i++)
printf("*");
printf(" ");
}
運行測試:
❻ C語言編程:列印空心數字菱形,求救啊,搞了半天還是搞不出來
#include<stdio.h>
int main()
{
int i,j,k,line,m;
printf("請輸入一個數字:");
scanf("%d",&line);
m=(line+1)/2;
for(i=1;i<=m;i++)
{
for(k=0;k<m-i;k++)
{
printf(" ");
}
printf("%d",i);
if(i==1){printf("\n");continue;}
for(j=0;j<2*i-3;j++)
{
printf(" ");
}
printf("%d",i);
printf("\n");
}
for(i=m-1;i>0;i--)
{
for(k=0;k<m-i;k++)
{
printf(" ");
}
printf("%d",i);
if(i==1){printf("\n");continue;}
for(j=0;j<2*i-3;j++)
{
printf(" ");
}
printf("%d",i);
printf("\n");
}
return 0;
}
僅供參考
❼ c語言空心數字六邊形
話不多說直接上代碼,這是實心的六邊形,要輸出。我用的啊哈c有system("pause");如果你不是最好刪了那個
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
if(n%2==0)
{
for(i=1;i<=n/2;i++)
{
for(j=1;j<=n/2-i;j++)
printf(" ");
for(j=1;j<=n/2+i*2-2;j++)
printf("* ");
printf("\n");
}
for(i=1;i<=n/2;i++)
{
for(j=1;j<=i-1;j++)
printf(" ");
for(j=1;j<=n/2+2*(n/2-i);j++)
printf("* ");
printf("\n");
}
}
else
{
for(i=1;i<=n/2+1;i++)
{
for(j=1;j<=n/2+1-i;j++)
printf(" ");
for(j=1;j<=n/2+1+i*2-2;j++)
printf("* ");
printf("\n");
}
for(i=1;i<=n/2;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(j=1;j<=(n/2)+1+((n/2)-i)*2;j++)
printf("* ");
printf("\n");
}
}
system("pause");
return 0;
}
❽ 列印空心梯形的詳細思路 c語言
以第一點建立直角坐標系,確定梯形四條邊的直線方程以及定義域,使用for循環列印,其中條件為滿足方程得點
❾ C 語言 空心梯形 輸入行數 n 值和首數字字元,在屏幕上輸出由數字圍起的高和下底寬度均 n 的空心梯形。
#include"stdio.h"
/*畫rows行首數字為start的實心梯形*/
voiddrawHollowEchelon(introws,intstart)
{
inti,j,k;
intvalue;
/*輸出上底*/
for(i=0;i<=(3*rows-3)/2;i++)
printf("%d",(start+i)%10);
for(i=0;i<=(3*rows-4)/2;i++)
printf("%d",(start+(3*rows-3)/2+(rows%2==0?0:-1)-i+10)%10);
printf(" ");
for(i=0;i<rows-2;i++)
{
for(j=0;j<=i;j++)
printf("%c",'');
printf("%d",(start+i+1)%10);
for(j=0;j<3*rows-2*i-6;j++)
printf("%c",'');
printf("%d ",(start+i+1)%10);
}
/*輸出下底*/
for(i=0;i<rows-1;i++)
printf("%c",'');
for(i=0;i<(rows+1)/2;i++)
printf("%d",(start+rows-1+i)%10);
for(i=0;i<rows/2;i++)
/*printf("%d",(start+(3*rows-3)/2-i+10)%10);*/
printf("%d",(start+(3*rows-3)/2+(rows%2==0?0:-1)-i+10)%10);
printf(" ");
}
voidmain()
{
introws;/*[1,24],超過24行時一屏無法全部顯示*/
intstart;/*[0,9]*/
do
{
printf("inputrowsandstartfigure(suchas55):");
scanf("%d%d",&rows,&start);
}while(rows<0||rows>24||start<0||start>9);
drawHollowEchelon(rows,start);
}
輸出結果: