问题 | 回答 |
---|---|
这个做业属于那个课程 | C语言程序设计II |
这个做业要求在哪里 | 做业要求 |
我在这个课程的目标是 | 本身设计一个小游戏 |
这个做业在那个具体方面帮助我实现目标 | 在PTA练习中屡次使用自定义函数和库函数 |
参考文献 | C语言程序设计II,百度百科 |
函数接口定义:算法
int IsTheNumber ( const int N );编程
其中N是用户传入的参数。若是N知足条件,则该函数必须返回1,不然返回0。数组
#include <stdio.h> #include <math.h> int IsTheNumber ( const int N ); int main() { int n1, n2, i, cnt; scanf("%d %d", &n1, &n2); cnt = 0; for ( i=n1; i<=n2; i++ ) { if ( IsTheNumber(i) ) cnt++; } printf("cnt = %d\n", cnt); return 0; } /* 你的代码将被嵌在这里 */
输入样例:markdown
数据表达:定义了n接受N的平方根乘n的平方根,N是输入的整数,定义一个10位的数组num用了收集n的值;n1,n2为输入的取值范围,i用于控制循环,cnt用于记数
数据处理:函数
int IsTheNumber ( const int N ) 定义整形变量i循环终止条件,n是N的平方根乘n的平方根 定义数组num[10]并将数组初始化为0 n=(int)sqrt(N)*(int)sqrt(N) /*利用函数sqrt()进行判断是否为彻底平方数*/ if(n==N) /*在彻底平方数的基础上进行判断第二步*/ while(n!=0) /*检验数字是否相同*/ for(i=0;i<10;i++) if(n%10==i) num[i]累加 if(num[i]==2) /*判断是否有相同的数字*/ 返回值为1 end if end if end for n←n/10 end whlie 返回值为0 end if else 返回值为0
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 题中数据 |
0 100 | cnt = 1 | 题中数据左侧 |
500 1000 | cnt = 2 | 题中数据右侧 |
提交列表说明:
编译错误:开始忘了把数组初始化。
编译错误:错把num[i]==2打成num[i]=2学习
int is( int number );
void count_sum( int a, int b );测试
函数is
判断number
的各位数字之和是否等于5,是则返回1,不然返回0。字体
函数count_sum
利用函数is统计给定区间[a, b]
内有多少个知足上述要求(即令is
返回1)的整数,并计算这些整数的和。最后按照格式设计
count = 知足条件的整数个数, sum = 这些整数的和3d
进行输出。题目保证0<a
≤b
≤10000。
#include <stdio.h> int is( int number ); void count_sum( int a, int b ); int main() { int a, b; scanf("%d %d", &a, &b); if (is(a)) printf("%d is counted.\n", a); if (is(b)) printf("%d is counted.\n", b); count_sum(a, b); return 0; } /* 你的代码将被嵌在这里 */
数据表达:定义了整形变量a,b为输入的范围,自定义函数is并定义了整形变量i,sum,其中sum为number的每一位相加的和,i为返回值;
自定义函数count_sum并定义了整形变量count,sum,i,其中count为记录知足要求的个数,sum为每个知足条件的数的和,i用来控制循环。
数据处理:
int is(int number) 定义整型变量c,d 定义整数变量sum并赋值为0 while(number!=0)/*number是否等于0*/ c←number%10 sum←sum+c number←number/10 end while if(sum==5) /*判断各位数之和是否等于0*/ 返回值为1 else 返回值为0 end if-else end void count_sum( int a, int b ) 定义整型变量i为控制循环 定义整型count用于记录知足条件数的个数,sum1为知足条件的每个数累加的和 for(i=a; i<=b; i++) /*在区间a-b中循环寻找各位数字之和是5的数*/ if(is(i)) count累加 sum1←sum1+i end if end for 输出count = , sum = end
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted. count = 15, sum = 3720 |
题中数据 |
0 103 | count = 6, sum = 165 | 题中数据左侧 |
1000 9999 | count = 35, sum = 73885 | 题中数据右侧 |
提交列表说明:
编译错误:错把number=number/10;打成number=number%10;
同窗代码是用n代替N,个人n是两个根号下N相乘,他用m等于根号下n,m乘m来代替个人n,我这样少一个变量,咱们算法差很少,就if语句中判断条件有点不同。
1.他的代码较乱,并且变量多一点,个人比较清晰。
2.在判断N是否知足条件上,他的判断语句是(b[a[i]]==1),而个人判断语句是知足s[i]==2,返回1,知足n/=10,返回0。
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
9.16~9.22 | 6h | 20 | 初步了解编程如何进行 | 编程开始的单词有什么做用,编译是如何进行的 |
9.23~10.6 | 30h | 30 | 学会运用markdown语法和了解博客园做业格式 | 如何在博客随笔字体加颜色 |
10.7~10.11 | 48h | 235 | 学会了if语句和编程的数学函数怎么写 | while语句如何使用和电脑上表格和why手机上顺序不同 |
10.14~10.20 | 36h | 100 | 掌握使用for循环语句 | 对多种循环结构不够了了解以及分支结构和循环结构同时使用的编程前后。 |
10.20~10.27 | 32h | 135 | 如何对函数的定义和调用,思惟导图 | 函数的调用和定义有没有局限性。 |
10.28~11.3 | 36h | 512 | 熟悉多分支结构、字符型数据类型和逻辑运算符 | 四则运算和字符型变量 |
11.4~11.10 | 12h | 232 | 熟悉多分支结构switch语句的使用 | 在博客园中如何添加小挂饰 |
11.11~11.17 | 18h | 263 | 熟悉使用while和do-while结构 | 字符的实际使用 |
11.18~11.24 | 20h | 186 | 熟悉break、continue的使用,熟悉使用循环的嵌套解决问题 | 嵌套循环的逻辑 |
11.25~12.1 | 22h | 270 | 选择合适的算法、合理的循环结构,熟练的编写程序 | 数组的运用 |
12.2~12.8 | 30h | 215 | 掌握各类类型函数的定义、调用和申明,熟悉变量的做用域、生存周期和存储类型 | 不太明白变量的生存周期 |
本学期最后一次做业感受有点难度啊,尤为是编程题,我第一题从3分到4分到5分,太难受了,一个虚数输出问题,我就搞了半天,i无值,因此不能直接输出,实数部分和虚数部分系数分开求才能实现,但仍是只有5分,还有5个测试点错误,我打算在Dev上一个一个测试,看到底那错了,回顾这一学期,其中有时候偏离了本身的目标,距离目标仍是太远了,在最后这一段时间我但愿本身坚持学习,尽可能考个好分数,个人博客各向指标也该提高点了毕竟分数不能总停在那里,没进步就是退步,加油,奥利给。