weixin_31090855 2015-09-30 05:41 采纳率: 28.6%
浏览 1343

c语言新手 求帮助 谢谢大神

Asterisk printing1
• Write a program that outputs a triangle with a '*' character
• Input the Height repeatedly using the While statement
• Output a '*' character using the For statement

  • 写回答

1条回答 默认 最新

  • qq1223386926 2015-09-30 08:29
    关注
    #include <stdio.h>
    #include <stdlib.h>
    
    /* print rectangular triangle */
    int print_rec_triangle( int iHeight );
    /* print equicrural triangle */
    int print_equ_triangle( int iHeight );
    int print_equ_triangle_r( int iHeight );
    
    int
    main( void )
    {
            int iHeight = 0;
    
            do
            {
                    printf( "please input the triangle height you want: " );
                    scanf( "%d", &iHeight );
                    if( iHeight > 0 )
                    {
                            printf( "\nrectangular triangle:\n" );
                            print_rec_triangle( iHeight );
                            printf( "\nequicrural triangle:\n" );
                            print_equ_triangle( iHeight );
                            printf( "\nequicrural triangle reverse:\n" );
                            print_equ_triangle_r( iHeight );
                    }
                    putchar( '\n' );
            }while( iHeight > 0 );
    
            return 0;
    }
    
    static int
    print_blank( int iBlank )
    {
            int i = 0;
            for( i = 0; i < iBlank; i++ )
            {
                    putchar( ' ' );
            }
            return 0;
    }
    
    
    int
    print_rec_triangle( int iHeight )
    {
            int i = 0;
            int j = 0;
            for( i = 0; i < iHeight; i++ )
            {
                    for( j = 0; j <= i; j++ )
                    {
                                putchar( '*' );
                    }
                    putchar( '\n' );
            }
    
            return 0; 
    }
    
    int
    print_equ_triangle( int iHeight )
    {
            int iBlank = iHeight - 1;
            int i = 0;
            int j = 0;
    
            for( i = 1; i <= iHeight; i++ )
            {
                    print_blank( iBlank ); 
                    for( j = 1; j <= 2 * i - 1; j++ )
                    {
                            putchar( '*' );
                    }
                    putchar( '\n' );
                    iBlank--;
            }
            return 0;
    }
    
    int
    print_equ_triangle_r( int iHeight )
    {
            int iBlank = 0;
            int i = 0;
            int j = 0;
    
            for( i = iHeight; i >= 1; i-- )
            {
                    print_blank( iBlank ); 
                    for( j = 1; j <= 2 * i - 1; j++ )
                    {
                            putchar( '*' );
                    }
                    putchar( '\n' );
                    iBlank++;
            }
            return 0;
    }
    

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)