C语言I博客作业05

||
-|-|
这个作业属于那个课程|C语言程序设计II
这个作业要求在哪里|作业要求
我在这个课程的目标是|会使用c语言进行编程序
这个作业在那个具体方面帮助我实现目标|写PTA作业,帮助自己进行总结
参考文献|C语言输入一个任意数求各位数的和

1.PTA实验作业

1.1 水仙花数判断

本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.

  • 函数接口定义:
int func(const int N);

其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。

  • 输入样例:
153
  • 输出样例:
1

1.1.1数据处理

数据表达:定义sum,x为整型变量,sum是用sum += (x % 10) * (x % 10) * (x % 10)计算每个数立方的和,由于N不可变,就把值赋给了x

数据处理

函数参数:主调函数的名称main,被调函数的名称func,被调函数的类型为整型,形参N。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
153 1 素数
100 0 不是素数
0 1 代码条件不够充分

1.1.4 PTA提交列表及说明

1.运行超时:被调函数进入了死循环,把循环定义成了N,N一直不变循环就一直进行下去,把N改成x

1.2 使用函数验证哥德巴赫猜

本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。

函数接口定义:

int prime( int p );
void Goldbach( int n );

其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24可以分解为5+19,还可以分解为7+17),要求必须输出所有解中p最小的解。
输入样例:

89 100

输出样例:

89 is a prime number
90=7+83, 92=3+89, 94=5+89, 96=7+89, 98=19+79
100=3+97, 

1.2.1数据处理

数据表达:函数prime定义变量,i为整型,函数Goldbach定义p,s为整型。
数据处理

函数参数:主调函数main,被调函数primeGoldbach,被调函数prime为整型,定义的形参,被调函数Goldbach为空,定义的形参。

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
89 100 89 is a prime number 89是素数
0 0 直接结束

1.2.4 PTA提交列表及说明

1.部分正确:函数Goldbach循环条件不正确,while的条件我是写的p-q,后面改成prime(s) != 1 || prime(p) != 1。
2.部分正确:函数prime条件没有满足素数的要求,没有考虑1不是素数和2,3是素数。
3.部分正确:函数prime条件没有考虑小于0.

2.代码互评

同学代码截图

自己代码截图

  • 1.他是把一个数的各位都先求出来,再求值,我是利用循环求余一次循环求一个值的3次方。
  • 2.他用了函数pow,我是直接一个是成了3个。
  • 3.我是用循环求的,要改4位数5位数比较简单,他的想改就的重写。
  • 4.他定义i为返回的值,我是直接判断是素数直接返回1,不是就返回2。

同学代码截图

自己代码截图

  • 1.函数Goldbach我用的是while循环,他用的是for循环,他是先判断p是不是素数,在判断q,我是直接用了||直接用一个判断条件写出来。
  • 2.函数prime要的条件是一样的,但我写的没他的简便。
  • 3.他的函数prime简便,我的函数Goldbach简便,我们要学习各自的优点。

3.学习总结

1.3.1 学习进度条

1.3.2 累积代码行和博客字数

1.3.3 学习内容总结和感悟

1.3.3.1 学习内容总结

1.3.3.2 学习体会

  • 学习c语言一个多月了,越是学的多越难,现在学到函数,感觉比之前的要难好多,网上经常说c语言从入门到入土,但是我觉得越是难的我越是想要解决他,我们在部队有一句口号经常喊只要思想不滑坡,办法总比困难多,这次学习总结:
    1.函数分为库函数和自定义函数
    2.库函数是能直接调用的函数,而自定义的函数要自己去定义它的功能
    3.使用函数,能够把一个程序分成一块一块的,每一块的功能都不一样,这有利于编程,主函数是用来汇总这些分支的,把功能都整合到一起。
posted @ 2019-10-23 19:33  ahhhhhhhhhhhhhh  阅读(380)  评论(4编辑  收藏  举报