❶ 求助,简单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);
}
输出结果: