C语言I博客作业09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业09
我在这个课程的目标是 熟练掌握C语言
这个作业在哪个具体方面帮助我实现目标 熟练掌握了for循环,学会了break语句和continue语句
参考文献 Markdown基本语法

一.PTA实验作业

1. 跟奥巴马一起画方块

题目内容描述:美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

输入格式:
 输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。

####### 输出格式:

输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。
输入样例:
10 a
输出样例:
 aaaaaaaaaa
 aaaaaaaaaa
 aaaaaaaaaa
 aaaaaaaaaa
 aaaaaaaaaa

(1)数据处理

 数据表达:
     用了整形变量 n,i,j;和字符型变量 a;
     n代表正方形的边长
     j,i分别用来表示两个控制变量

数据处理:伪代码

 当n为偶数时,需要打印 n / 2 行,每行 n 个字符;
 当n为奇数时,题目说四舍五入取整,也就是说需要打印(n+1)/ 2 行,每行n个字符
 开始 
    int n,i,j;//输入整型变量n,i,j
char a;//字符型变量a
scanf("%d ",&n);
scanf("%c",&a);
if(n%2==0)  //当n为偶数时
for(i=1;i<=n/2;i++)   //需要打印n/2行,循环n/2次
{
    for(j=1;j<=n;j++)    //每行n个字符
    {
        printf("%c",a);//输出a
    }
    printf("\n");//换行
}
if(n%2!=0)    //当n为奇数时
for(i=1;i<=(n+1)/2;i++)    //需要打印(n+1)/2行,循环(n+1)/2行
{
    for(j=1;j<=n;j++)   //每行n个字符
    {
        printf("%c",a);//输出a
    }
    printf("\n");//换行
}
return 0;

}

(2)实验代码截图

(3)造测试数据

输入数据 输出数据 说明
5 a aaaaa aaaaa aaaaa 边长长为5a,宽为3a的方块
6 a aaaaaa aaaaaa aaaaaa 边长长为6a,宽为3a的方块
4 a aaaa aaaa 边长长为4a,宽为2a的方块

(4)PTA提交列表及说明

提交列表说明

 1.编译错误:第8行中少了一个=
 2.编译错误:第17行中少了一个!
 3.答案正确:在第8行上加一个=,在第17行中加一个!

2.打印九九口诀表

题目内容描述:下面是一个完整的下三角九九口诀表:

11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
1
6=6 26=12 36=18 46=24 56=30 66=36
1
7=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
本题要求对任意给定的一位正整数N,输出从1
1到N*N的部分口诀表。

输入格式:
 输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
 输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
  4
输出样例:
  1*1=1   
  1*2=2   2*2=4   
  1*3=3   2*3=6   3*3=9   
  1*4=4   2*4=8   3*4=12  4*4=16 

(1)数据处理

 数据表达:用了整型变量N,i,j
        N代表任意给定的一位正整数
        i和j分别表示九九乘方表中的数字

数据表达:伪代码

 开始
 int main()
{
     int N;//输入整型变量N
     int i,j;//输入整型变量i,j
     scanf("%d",&N);
     for(j=1;j<=N;j++)//输出N行,循环N次
        {
        for(i=1;i<=j;i++)//每行j个
        printf("%d*%d=%-4d",i,j,i*j);//输出i,j,i*j
        printf("\n");//换行
        }
}

(2)实验代码截图

(3)造测试数据

输入数据 输出数据 说明
1 1*1=1 输出到1的口诀表
2 11=1 12=2 2*2=4 输出从1到2的部分口诀表
3 11=1 12=2 22=4 13=3 23=6 33=9 输出从1到3的部分口诀表

(4)PTA提交列表及说明

提交列表说明

 1.编译错误:第6行括号中没有加,
 2.部分正确:第10行没有写i*j
 3.部分正确:第10行没有写i*j
 4.全部正确:在第6行中加, 第10行中加i*j

二.代码互评

同学代码:

自己代码:

比较

 (1)第一份代码用了double浮点型和char字符型,结构上该同学的更加整洁美观,也更容易懂。
 (2)第二份的代码用了char op字符型变量,而我用的char 定义不同,他用到了if-else,而我只用了if。
 (3)第一份代码行只有16行,而我有27行,他的比我的更加简单,也节省空间。

三.学习总结

1.学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周 7小时 100行 在屏幕上显示Hello World!
第五周 8小时 100行 求华氏温度对应的摄氏温度
第六周 21小时 400行 如何用 MinGW-w64 来编译C程序
第七周 24小时 478行 运用if语句完成各种数学程序 对于&&的用法不了解,现在操作不熟练
第八周 20小时 349行 掌握使用for循环语句实现指定次数的循环程序设计
第九周 23小时 264行 学会使用自定义函数 目前不太熟练
第十周 22小时 167行 熟悉多分支结构、字符型数据类型和逻辑运算符 还没有完全熟悉
第十一周 18小时 150行 熟悉多分支结构switch语句的使用
第十二周 16小时 130行 熟悉使用while和do-while结构解决问题 目前还不太熟练
第十三周 15小时 120行 熟悉使用for结构,了解并掌握了break语句和continue语句 目前还不太熟练continue语句

2. 累积代码行和博客字数

时间 博客字数 代码行数
第四周 525 50
第五周 645 100
第六周 645 400
第七周 2659 478
第八周 3586 597
第九周 4769 698
第十周 5897 787
第十一周 6289 897
第十二周 7594 1056
第十三周 8679 1170

3 .学习内容总结和感悟

(1)学习内容总结

(2) 学习体会

学习c语言有一段时间了,越是学到后面越难,上周学习了do-while语句,这周学习了break语句和continue语句,并且知道了这两个语句的区别,又增加了一项编码技巧,又学到了新的C语言知识,现在编代码时没有以前那么吃力了,但是仍然不太熟练,而且题目也越来越难了,我还欠缺很多的锻炼,也欠缺很多知识,我以后还需要更努力的去练习,花更多的时间在这里,朝着我的目标前进

posted @ 2019-11-20 22:43  软4杨宇  阅读(990)  评论(12编辑  收藏  举报