这个作业属于哪个课程 | https://bbs.csdn.net/topics/603700545 |
---|---|
这个作业的要求在哪里 | https://editor.csdn.net/md/?not_checkout=1 |
这个作业的目标 | 循环结构,选择结构 |
学号 | 20218626 |
1. PTA作业
1.1.1本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
函数接口定义:
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 = 这些整数的和
进行输出。题目保证0<a≤b≤10000。
数据表达:由整型变量n,s输入而来,整型变量number,m,sum由赋值而来。
数据处理:表达式逻辑表达式,关系表达式,计算表达式
使用for,while循环结构,if-else条件语句。
1.1.2
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1
。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。
函数接口定义:int narcissistic( int number );
void PrintN( int m, int n );
函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。
函数PrintN则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100≤m≤n≤10000。
裁判测试程序样例:#include <stdio.h>
int narcissistic( int number );
void PrintN( int m, int n );
int main()
{
int m, n;
scanf("%d %d", &m, &n);
if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
PrintN(m, n);
if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);
return 0;
}
/* 你的代码将被嵌在这里 */
数据表达:整型变量i,n为输入值,sum,m,a为赋值变量。
数据处理:逻辑表达式,关系表达式,使用for,while循环结构,if-else,if选择结构。
1.1.3
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于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;
}
/* 你的代码将被嵌在这里 */
数据处理:整型变量ret,i为赋值变量,p,n为输入变量。
数据表达:使用计算表达式,逻辑表达式,关系表达式,流程结构for循环结构,if-else选择结构。
1.1.4
使用函数求素数和
prime§, 其中函数prime当用户传入参数p为素数时返回True,否则返回False. PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。
函数接口定义:
在这里描述函数接口:
prime§,返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和
裁判测试程序样例:
/* 请在这里填写答案 */
m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
数据表达:变量sum由赋值而来,变量i,a,b输入变量。
数据处理:表达式逻辑表达式,关系表达式,计算表达式,流程结构for循环结构,if选择结构。
1.1.3 PTA提交列表及说明
第一题:格式错误,编译错误,中英混用了
第二题:编译错误,忘记打分号;了
第三题:答案正确
第四题:非零返回,没太明白拿错了
2. 学习总结
2.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
12.5-12.12 | 20h | 900 | 二维数组,结构体 | 不太懂,不会用 |
2.2 累积代码行和博客字数
2.3 学习感悟
请回顾自己的本周的学习过程,如果你有新的想法或者新的方法,请及时记录下来。
对于学习c语言,感觉还有很多问题,还需要我进一不加强学习,可以多和同学交流,听听他们的思考和方法,总之我还有很多需要学习的地方。