cI语言博客作业11

pta实验作业

题目名

本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

截图

cI语言博客作业11_第1张图片

1.1.1数据处理

数据表达:第一个函数定义了两个整型变量:num1,sum,并且给sum赋值为0;第二个函数定义了3个整型变量:count,sum2,i,并且给count、sum赋值为0
数据处理:
int is( int number )
定义num1和sum两个变量
sum=0;
用do-while循环{
num1=number%10;
sum=sum+num1;
number=number/10;
}终止条件是number等于0
然后用if-else语句判断{
if(sum==5)
return 1;
else
return 0;
}
void count_sum( int a, int b )
定义count、sum2、i三个变量
count=0;
sum=0;
用for循环语句,里面包含一个if语句
for(i=a;i<=b;i++){
if(is(i)){
count++;
sum2=sum2+i;
}
}
如果满足第一个函数就进行累加,否则就不执行
最后输出结果:printf("count = %d, sum = %d",count,sum2);

1.1.2实验代码截图

cI语言博客作业11_第2张图片

1.1.3 造测试数据

输入数据
输出数据
105 500
cnt = 6

1.1.4 PTA提交列表及说明


错误 未添加结束语 导致编译错误

1.2 题目名2

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等

1.2.1 数据处理

数据表达:定义了i, a[100],b, count,j五个变量,其中a[100]是数组,都是整型变量,给count赋值为0,令i=N、b=sqrt(i)(开根号);
数据处理:
int IsTheNumber(const int N)
定义i, a[100],b, count,j;
count=0;
i = N;
b = sqrt(i);

if (b*b==i)
while(i>0)
a[count]=i%10;
i=i/10;
for (j = 0; j < count; j++)
{
if (a[count] == a[j])
return 1;
}
这里开始判断是否是完全平方数,中间有判断是否有两个数字是一样的,就是用数组储存每次计算的结果,然后进行比较是否相等
count++;

1.2.2 实验代码截图

cI语言博客作业11_第3张图片
输入数据
输出数据
说明
105 500
cnt = 6
例题上的数据
140 463
cnt = 4
随机输入的数据进行测试
501 666
cnt = 0
随机输入的数据进行测试
668 999
cnt = 2
随机输入的数据进行测试

2.代码互评

同学1
cI语言博客作业11_第4张图片

自己代码截图:

cI语言博客作业11_第5张图片

学习总结

3.1 学习进度条

3.2 累积代码行和博客字数

cI语言博客作业11_第6张图片

3.3 学习内容总结和感悟

3.3.2 学习体会

学习C语言有一段时间了 其实我发现最主要的其实还是函数和设计 如何去设计函数再利用c语言表达出来

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