0

我正在尝试用星号 (*) 替换帕斯卡三角形中的每个偶数。到目前为止,我的代码如下所示:

#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;

有谁能够帮我?

4

1 回答 1

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);
}
于 2014-02-24T21:34:02.943 回答