用星号替换Pascal三角形中的每个偶数?

时间:2014-02-24 21:26:23

标签: c pascals-triangle

我正在尝试用星号(*)替换Pascal三角形中的每个偶数。到目前为止,我的代码看起来像这样:

#include<stdio.h>
#include<stdlib.h>
long calc( int );
int main()
{
 int i,j,row,pas;
 printf("Enter no. of rows in pascal triangle : ");
 scanf("%d", &row);
 for(i=0; i<row; i++)
 {
   for(j=0; j<=(row-i-1); j++)
     printf(" ");
   for(j=0; j<=i; j++)
   {
     pas=calc(i)/(calc(j)*calc(i-j));
     printf("%ld ",pas); 
   }
   printf("\n");
 }
 system("pause");
 return 0;
}

long calc( int num)
{
 int x;
 long res=1;
 for(x=1; x<=num; x++)
   res=res*x;
 return (res);
}

我需要插入这段代码(也许?)

if (i%2==0)
{
    i = asterisk;
    printf("%c", asterisk);
}

当然我会放入main()

char asterisk = 42;

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

https://ideone.com/qIN4Sf

#include<stdio.h>
#include<stdlib.h>
char asterisk = 42;
long calc( int );
int main()
{
 int i,j,row,pas;
 printf("Enter no. of rows in pascal triangle : ");
 scanf("%d", &row);
 printf("\n");
 for(i=0; i<row; i++)
 {
   for(j=0; j<=(row-i-1); j++)
     printf(" ");
   for(j=0; j<=i; j++)
   {
     pas=calc(i)/(calc(j)*calc(i-j));
     if (pas%2==0)
        printf("%c ", asterisk);
     else
        printf("%ld ",pas); 
   }
   printf("\n");
 }
 system("pause");
 return 0;
}

long calc( int num)
{
 int x;
 long res=1;
 for(x=1; x<=num; x++)
   res=res*x;
 return (res);
}