C言語のいくつかの例(九九乗算表、楊輝三角形、九宮アルゴリズム)

2781 ワード

例、九九乗算表
#include

int main()
{
  int i,j;
  for(i=1;i<=9;i++)
  {
for(j=1;j<=i;j++)
printf("%d*%d=%d ",j,i,i*j);
printf("
"); } return 0; }

実行結果:
1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

例二、等腰三角形を印刷する
#include

void printf_trangle(int n);
int main()
{
   int n;
  printf("input trangle lengh
"); scanf("%d",&n); printf_trangle(n); return 0; } void printf_trangle(int n) { int i,j; for(i=1;i<=n;i++) { for(j=0;j

実行結果:
input trangle lengh
10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

例3:九宮アルゴリズム(行,縦,対角線加算ともに15に等しく,数字は1~9を用い,繰り返すことができない)
#include

int check_if_ok(int *p)
{
	int i,j,temp[9],temp1[9];
	if(p[0]+p[1]+p[2]!=15)    
		return -1;
	if(p[3]+p[4]+p[5]!=15)   
		return -1;
	if(p[6]+p[7]+p[8]!=15)
		return -1;
	
	if(p[0]+p[3]+p[6]!=15)    
		return -1;
	if(p[1]+p[4]+p[7]!=15)   
		return -1;
	if(p[2]+p[5]+p[8]!=15)
		return -1;
	
	if(p[0]+p[4]+p[8]!=15)    
		return -1;
	if(p[2]+p[4]+p[6]!=15)   
		return -1;
	for(i=0;i<9;i++)
	{
		temp[i]=p[i];
		for(j=0;j<9;j++)
		{
			if(i==j)
				continue;
			temp1[j]=p[j];
			if(temp[i]==temp1[j])
				return -1;   /*                   */
		}
	}
	printf("%d  %d  %d 
",p[0],p[1],p[2]); printf("%d %d %d
",p[3],p[4],p[5]); printf("%d %d %d
",p[6],p[7],p[8]); printf("

"); return 0; } void main() { int a[9]={1,2,3,4,5,6,7,8,9}; int b[9]={0}; int i,j,k,m; for(j=1;j<10;j++) { b[0]=j; for(i=1;i<10;i++) { if(i==j) continue; b[1]=i; for(k=1;k<10;k++) { if((k==i)||(k==j)) continue; b[2]=k; for(m=1;m<10;m++) { if((m==i)||(m==j)||(m==k)) continue; b[3]=m; b[6]=15-b[0]-b[3]; b[4]=15-b[2]-b[6]; b[7]=15-b[1]-b[4]; b[5]=15-b[3]-b[4]; b[8]=15-b[2]-b[5]; check_if_ok(b); } } } } }

実行結果:
2  7  6 
9  5  1 
4  3  8 


2  9  4 
7  5  3 
6  1  8 


4  3  8 
9  5  1 
2  7  6 


4  9  2 
3  5  7 
8  1  6 


6  1  8 
7  5  3 
2  9  4 


6  7  2 
1  5  9 
8  3  4 


8  1  6 
3  5  7 
4  9  2 


8  3  4 
1  5  9 
6  7  2