阿里云双十一活动

ArcadiaArcadia11-08 23:10

博客作业03

问题 答案
这个作业属于哪个课程 C语言程序设计II
这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/8719
我在这个课程的目标是 熟悉新学的知识并把以前的知识与此次所学的结合起来,并掌握更多有关C语言的知识
这个作业在哪个具体方面帮我实现了目标 计算函数,if-else语法,还有一些小的知识点
参考文献 C语言教材,ACM解题

一、PTA实验作业

1.1计算存款利息

1.1.1实验代码截图

#include<math.h>
int main()
{ d#include<stdio.h>
ouble x,y;
scanf("%lf",&x);
if(x>=0)
{
y=sqrt(x);
}
else{
y=pow((x+1),2)+2*x+1/x;
}
 
printf("f(%.2lf) = %.2lf",x,y);
return 0;
}

1.1.2数据处理

数据表达:

在这个计算分段函数中,我运用了常用的数学函数,如平方根函数sqrt和幂函数pow.

数据处理:

输入格式:在一行中给出实数x

输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。

输入样例:10  -0.5

输出样例:3.16  -2.75

1.1.3 PTA提交列表及说明

提交时间状态分数题目编译器耗时用户
2019/10/11 21:59:58
部分正确
8 7-5 C (gcc) 3 ms 20199234
2019/10/11 21:59:51
部分正确
11 7-6 C (gcc) 2 ms 20199268
2019/10/11 21:59:46
编译错误
0 7-6 C (gcc) 0 ms 20199268
2019/10/11 21:59:27
答案错误
0 7-6 C (gcc) 19 ms 20199268
2019/10/11 21:57:58
编译错误
0 7-4 C (gcc) 0 ms 20199303

*一开始提交错误之后发现忘记了等号两边打空格

*第二次没有发现错在哪里,问了同学之后是if-else的语法用错了

##1.2超速判断

#1.2.1实验代码截图

#include <stdio.h>

int main()
{
int i;
scanf("%d", &i);
if(i <= 60)
printf("Speed: %d - OK", i);
else
printf("Speed: %d - Speeding", i);
return 0;
}
#1.2.2数据处理
数据表达:
在这道题中我运用了if-else语法,并调用了scanf()函数.
数据处理:
输入格式:在一行中输入测到的速度
输出格式:在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK
输入样例:40  75
输出样例:40-ok   75-speeding
#1.2.3PTA提交及说明
提交时间状态分数题目编译器耗时用户
2019/10/11 21:51:45
答案正确
10 7-3 C (gcc) 2 ms 20199303
2019/10/11 21:49:44
答案正确
10 7-3 C (gcc) 3 ms 20199193
2019/10/11 21:49:12
编译错误
0 7-3 C (gcc) 0 ms 20199193
2019/10/11 21:47:26
答案错误
0 7-3 C (gcc) 3 ms 20199193

##1.3三天打鱼两天晒网

#1.3.1实验代码截图

#include <stdio.h>
int main()
{
int i;
scanf("%d", &i);
if(i%5 <= 3 && i%5 != 0)
printf("Fishing in day %d", i);
else
printf("Drying in day %d", i);
return 0;
}
#1.3.2数据处理
数据表达:
在这里我运用到了c语言中常用的数据类型int,并运用一个i作为一个整形变量
数据处理:
输入格式:输入在一行中给出一个不超过1000的正整数N。
输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。
输入样例: 103        34
输出样例:Fishing in day 103   Drying in day 34
#1.3.3PTA提交及说明
提交时间状态分数题目编译器耗时用户
2019/10/11 21:59:51
部分正确
11 7-6 C (gcc) 2 ms 20199268
2019/10/11 21:59:46
编译错误
0 7-6 C (gcc) 0 ms 20199268
2019/10/11 21:59:27
答案错误
0 7-6 C (gcc) 19 ms 20199268
2019/10/11 21:57:26
部分正确
11 7-6 C (gcc) 3 ms

20199268

*编译错误的原因

*可能是因为把i当成了浮点型

###二.阅读代码

题目:坏了的计算器,在显示着数字坏的计算器上,我们可以进行两种操作,1.将显示器上的数字乘以2, 2将显示器上的数字减一,最初显示器显示x,返回显示数字y所需要的最小操作数.

分析:运用数学的逆向思维,y可以加1或除以2,让y尽可能的除以2,最快的接近x.

代码如下:

int brokenCalc(int X, int Y) {
    int result = 0;
    while(X < Y)
    {
        if((Y % 2) == 0)
        {
            Y /= 2;
            result++;
        }
        else
        {
            Y = (Y + 1) / 2;
            result += 2;
        }
    }
    return result + X - Y;
}
*此题运用了while循环体语句和if-else语句.
*此题中的变量xy都是整型变量.
*此题经过两个语句不断循环计算最终得出结果.
此题的优点及可以学习的地方:
这个代码中涉及到了我们所学的if-else语句,这可以帮我巩固了知识,而且这里面还有新的语句,可以提升我的知识,为我以后更好学习C语言

三、学习总结

3.1 学习进度条

周/日期这周所花的时间代码行学到的知识点简介目前比较迷茫的问题
第一周(9.19-9.24) 5天 22行 基本的编程题 头文件的设定
第二周(9.25-10.4) 6天 16行 Markdown语法及华氏度与摄氏度的转换 Markdown语法的有些语法
第三周(10.8-10.12) 4天 133行 计算函数以及使用if-else语句使用 函数的有关编程

 

 
 

程序之家二维码

小额赞赏

000

阿里云双十一活动

评论