给我一个较复杂的C语言程序

给我一个较复杂的C语言程序,第1张

好,给你一个有趣的程序,下面程序的作用是,输入一个4位数,之后将这个数分解成4个数字,并将这4个数字组合成一个最大数和一个最小数,并将两者相减,结果作为新的4位数,重复前面的步骤,最后的结果是什么?自己测试一下。

#include <stdio.h>

void mysort(int *a, int size)

{

int i, j, k, t

for (i = 0i <size - 1++i)

{

k = i

for (j = ij <size++j)

{

if (a[k] >a[j])

k = j

}

if (k != i)

{

t = a[i]

a[i] = a[k]

a[k] = t

}

}

}

void main()

{

int num, a[4], max, min

do

{

scanf("%d", &num)/* 输入最初的4位数 */

} while (num <1000 || num >9999)

while (num)

{

/* 将4位数分解成4个独立的数字,并保存在a数组中 */

a[0] = num % 10

num /= 10

a[1] = num % 10

num /= 10

a[2] = num % 10

num /= 10

a[3] = num

/* 排序数组元素 */

mysort(a, 4)

/* 从数组的4个元素中产生最大数字和最小数字 */

max = a[3] * 1000 + a[2] * 100 + a[1] * 10 + a[0]

min = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3]

/* 产生新的4位数 */

num = max - min

printf("%d\n", num)

if (num == 6174)

break

}

printf("The magic number is: %d\n", num)

}

第一个问题:复杂的C程序可以破解吗?

简单地说在复杂的东西也是可以解开的,只是不同的程序,不同Level的人所需要的时间不一样。

第二个问题:复杂算法的程序怎么写的代码?

如果一点没接触算法,这肯定是很吃力的,这个问题也没有直接的回答。但是可以通过学习来提高自己的算法能力。

比如看一些初级的算法类的书,从简单到难慢慢提高。

一开始不要看复杂的是会打击自己的自信心,循序渐进的提高。

看过一些书后,可以自己尝试开始写代码,不会的也可以看看别人写的源码,网上也有很多开源的代码可以学习。

学习的起点不重要,还是得能坚持。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12014401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存