C语言I博客作业09

这个作业属于哪个课程https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321
这个作业要求在哪里https://bbs.csdn.net/topics/603700627
这个作业的目标学习运用函数
学号20218545

- PTA作业

1.1 (题目名称):

6-1 统计各位数字之和是5的数 (20 分)

本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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<ab≤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;
}

/* 你的代码将被嵌在这里 */

输入样例:

104 999

输出样例:

104 is counted.
count = 15, sum = 3720

在这里插入图片描述

1.1.2 数据处理
数据表达:定义了八个量,用is函数判断数和是否为5,用count_sum计算这些整数的和,定义用了int整型。
数据处理:运用了while循环,for循环和if语句,流程结构为循环结构和选择结构。

1.1.3 PTA提交列表及说明
在这里插入图片描述

1.1 (题目名称):

6-2 使用函数输出水仙花数 (20 分)

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。

函数接口定义:

int narcissistic( int number );
void PrintN( int m, int n );

函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。

函数PrintN则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100≤mn≤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;
}

/* 你的代码将被嵌在这里 */

输入样例:

153 400

输出样例:

153 is a narcissistic number
370
371

在这里插入图片描述
在这里插入图片描述

1.1.2 数据处理
数据表达:定义了七个量,用narcissistic判断是否为水仙花数,用PrintN打印开区间内所有的水仙花数,定义是运用了int整型。
数据处理:运用了while循环,for循环和if语句,流程结构为循环结构和选择结构。

1.1.3 PTA提交列表及说明
在这里插入图片描述
部分正确:PrintN函数内if循环里面i写成了m。

1.1 (题目名称):
6-3 使用函数验证哥德巴赫猜想 (20 分)
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于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.1.2 数据处理
数据表达:定义了五个量,用prime判断是否为素数,用Goldbach分解素数。
数据处理:运用了for循环和if语句,流程结构为循环结构和选择结构。

1.1.3 PTA提交列表及说明
在这里插入图片描述
部分正确:输出分解不是最小素数

1.1 (题目名称):
6-4 使用函数求素数和 (20 分)

prime§, 其中函数prime当用户传入参数p为素数时返回True,否则返回False. PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。

函数接口定义:

在这里描述函数接口:
prime(p),返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和

裁判测试程序样例:

/* 请在这里填写答案 */

m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))

输入样例:
在这里给出一组输入。例如:

1 10

输出样例:
在这里给出相应的输出。例如:

17

在这里插入图片描述

1.1.2 数据处理
数据表达:prime函数判断是否素数,用PrimeSun求出区间所有素数之和。
数据处理:运用了for循环和 if语句,流程结构为循环结构和选择结构。

1.1.3 PTA提交列表及说明
在这里插入图片描述

2. 学习总结

2.1 学习进度条(5分)

周/日期这周所花的时间代码行学到的知识点简介目前比较迷惑的问题
14/12.6-12.1211h166编辑函数写函数的时候感觉很乱,想的时间很长,还有最后一题的python,不懂

2.2 累积代码行和博客字数
在这里插入图片描述

2.3 学习感悟
这次主要是学习了写函数代码,不是很熟悉,刚开始想的时候要想好久,而且思路很乱,要慢慢摸索,不能着急。之后要多去了解一下函数方面的知识,再去多看一些案例,多做一些题目,然后还要继续去拓展一些其他的知识点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言OpenGL大作业是一个通过使用C语言结合OpenGL图形库来实现的作业项目。这个项目的目的是让学生们在实践中加深对C语言和计算机图形学的理解,提高编程能力和图形渲染技术。 具体而言,C语言是一种高级编程语言,而OpenGL是一种跨平台的图形库,用于渲染2D和3D图形。在这个大作业中,学生们需要利用C语言中的编程技巧来实现一些图形学的基本功能,如绘制简单的图形、处理用户交互输入、实现基本的光照效果等等。 在完成C语言OpenGL大作业时,学生们可能需要遵循一些基本步骤。首先,他们需要学习和理解C语言和OpenGL库的基本知识,包括语法、图形学概念、图形渲染流程等。接下来,他们需要设计并实现自己的图形方案,包括场景的搭建、图形对象的绘制和变换等。在完成代码之后,他们会编译和运行程序,并通过调试和测试来确保其正常运行和效果达到预期。 对于C语言OpenGL大作业的评估标准则通常基于项目的完成度、代码质量和效率等方面进行。学生的代码应具有良好的结构和可读性,遵循编程规范,并能够正确地展示所学知识和技术的应用。 总之,C语言OpenGL大作业是一个能够帮助学生们深入理解C语言和图形学的重要项目。通过该项目,学生们能够锻炼编程能力、加深对图形学概念的理解,并在实践中体会编写复杂程序的过程。 ### 回答2: C语言OpenGL大作业是一项学术项目,要求学生运用C语言编写OpenGL程序,展示对图形学知识的理解和应用。这个作业通常涉及到图形渲染,光照效果,纹理映射,矩阵变换等技术的运用。 在做这个大作业之前,学生需要系统学习C语言和OpenGL图形库的基础知识。他们需要掌握OpenGL的核心概念,如窗口创建、三维投影、相机控制等。此外,还需要理解OpenGL管线的工作原理,包括顶点着色器、片段着色器、几何着色器等的作用。 大作业的具体要求可能会因教师的要求或课程的不同而有所不同。学生通常会选择一个主题或场景进行展示,比如一个3D游戏的场景、一个建筑模型或一个动画场景。在实现这个主题或场景时,学生需要运用所学的技术来创建和渲染3D模型,添加光照效果和纹理,实现相机控制和用户交互等。 在完成大作业的过程中,学生将会面临一些挑战和困难。首先,他们需要深入理解图形学的原理和算法,并将其转化为C语言代码。其次,他们还需要熟悉OpenGL的各种函数和接口,能够正确地调用它们来实现所需的功能。此外,学生还需要有良好的代码设计和调试能力,以便有效地组织和管理程序的结构和逻辑。 总结起来,C语言OpenGL大作业是一项考验学生图形学和编程能力的重要任务。通过完成这个作业,学生将能够深入理解图形学的概念和原理,并能够熟练运用C语言和OpenGL来实现各种图形效果和交互功能。 ### 回答3: C语言OpenGL大作业是指在使用C语言编写OpenGL程序的一个大型项目。OpenGL是一个强大的图形库,可以实现各种各样的图形效果和交互性。在这个大作业中,学生通常需要编写一个具有一定复杂度的图形应用程序。 首先,我们需要理解OpenGL的基本原理和使用方法。学生需要掌握OpenGL的各种库函数和技术,如OpenGL窗口创建、图形绘制、光照效果、3D变换等。他们还需要理解图形渲染管线、着色器和顶点缓冲对象等关键概念。 对于大作业的具体主题和要求,可能会有很多选择。例如,学生可以选择实现一个简单的3D游戏,设计一个图形化界面的数据可视化工具,或者开发一个基于OpenGL的图像处理程序。 在开始实际编码之前,学生需要进行一些规划和设计工作。他们需要确定大作业的需求和功能,设计程序的整体结构和模块划分。这些步骤通常可以通过编写一个详细的设计文档和创建一个项目计划来完成。 然后,学生可以开始编写代码。使用C语言编写OpenGL程序需要一定的编程技巧和算法知识。学生需要合理地组织代码,优化性能,并解决可能遇到的各种问题和错误。 最后,学生需要进行测试和调试。他们应该确保程序能够正确运行,并满足预期的需求和功能。在测试过程中,学生可能需要使用一些调试工具和技术,如断点调试和性能分析。 总之,C语言OpenGL大作业是一个涉及图形编程和算法设计的具有挑战性的项目。通过完成这个大作业,学生可以提高他们的编程技能和对图形学的理解,同时也锻炼了他们的逻辑思维和问题解决能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值