首页 > 解决方案 > 左三角(),右三角(),帕斯卡三角()

问题描述

问:在单个 C 程序中编写三个不同的函数 Lefttriangle()、Righttriangle()、Pascaltriangle(),并按照用户的要求以交互方式显示三角形。

所以我试过这个。它正在打印选项,然后我输入一个选项,假设 1 然后它要求输入数字“n”。然后,我输入数字,假设 4 并按 Enter。但是它没有显示对应于 4 的左三角形。它再次打印选项。

#include<stdio.h>
#include<conio.h>
#include<math.h>

void pascaltriangle(int i,int j,int k,int n,int m)
{   

for(i=0;i<n;i++)
{
    for(k=1;k<=n-i;k++)
    {   
        printf("The Pascal triangle of numbers is as follows - \n");
        printf(" ");
    }
    for(j=0;j<=i;j++)
    {
        if(j==0||i==0)
        m=1;
        else
        m=m*(i-j+1)/j;
        printf(" %d",m);
    }
    printf("\n",m);
}

}

void lefttriangle(int i,int j,int n)
{
printf("Enter the value of n : ");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
    for(j=1;j<=i;j++)
        printf("The left triangle of numbers is as follows - \n");
        printf("%d",j);
    printf("\n");
}   
}

void righttriangle(int i,int j,int k,int n)
{
printf("Enter the value of n : ");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
    for(j=i;j<=n;j++)
    {
        printf("The right triangle of numbers is as follows - \n");
        printf(" ");
    }
    for(k=1;k<=i;k++)
    {
        printf("%d",k);
    }
    printf("\n");
}

}

int main()
{
int choice;
int i,j,k,n, m=1;
do
{
    printf("\nEnter the choice below.\n");
    printf("*************************\n");
    printf("1-> Left Traingle.\n");
    printf("2-> Right Triangle.\n");
    printf("3-> Pascal Triangle.\n");
    printf("*************************\n");
    scanf("%d",&choice);
    switch(choice)
    
    {
        case 1:
            printf("Enter the value of n : ");
            scanf("%d",&n);
            void lefttriangle( i,j, n);
            break;
            
        case 2:
            printf("Enter the value of n : ");
            scanf("%d",&n);
            void righttriangle(i,j,k,n);
            break;
            
        case 3:
            printf("Enter the value of n : ");
            scanf("%d",&n);
            void pascaltriangle(i, j, k, n, m);
            break;
        case 4:
            printf("Thank you!\n");
            exit(0);
        default:
            printf("Enter a valid number.\n");
    } 
    
}while(1);
return(0);

}

标签: cswitch-statementfunction-call

解决方案


在您的开关中,当4输入时,这种情况对应于:

printf("Thank you!\n");
exit(0);

只有当用户输入1时才会调用左三角函数。

此外,在调用这些函数时,不要将返回类型放在它们前面。您只有在声明和/或实施它们时才这样做。


推荐阅读