这个作业属于哪个课程
C语言程序设计II
这个作业要求在哪里
链接
我在这个课程的目标是
掌握C语言以及熟练运用
这个作业在哪个具体方面帮助我实现目标
询问同学,百度,vs2019上的报错
参考文献
链接
1.1 题目名
6-1 统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1数据处理
整型变量:int IsTheNumber(const int N)
{
int m,n,i,j;
n=N;
m=(int)sqrt(N);//将平方数开方
if (m*m==n)//判断是否是平方数
{
int f[10]={0};//取0-9的数作为位数,用数组作为表头
while (n>0)
{
j=n%10;//取个位数
for (i=0;i<=9;i++)
{
if (j==i)
{
f[i]++;//如果取的个位数与i相等,就在数组对应的表头那里都加一
if (f[i]>1)//题目上说至少两个相等的数,则大于一就ok
{
return 1;//返回1
}
}
}
n/=10;//取下一位数
}
return 0;//返回0
}
return 0;
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据
输出数据
说明
105 500
cnt=6
样例
100 1000
cnt=9
说明,正确
400 800
cnt=4
说明,正确
1.1.4 PTA提交列表及说明
编译错误:开根号那里把int写在了m前面,但应该sqrt前面()加上。
部分正确:最后判断的时候用break,但题目要求要返回1.
1.2 题目2
6-2 统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
1.2.1 数据处理
整型变量:int is(int n)
{
int a=0,b=0;
while (n!=0)
{
b = n % 10;//提出个位数
n /= 10;//取下一位数
a += b;//整和
}
if (a == 5)//判断整和数是否等于5
return 1;
else
return 0;
}
void count_sum(int a, int b)
{
int sum = 0, count = 0, i;
for (i = a; i <= b; i++)
{
if (is(i))//以is函数的if为条件来进行判断
{
count++;//计数满足的个数
sum += i;//整数的和
}
}
printf("count = %d, sum = %d", count, sum);
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据
输出数据
说明
104 999
104 is counted.count = 15, sum = 3720
样例
100 999
count = 15, sum = 3720
说明,正确
16 400
count = 16, sum = 2555
说明,正确
1.2.4 PTA提交列表及说明
编译错误:if判断五的那里的return没打;,
2.代码互评
上图为同学的,下图为我自己的
上图:1.直接就是三个条件往上怼 2.printf那里的6%d没打空号 3.for语句还是要加个大括号吧。
下图:1.比上图啰嗦,没想到可以直接用I来表示 2.上图代码感觉容易出错,下图稳定。
3.1 学习进度条
周/日期
这周所花时间
代码行
学到的知识点简介
10/7-10/10
9+
30行+
scanf()语句,if-else语句,平方,根号
10.16/10.17
5个小时
141
如何运用for语句
10.23/10.26
5个小时
141
如何定义函数,运用while语句
10.30/11.2
8小时
200+
如何在if else和for中嵌套
11.6/11.7
5小时
100+
如何灵活的运用switch语句
11.13/11.14
5小时
80+
n=getchar();和switch加return 0
11.20/11.21
5小时
92
数组怎么用
11.27/11.28
5小时+
89
这次的第一题
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
这周没有学习新内容,复习各科以对应期末考试。
3.3.2 思维导图
3.3.3 学习体会
这周复习线代和高数,以及准备英语口语考试,来了来了,期末考试它来
------------恢复内容结束------------
|这个作业属于哪个课程|C语言程序设计II|
|------|----|
|这个作业要求在哪里|链接|
|我在这个课程的目标是|掌握C语言以及熟练运用|
|这个作业在哪个具体方面帮助我实现目标|询问同学,百度,vs2019上的报错|
|参考文献|链接|
1.1 题目名
7-8 输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列
1.1.1数据处理
整型变量:int n, i, j;
char op;
op = 'A';//将op赋为ascllA
scanf("%d", &n);
for (i = 1; i <= n; i++)//行数
{
for (j = 1; j <= n-i+1; j++)//列数
{
printf("%c ", op);//打印字符
op++;//‘A’加一
}
printf("
");
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据
输出数据
说明
4
A-J
样例
5
A-O
说明,正确
3
A-F
说明,正确
1.1.4 PTA提交列表及说明
编译错误:scanf后面加了_s,
答案错误:列数的for那里是j<=I,但与那个九九乘法表不一样,它每一行都减一个字符,应是n-I+1.
1.2 题目2
6-2 统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和
函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
1.2.1 数据处理
整型变量int is(int n)
{
int a=0,b=0;
while (n!=0)
{
b = n % 10;//提出个位数
n /= 10;//取下一个位数
a += b;//整和
}
if (a == 5)//判断整和的数是否等于五
return 1;
else
return 0;
}
void count_sum(int a, int b)
{
int sum = 0, count = 0, i;
for (i = a; i <= b; i++)
{
if (is(i))//以is的判断为条件
{
count++;//输出
sum += i;
}
}
printf("count = %d, sum = %d", count, sum);
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据
输出数据
说明
104 999
count = 15, sum = 3720
样例
15 500
count = 19, sum = 3866
说明,正确
400 900
count = 3, sum = 1311
说明,正确
1.2.4 PTA提交列表及说明
编译错误:第一个if那里的return后面没加;sum和count没有初始化。
格式错误;有些大扩号没打好。
2.代码互评
上图为同学的,下图为我自己的
上图:1.没看懂第二个for中的m/=10是什么意思2.可以说非常详细,一步一步来的3.还判断了奇偶性。
下图:1.直接就判定2.在条件中提数3.比上图简洁很多。
3.1 学习进度条
周/日期
这周所花时间
代码行
学到的知识点简介
10/7-10/10
9+
30行+
scanf()语句,if-else语句,平方,根号
10.16/10.17
5个小时
141
如何运用for语句
10.23/10.26
5个小时
141
如何定义函数,运用while语句
10.30/11.2
8小时
200+
如何在if else和for中嵌套
11.6/11.7
5小时
100+
如何灵活的运用switch语句
11.13/11.14
5小时
80+
n=getchar();和switch加return 0
11.20/11.21
5小时
92
数组怎么用
11.27/11.28
5小时+
89
这次的第一题
12.4/12.5
5小时+
58
这次的编程题(太难了)
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
这周新学习了两种函数,讲道理到现在我也没搞清楚,只知道那个静态变量的值不会改变,而局部变量会在被返回
的时刻就会删除了。
3.3.2 思维导图
3.3.3 学习体会
这周复习线代和高数,而且也学了新东西,但是嘞讲道理,这周的题目有点难,我们亲爱的助教他都还没写完,我一看那两
个编程题,我人就傻了,还要复习其他科目,难啊!