C 语言 空心梯形 输入行数 n 值和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形。

供稿:hz-xin.com     日期:2025-01-13
C 语言 空心梯形 输入行数 n 值和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形。

可加Q群:122949029或27896931

既然是梯形,那下底呢O__O "…

#include "stdio.h"

/* 画rows行首数字为start的实心梯形 */

void drawHollowEchelon(int rows, int start)

{

    int i, j, k;

    int value;

    

    /* 输出上底 */

    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("
");

}

void main()

{

    int rows;  /* [1, 24], 超过24行时一屏无法全部显示 */

    int start;  /* [0, 9] */

    do

    {

        printf("input rows and start figure (such as 5 5) : ");

        scanf("%d%d", &rows, &start);

    }while(rows<0 || rows>24 || start<0 || start>9);

    drawHollowEchelon(rows, start);

}

输出结果:



#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");
}

C 语言 空心梯形 输入行数 n 值和首数字字符,在屏幕上输出由数字围起...
printf("%d", (start+(3*rows-3)\/2+(rows%2==0?0:-1)-i+10)%10);printf("\\n");} void main(){ int rows; \/* [1, 24], 超过24行时一屏无法全部显示 *\/ int start; \/* [0, 9] *\/ do { printf("input rows and start figure (such as 5 5) : ");scanf("%d%...

输入n,打印高和上底均为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("*");...

c语言打印空心梯形
空心就是打印空格,假设打印10层。main(){int i,j;for(i=1;i<=10;i++)for(j=1;j<=i+1;j++){printf("*");if(j

求和运算 C语言程序设计 sum=1+(1+2)+(1+2+3)+...+(1+2+3+...+n...
printf("请输入n的值:");scanf("%ld",%n);for(i=2;i<=n;i++)sum+=(1+i)*i\/2;printf("sum=%ld",sum);getch();} 这里用到了梯形面积公式1+2+3+4+...+n=(1+n)*n\/2