今天已经是c语言经典算法(四)了!随着算法深入,后来的部分算法会有一些技巧和经验,对于初学者有一定挑战,所有有什么问题可以直接评论,我会一一回复给大家。谢谢支持!

十六、按顺序插入数字

如今一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

下面是代码部分

c语言常用算法6种(C语言经典算法四)(1)

下面是测试结果

c语言常用算法6种(C语言经典算法四)(2)

十七、定义宏

#define SQ(x) (x)*(x)

main()

{

int temp1,temp2,number,end,i,j;

printf("请输入一个正整数:\n");

scanf("%d",&number);

printf("%d的平方是%d\n",number,SQ(number));

}

代码测试结果如下

c语言常用算法6种(C语言经典算法四)(3)

关于define的使用,我想说的一点是,#define语句结尾是没有分号的哦。像这种,#define SQ(x) (x)*(x) ;语句会编译报错的。而且这种错误非常难找的,血淋淋的教训啊。

十八、打印出杨辉三角形

杨辉三角是指如下规律数字,下面的数字恰好是它肩膀上的数字之和。

c语言常用算法6种(C语言经典算法四)(4)

代码如下

main()

{

int i,j;

int a[10][10];

printf("\n");

for(i=0;i<10;i )

{a[i][0]=1;

a[i][i]=1;

}

for(i=2;i<10;i )

for(j=1;j<i;j )

a[i][j]=a[i-1][j-1] a[i-1][j];

for(i=0;i<10;i )

{for(j=0;j<=i;j )

printf("%d\t",a[i][j]);

printf("\n");

}

}

程序运行结果如下

c语言常用算法6种(C语言经典算法四)(5)

十九、伪随机数生成器

伪随机数在游戏中有广泛的应用。比如某些游戏的装备强化,有一种算法就是利用伪随机原理。

我给大家举个例子,随机生成10个正整数,大小都在0到100之间。

代码如下:

main()

{

int i,a[10];

srand(time(NULL));

for(i=0;i<10;i )

a[i]=rand()0;

for(i=0;i<10;i )

printf("%d ",a[i]);

printf("\n");

}

运行两次结果分别是

c语言常用算法6种(C语言经典算法四)(6)

c语言常用算法6种(C语言经典算法四)(7)

可以看到两次结果都是不一样的,因为随机算法几乎不可能两次结果都一样。

今天的经典算法就给大家介绍到这里,了解更多关于C语言/C 教程、各种电脑技术教程,请点击订阅按钮,或者关注微信公众号 Yifan-wangluo,谢谢亲的支持哦!

,