C语言I博客作业11

问题|答案 --|:--:|:--:|--: 这个作业属于哪个课程|C语言程序设计Ⅱ 这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10131 我在这个课程的目标是|掌握C语言,并熟练操作。 这个作业在那个具体方面帮助我实现目标|完成pta作业,进一步了解各种函数的定义 参考文献|百度百科,伪代码,CSDN #1.PTA实验作业# ##1.1 6-1 统计某类完全平方数## 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。 ##函数接口定义:##

int IsTheNumber ( const int N );

其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。 ##裁判测试程序样例:##

#include 
#include 

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\n", cnt);

    return 0;
}

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

##输入样例:##

105 500

##输出样例:##

cnt = 6

###1.1.1数据处理### 数据表达

定义n,m,i三个变量与一个含有10个数的数组a,运用if,while语句进行表达。

数据处理

Begin
int n←(int)sqrt(N*1.0),m←n*n;
if{
int a[10]←{0}
while{
int i←m%10;
a[i]++;
if(a[i]==2)
return 1;
m←m/10;
}
}
return 0;

###1.1.2实验代码贴图### C语言I博客作业11_第1张图片 ###1.1.3 造测试数据### 输入数据|输出数据|说明 --|:--:|:--:|--: 200 700|cnt=5|随机数据 100 900|cnt=9|随机数据 500 999|cnt=2|随机数据 ###1.1.4 PTA提交列表及说明### 答案错误:定义n时表达式中未用1.0 答案错误:while循环结构中一个表达式写错了 ##1.2 6-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<ab≤10000。 ##裁判测试程序样例:##

#include 

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.2.1 数据处理## 数据表达

定义sum,item变量,然后用while与if-else进行衔接,第二个函数定义i,sum=0,count=0,t等变量也是用if-else衔接。

数据处理

Begin
{
int sum,item;
while(number!=0)
{
item←number%10;
number←number/10;
sum←sum+item;
}
if(sum==5)
return 1;
else
return 0;
}
Begin
{
int i,sum←0,count←0,t;
if(a>b)
{
t←a;
a←b;
b←t;
}
else
for(i←a to b)
{
if(is(i))
{
count++;
sum←sum+i;
}
}
printf("count ← %d, sum ← %d",count,sum);
}

##1.2.2 实验代码截图## C语言I博客作业11_第2张图片C语言I博客作业11_第3张图片 ##1.2.3 造测试数据## 输入数据|输出数据|说明 --|:--:|:--:|--: 200 2000|count = 25 sum = 20330|随机数据 300 5000||随机数据 300 6000|count = 41 sum = 76129|随机数据 ###1.2.4 PTA提交列表及说明### 编译错误:不等于符号写成了一个‘!’ 编译错误:输出结果的格式错误 #2.代码互评# ##2.1题目6-1 统计某类完全平方数## ##2.1.1自己代码## C语言I博客作业11_第4张图片 ##2.1.2同学代码## C语言I博客作业11_第5张图片 不同之处:总体上我的代码比较精简,相对而言他多用了一个for循环。 #3.学习总结# ##3.1 学习进度条## 周/日期|这周所花时间|代码行|学到的知识点简介|目前比较迷惑的问题 ---|:--:|:--:|:--:|:--:|:--:|---: 第五周|3h|30|简单的代码编写,Markdown语法的学习|无 第六周|4h|40|温度的转换|无 第七周|7h|83|if-else语句,计算简单函数|做题的时候对题目理解的不够彻底 第八周|15h|79|for循环型语句,编译简单循环型题目|无 第九周|9h|110|函数的调用和定义一个新函数|定义新函数还是有点不太熟练 第十周|20h|130|分支结构运用,逻辑运算符和字符型数据|无 第十一周|24h|130|switch语句的使用|写作业时还是遇到了一点麻烦 第十二周|27h|150|while语句和do-while语句的运用|到底什么时候该用那种语句 第十三周|30h|160|continue语句,以及循环的嵌套|对于嵌套问题还是有些不会 第十四周|24h|150|认知了穷举法,简单循环结构使用|复杂的循环问题弄不来 第十五周|24h|160|加深对函数的定义方法|自己定义新函数时不太熟练 ##3.2 累积代码行和博客字数## C语言I博客作业11_第6张图片 ##3.3 学习内容总结和感悟## ###3.3.1 学习内容总结### C语言I博客作业11_第7张图片 ###3.3.2 学习体会###

前期我们接触过函数的调用,这次我们学习了函数的定义,更加的完善,但是也越来越复杂。随着期末临近,也开始有点急躁,担心这担心那。
还是得放平心态,这样学习效率也会大幅度提升。也不至于浑浑噩噩,没学什么东西。端正心态,继续加油!

你可能感兴趣的:(C语言I博客作业11)