C语言I博客作业05
| 问题 | 答案 | 
|---|---|
| 这个作业属于那个课程 | C语言程序设计II | 
| 这个作业要求在哪里 | C语言I博客作业05 | 
| 我在这个课程的目标是 | 熟练掌握C语言 | 
| 这个作业在哪个具体方面帮助我实现目标 | 学会了如何去定义一个函数 | 
| 参考文献 | Markdown基本语法 , 思维导图 | 
一.PTA实验作业

1. 判断一个整数的各位数字平方之和能否被5整除
 题目内容描述:编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
函数接口定义:
 int fun(int n );
其中 n 是用户传入的参数。 函数判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。
裁判测试程序样例:
 #include <stdio.h>
 int fun( int n );
 int main()
 {
       int m;
       scanf("%d", &m);
       printf("The result is %d\n", fun(m));
       return 0;
 }
 /* 你的程序将被嵌入在这里 */
输入样例:
 12
输出样例:
 The result is 1
输入样例:
 123
输出样例:
 The result is 0
(1)数据处理
 数据表达:用了整形变量S,i,n;n 是用户传入的参数,S来保存n的各位数字平方之和,i用来保存要输出的结果。
 数据处理:用了while语句和if-else语句,用了表达式S+=((n%10)*(n%10))。
 函数参数:主函数的名称为main,被调函数的名称为fun,类型为整形。实参为整形m,形参为整形n。
(2)实验代码截图

(3)造测试数据
| 输入数据 | 输出数据 | 说明 | 
|---|---|---|
| 0 | The result is 1 | 当n=0时 | 
| 1 | The result is 0 | 当n=1时 | 
| 86 | The result is 11 | 当n为较大数时 | 
(4)PTA提交列表及说明

提交列表说明
 1.编译错误:第一次使用while语句不小心将while打为whhile。
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最小的解。
裁判测试程序样例:
 #include <stdio.h>
 #include <math.h>
 int prime( int p );
 void Goldbach( int n );
 int main()
  {
     int m, n, i, cnt;
     scanf("%d %d", &m, &n);
     if ( prime(m) != 0 ) printf("%d is a prime number\n", m);
     if ( m < 6 ) m = 6;
     if ( m%2 ) m++;
     cnt = 0;
     for( i=m; i<=n; i+=2 ) {
         Goldbach(i);
         cnt++;
         if ( cnt%5 ) printf(", ");
         else printf("\n");
     }
     return 0;
 }
 /* 你的代码将被嵌在这里 */
输入样例:
 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)数据处理
 数据表达:用了整形变量flag,i;,i用于控制for循环的结束状态,flag用于贮存返回的值。
 数据处理:用了for循环和if判断语句。
 函数参数:主函数的名称为main ,被调函数的名称为prime,类型为整形。实参为整形n,形参为整形p。
(2)实验代码截图

(3)造测试数据
| 输入数据 | 输出数据 | 说明 | 
|---|---|---|
| 79 90 | 79 is a prime number,80=7+73, 82=3+79, 84=5+79, 86=3+83, 88=5+83 90=7+83, | 随机测试 | 
| 11 13 | 11 is a prime number 12=5+7, | 随机测试 | 
(4)PTA提交列表及说明

提交列表说明
 1.表示该题完全没有思绪,借鉴百度后才做出来,但是对于  if(p<2)return 0; if(p==2)return 1;还是不是很懂。
二.代码互评
同学(杨宇)代码:

同学(柏朝晖)代码

自己代码:

比较
 (1)第一份用了while语句,而我的是直接赋值于a,b,c.她只用了2个变量来计算总数,而我用了4个变量,相对于我的,她的更好一些,因为她所需开辟的空间要少。
 (2)第二份直接将大括号打在for语句体的后面,而我是另取一行与回括的大括号对齐导致代码行数比这位同学多,而他更好的节省了空间。
三.学习总结
1.学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 | 
|---|---|---|---|---|
| 第四周/9.16~9.22 | 7小时 | 100行 | 在屏幕上显示Hello World! | 暂无 | 
| 第五周/9.23~9.29 | 8小时 | 100行 | 求华氏温度对应的摄氏温度 | 暂无 | 
| 第六周/9.30~10.6 | 30小时 | 200行 | 如何用 MinGW-w64 来编译C程序 | 暂无 | 
| 第七周/10.7~10.13 | 24小时 | 300行 | 运用if语句完成各种数学程序 | 对于&&的用法不了解 | 
| 第八周/10.14-10.20 | 24小时 | 300行 | 学会了for循环语句 | 暂无 | 
| 第九周/10.21-10.28 | 24小时 | 300行 | 学会了如何去自定义一个函数 | 暂无 | 
2. 累积代码行和博客字数

3 .学习内容总结和感悟
(1)学习内容总结

(2) 学习体会
 感觉这一星期没有休息时间,游戏都没有时间玩了。虽然是忙了点,但是我觉得很充实,每天熬夜写作业是真的很快乐。别人都说大一很闲,我表示我们专业真的是太难了啊。每次C语言作业一布置下来我就没有资格早睡。希望慢慢的我做作业的速度越来越快。
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号