这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 我希望能开发一种全新的语言程序 |
这个作业在那个具体方面帮助我实现目标 | 熟悉使用循环语句的嵌套 |
参考文献 | for语句 |
本周作业
1.PTA实验作业
2.代码互评
3.学习总结
作业格式
1.PTA实验作业
1.1 输出三角形字符阵列 (15 分)
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
1.1.1数据处理
数据表达:定义整形函数n,i,j,z和字符形函数ch。使用for嵌套循环。
数据处理:
include<stdio.h>
int main()
{
int n,i,j,z;
char ch;
ch='A';//给字符变量赋值
scanf("%d",&n);//输入n的值
j=n;
for(i=1;i<=n;i++)//输出从1到n行
{
for(z=1;z<=j;z++)//输出每行上的字符
{
printf("%c ",ch);
ch++;//字符数值+1
}
j--;//每行字符数递减
printf("\n");//跳行
}
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | A B C D\n E F H\n I J\n K | 默认值 |
2 | A B\n C | 随机值 |
1.1.4 PTA提交列表及说明
错误点:1.j=n的位置放到了scanf语句之前,导致错误输出。(Dve-c++)
1.2 梅森数 (20 分)
1.2.1数据处理
数据表达:定义整形函数n,i,j,m,count=0,使用for循环嵌套和if判断语句。
数据处理:
int main()
{
int n,i,j,m,count=0;
scanf("%d",&n);//输入n
for(i=2;i<=n;i++)//使次幂从2到n
{
m=pow(2,i)-1;//得到梅林数值
for(j=2;j<=sqrt(m);j++)//循环判断梅林数为素数
{
if(m%j==0)
break;
}
if(j>sqrt(m))
{
printf("%d",m);
printf("\n");
count++;//计数器+1
}
}
if(count==0)
printf("None");
return 0;
}
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 3\n 7\n 31 | 默认值 |
2 | 3 | 随机 |
1.2.4 PTA提交列表及说明
错误点:一开始不能理解if(i>sqrt(m))为什么会出现,多亏了助教帮助。(Dve-c++)
2.代码互评(5分)梅森数
同学代码:
我的代码:
不同点:
找素数的两种方法
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第三周 | 约10小时 | 约100行 | 掌握关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 | 不能脱离书本自己编写代码 |
第四周 | 8+小时 | 约105行 | for循环语句 | 不能灵活运用for语句 |
第五周 | 约7小时 | 约54行 | 定义函数 | 还未真正学会定义函数 |
第六周 | 约12小时 | 约186行 | 自定义函数和多分支结构的运用 | 这次的填空题不明其意!! |
第七周 | 约6小时 | 约145行 | switch语句的使用 | 有好多题可以使用if语句会简单一点,switch反倒很难想出怎么编译 |
第八周 | 约8小时 | 约94行 | do-while语句和while语句的使用 | 有时会搞错while内的条件 |
第九周 | 约9小时 | 约87行 | 循环语句的嵌套 | 不怎么能灵活使用for循环嵌套 |
第十周 | 约8小时 | 约121行 | 循环语句的嵌套 | 情急下想不出语句的灵活使用 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
我发现我并不是特别了解调试,我会试着去拿一些题去尝试调试,理解调试的原理。for语句的顺序不小心在这次作业中出现错误,我会抽时间回顾学过的知识。