c语言1博客作业11

一、本周作业头

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10125
我在这个课程的目标是 <学习c语言知识,学会做编程题,学会做小程序>
这个作业在那个具体方面帮助我实现目标 <学会使用while语句>
参考文献 <c语言程序设计教科书和实验书,浏览器,上课笔记,PTA>

二、本周作业

1.PTA实验作业(20分/题)

1.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;
}

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

1.1.1数据处理

数据表达:在题目中,我定义了5个变量,分别是i,a[100],b,count=0,j;
数据处理:使用了if语句,for语句,while语句循环,

伪代码;
int IsTheNumber(const int N)
{
	int i, a[100],b, count = 0,j;//定义变量
	i = N;//给i赋值
	b = sqrt(i);//给b赋值
	if (b*b==i)//使用if语句
	{
		while (i > 0)//使用while语句循环
		{
			a[count] = i % 10;//取余
			i = i / 10;//除以10
			for (j = 0; j < count; j++)//for语句循环
			{
				if (a[count] == a[j])//嵌套
				return 1;
			}
			count++;//累加
		}
	}
	return 0;//返回
}

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
141 151 cnt=0 141到151之间有0个满足题意的完全平方数
313 515 cnt=3
144 600 cnt=5
105 500 cnt=6

1.1.4 PTA提交列表及说明

提交列表说明:
答案错误,将j<count写成了j>count
1.2 题目2
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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;

}

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

1.2.1 数据处理

数据表达:定义了a,b,num1,sum,count,sum2,i
数据处理:函数int is(int number)使用了do-while循环结构和if语句;函数void count_sum( int a, int b )使用了for循环语句和if语句的嵌套结构。

伪代码:
#include <stdio.h>

int is( int number );
void count_sum( int a, int b );

int main()
{
    int a, b;//定义a,b两个整型变量,

    scanf("%d %d", &a, &b);输出a,b
    if (is(a)) printf("%d is counted.
", a);//若满足is函数则相应的输出数据
    if (is(b)) printf("%d is counted.
", b);//若满足is函数则相应的输出数据
    count_sum(a, b);

    return 0;
}
int is( int number )//自定义int is( int number )函数;
{
    int num1,sum;定义num1和sum分别代表输入的数的每一位数字和每一位数字的和
    sum=0;
    do{    //do-while语句
     num1=number%10;
     sum=sum+num1;
     number=number/10;
    }while(number!=0); 
    if(sum==5)    //if语句
    return 1;
    else
    return 0;
}
void count_sum( int a, int b )//函数void count_sum( int a, int b )
{
    int count,sum2,i;
    count=0;
    sum2=0;
    for(i=a;i<=b;i++){//使用了for循环语句
		if(is(i)){//if语句的嵌套结构
			count++;
			sum2=sum2+i;
        }
    }
printf("count = %d, sum = %d",count,sum2);//输出
   
}

1.2.2 实验代码截图


1.2.3 造测试数据

输入数据|输出数据


1.2.4 PTA提交列表及说明


提交列表说明:
编译错误,while(number!=0)忘记加分号了

2.代码互评(5分)

同学代码截图

(1)

(2)

自己代码截图

与(1)比较:
1:同学的代码比较长,比较复杂,我的比较简洁,
2:运用的语句个数不同,设的变量个数不同
与(2)比较:
1.同学在循环语句中使用了break

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周9.16-9.23 6小时 28 初步了解敲代码,做博客 怎样进去做这些作业
第六周9.23-10.6 32小时 19 熟悉部分编程的格式,使用markdown语法 和做表格 不太会做表格
第七周10.7-10.11 40小时 105 学会使用if-else语句做分支结构题 做折线图开始的时候有点不太会
第八周10/14-10/19 48小时 82 学习了for语句,运用于敲代码时,进行循环过程。 有时候忘记赋值,循环体处掌握的方法还不够,容易运行错误。
第九周10/20-10/26 50小时 108 学习了c语言函数知识,理解定义和使用方法 不太懂,经常出错,函数式子很难想到
第十周10/28-11/02 38小时 180 学习了字符型,库函数,还有逻辑运算符知识 对这些我还挺感兴趣的
第十一周11./3-11/8 30小时 156 学习了switch语句 刚开始不太了解,慢慢了解了
第十二周11/9-11/15 35小时 112 学习了while语句,一种已知一个条件限制,求解满足条件的任意值 开始的时候,与for循环语句有点分不清楚,现在明白了
第十三11/16-11/22 41小时 126 学习了continue语句和复习了break等知识 暂无
第十四周11/23-11/29 38小时 181 复习了所学习的知识 有,还要多多练习,仔细思考

3.2 累积代码行和博客字数(5分)


3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会。
1.复习知识首先要理清楚思路,做笔记也要分点清楚,会更有效
有自己的时间表,合理安排,学习为主,其他为辅,为学习腾出时间。
2;我们在做PTA作业时候,每个小小点地方都需要注意,比如一个分号 空格,可以自己在草稿纸上打好草稿,和表出注意的地方,再敲上去,要多检查几遍。
3;随着知识的增加,我们了解的越来越多,更要注重吸收消化,越来越接近考试了,即使我再忙,也不能不学习了,特别是自己的专业知识,多去练习,理解题目,看看视频之类的,敢于动手写代码,因为我们的考试可能是笔试,...
4:有空就学习,尽量有空
5;实验课,做作业,是很好的锻炼我打字速度和反应能力的时候,时间方面比较紧,我需合理安排
7.要考试了,加油
原文地址:https://www.cnblogs.com/99peng/p/11993728.html