码迷,mamicode.com
首页 > 编程语言 > 详细

C语言练习-printf打印图形

时间:2019-02-27 20:32:11      阅读:559      评论:0      收藏:0      [点我收藏+]

标签:add   char   efault   default   etc   pre   菱形   square   case   

利用printf函数打印出正方形,正三角,倒三角,平行四边形,菱形

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void PRINTF_square (int n);
void PRINTF_Etriangle (int n);
void PRINTF_Dtriangle (int n); 
void PRINTF_rhombus (int n);
void PRINTF_parallel (int n);

int main(int argc, char *argv[]) {

    int n=0,m=0;
    printf("请输入要绘制的图形编号: \n");
    printf("1-正方形:\n");
    printf("2-倒三角: \n");
    printf("3-正三角: \n");
    printf("4-四边形: \n");
    printf("5-菱  形: \n");
    A:scanf("%d",&m);
    if(m>5||m<1)
    {
        printf("输入错误 \n");
        goto A; 
    }
    printf("请输入列数: \n");
    scanf("%d",&n);
    switch(m)
    {
    case 1 : PRINTF_square(n);    break;
    case 2 : PRINTF_Etriangle(n); break;
    case 3 : PRINTF_Dtriangle(n); break;
    case 4 : PRINTF_parallel(n);  break;
    case 5 : PRINTF_rhombus(n);  break;
//  default : printf("输入错误 \n");
    }
    return 0;
}

void PRINTF_square (int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf(" *");
        }
        printf(" \n");
    }
}

void PRINTF_Etriangle (int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<i;j++)
            printf(" ");
            for(j=0;j<2*(n-i)-1;j++)
                printf("*");
        printf("\n");
    }
}

void PRINTF_Dtriangle (int n)
{
    int i,j;
    for(i=n;i>=0;i--)
    {
        for(j=0;j<i;j++)
            printf(" ");
            for(j=0;j<2*(n-i)-1;j++)
                printf("*");
        printf("\n");
    }
}

void PRINTF_rhombus (int n)
{
    int i,j,x;
    x=n/2;
    for(i=x;i>=0;i--)
    {
        for(j=0;j<i;j++)
            printf(" ");
            for(j=0;j<2*(x-i)-1;j++)
                printf("*");
        printf("\n");
    }
    for(i=0;i<x;i++)
    {
        for(j=0;j<i;j++)
            printf(" ");
            for(j=0;j<2*(x-i)-1;j++)
                printf("*");
        printf("\n");
    }
}

void PRINTF_parallel (int n)
{
    int i,j,x;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n-i-1;j++)
            printf(" ");
            for(j=0;j<n;j++)
                printf(" *");
        printf("\n");
    }
}

C语言练习-printf打印图形

标签:add   char   efault   default   etc   pre   菱形   square   case   

原文地址:https://www.cnblogs.com/nsss/p/10446319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!