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);
}

もちろんメイン()にも入れます

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 に答える