C语言I博客作业11

问题 回答
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业11
我在这个课程的目标是 学习好C语言解决应用到实际生活中
这个作业在那个具体方面帮助我实现目标 了解了for,while,do-while循环之间的区别
参考文献 百度百科、CSDN博客、C语言程序设计

1.PTA实验作业

1.1 统计某类完全平方数

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
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
", cnt);

    return 0;
}


/* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6

1.1.1

数据处理:定义n,x,i,为整型变量,y为双精度变量;
数据表达:赋值N的平方根给n和y,运用while语句,for循环语句;

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
10 30 cnt=0 10~20内没有类完全平方数
105 500 cnt=6 105~500内有6个类完全平方数

1.1.4 PTA提交列表及说明

这题我是先在Dvev-C++1上先调试后复制上去的,但我记得当时出现的问题
编译错误:要定义的数定义定义错误
编译错误:我用了中文符号";"

1.2 统计各位数字之和是5的数

本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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。
裁判测试程序样例:
#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.
", a);
    if (is(b)) printf("%d is counted.
", b);
    count_sum(a, b);

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:
104 999
输出样例:
104 is counted.
count = 15, sum = 3720

1.2.1 数据处理

数据表达:本题定义s,y为整型变量;主函数是“int main()”,被调函数是“int is( int number )”;
数据处理:本题运用了while语句,for循环去处理变量;使用了scanf语句输入;

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
104 999 104 is counted. count = 15, sum = 3720 与PTA实例一致
11 13 count=0 ,sum=0 区间内没有
15 16 count=0 ,sum=0 区间内没有

1.2.4 PTA提交列表及说明

编译错误:定义变量s错误
编译错误:把i赋值用成了s
编译错误: 输入(is(i))少了一个“)”

2.代码互评

2.1同学代码截图:

自己代码截图:

不同点:我和他大的代码思路大致相同,但在数据处理方面有些不一样,如我是把N的平方根赋值给n和y;而他只是赋值n的平方根赋值给m;

2.2同学代码截图

自己代码截图

不同点:本题我采用的是while语句而他用的是for循环,所以他定义的变量比我多一些,我的更加简约一些。

3.学习总结

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较疑惑的问题
第一周/9-18 3天 42 简单的C语言知识 不会写代码
第二周/10-27 3天 提问的智慧 写代码的思路
第三周/9-12 3天 87 关系运算,格式化输入语句scanf() 怎么找错误
第四周/10-15 4天 106 使用for循环语句事先指定次数的循环程序设计 循环程序的逻辑关系
第五周/10-19 3天 126 自定义函数 构建函数
第六周/11-1 3天 205 在编程中运用函数,多分支结构,逻辑运算符,字符型数据类型 怎样用字符型数据
第七周/11-6 1天 189 运用switch语句 怎么将switch灵活运用,怎么去写伪代码
第八周/11-15 一天 学习了do-while语句 运用do-while语句
第九周/11-20 一天 190 嵌套循环 嵌套循环去解决问题
第十周/11-29 一天 178 嵌套循环的综合 循环结构的设置思路
第十一周/12-6 一天 183

3.2 累积代码行和博客字数

3.3 学习内容总结

3.4 学习体会

这一周主要是复习,在复习的过程中感觉又学习到了新知识,switch语句能使的代码更加的简洁还有do-while语句使用能使题目更加的简单。发现在阅读别人的代码时能让自己收获许多新的东西,同明白自己与别人之间的差距。

原文地址:https://www.cnblogs.com/wangxiaohua/p/11996098.html