C语言九九乘法表算法思想,C语言一些例子(九九乘法表,杨辉三角形,九宫算法)...

例子、九九乘法表

#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("\n");

}

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\n");

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

printf(" ");

for(j=0;j<2*i-1;j++)

printf("*");

printf("\n");

}

}

运行结果:

input trangle lengh

10

*

***

*****

*******

*********

***********

*************

***************

*****************

*******************

例子三:九宫算法(行,竖,对角线相加都等于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 \n",p[0],p[1],p[2]);

printf("%d %d %d \n",p[3],p[4],p[5]);

printf("%d %d %d \n",p[6],p[7],p[8]);

printf("\n\n");

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值