经典c语言编程题

第一题:

经典c语言编程题_第1张图片

 

思路:这个题和我上一篇的那个哥德巴赫猜想思路极为相似,只不过说这里问的是多少对不同的素数和,所以在这里你定义变量n,然后遍历n的时候还是有讲究,比如说如果是10,分解为素数有3和7,然后5和5.但是如果你遍历到n-1的话,他会把7和3,也算作一对记进去。所以这里遍历你只需遍历到n/2就行,这样就避免了重复

经典c语言编程题_第2张图片

第二题:

经典c语言编程题_第3张图片

思路:要求m到n之间的水仙花数,不难想到用for遍历之间的数,然后符合条件的打印,非常顺畅。关键是判断是水仙花数,这边用一个函数来实现,就是判断各个数位上数的立方之和恰好等于这个数本身。所以你得把这个数上的每一位给提取出来,你自然想到把他放数组里面,然后让下标自增。最后遍历数组求和,用到一个pow的库函数,头文件为#include

经典c语言编程题_第4张图片

第三题:

经典c语言编程题_第5张图片

 

思路:其实这道题本可以不上,但是考虑还是比较经典。和打印三角形矩阵相似,都是考察循环的应用。然后注意数据对齐的格式,-3d表示左对齐数字的宽度为3,如果打印的宽度小于3,左边补空格。然后注意循环的判断条件,先从行开始然后就是列数,列数是会变化的。

经典c语言编程题_第6张图片

 

第四题:

经典c语言编程题_第7张图片

思路:这道题比之前的isbn码和彩票抽奖水多了,直接定义数组存放24小时的心情指数,非法就跳出,注意换行。

经典c语言编程题_第8张图片

第五题:

经典c语言编程题_第9张图片

 

思路:这道题的关键还是要读懂题意,mod=Ai%Aj,并且(Ai>=Aj)注意Ai%Aj的余数绝对不会比b大。而且还要注意Aj!=0。所以你定义完数组后,就要开始排序,然后循环判断,注意Aj是变化的。

经典c语言编程题_第10张图片

第六题:

经典c语言编程题_第11张图片

思路:这个题关键是读懂题意,题目要求的是坑种上了萝卜又填埋回去的。所以开始定义数组元素种好的全部为0,然后开始循环埋了的变成1,注意关键是arr[i]可能为0也可能为1,因为遍历的过程中不同数之间有重叠部分,比方说第二只兔子把18号坑的萝卜埋了,然后第三只兔子又把18号坑给种上了。所以计数埋上的个数,就是不知道为什么同样一种做法,用c就是在pta过不去,用c++却是满分,接下来我把c++和c的两种代码都给大家介绍,我那天整明白了再来修改。

c++

经典c语言编程题_第12张图片

c语言:

经典c语言编程题_第13张图片

第七题:

经典c语言编程题_第14张图片

思路:这题看似抽象,其实明白题意就好做了,你要求今天是星期几,你可以先求出从公元第一天到昨天一共有多少天,然后再加上今天,一共得到的天数再来%7,得到的余数就是今天的星期。

经典c语言编程题_第15张图片

 

 

 

你可能感兴趣的:(c语言,算法,笔记,经验分享)