C语言I博客作业05

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 能独立运用c语言进行编程
这个作业在那个具体方面帮助我实现目标 发现问题帮助自己打牢基础
参考文献 C语言教材

1.PTA实验作业

1.1 水仙花数判断

本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+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;

数据处理:分为whlie if两大部分,其中whlie用于实现计算if用来决定函数返回值;

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

1.1.2实验代码截图

 

 

1.1.3 造测试数据

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

1.1.4 PTA提交列表及说明

 

 


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为整型。

数据处理:运用了prime函数,if语句和循环结构。

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

1.2.2实验代码截图

 

 

 

 

 

1.2.3 造测试数据

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

1.2.4 PTA提交列表及说明

 

 

 

2.代码互评

同学代码截图

 

 

自己代码截图

 

 

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

同学代码截图

 

 

自己代码截图

 

 

 

 

 

  • 1. 同学用的是for循环,是先判断p是不是素数,再判断q;
  • 2.prime函数条件是一样的,同学写的比较简便;

3.学习总结

1.3.1 学习进度条

周/日期这周所花的时间代码行学到的知识点简介目前比较迷惑的问题
第四周 5h 28    
第五周 7h 46    
第六周 8h 59    
第七周 6h 37 if条件语句  
第八周 9h 55 for循环结构,了解css 对css的用法还不清楚
第九周 8h 146 自定义函数 对函数返回值的路径还不明确

1.3.2 累积代码行和博客字数

时间博客字数代码行数
第四周 330 2
第五周 782 26
第六周 1268 156
第七周 1860 314
第八周 2930 368
时间博客字数代码行数
第九周 4730 422
     
     

 

 

 

1.3.3 学习内容总结和感悟

1.3.3.1 学习内容总结

 

 

 

 

 

1.3.3.2 学习体会

C语言是一门考验人韧性和逻辑思维的课程,在学习过程中不可避免的就是代码错误,以及编译错误,各方面的术语,逻辑符号,运算符号........等等都要求落入切入点,这也就是再编码过程中需要掌握的基础,有了这些基础知识的掌握和逻辑运用才能有一套好的编程技巧。

 
posted @ 2019-10-26 21:38  simonstein  阅读(234)  评论(7编辑  收藏  举报