C语言I作业10

一、本周作业头##

这个作业属于那个课程|C语言程序设计II
--|:--😐:--
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
我在这个课程的目标是|熟练掌握好C语言,培养自己的思维能力,同时加快敲代码速度。
这个作业在那个具体方面帮助我实现目标|可以帮助进行的字符编程的运用
参考文献|百度百科、CSDN博客、C语言程序设计

二、本周作业##

1.PTA实验作业####

1.1 输出三角形字符阵列

本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式####

输入在一行中给出一个正整数n(1≤n<7)。

输出格式####

输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

输入样例:####

4

输出样例####

A B C D 
E F G 
H I 
J 

1.1.1数据处理####

数据表达:用了char x='A';int i,j,n;其中char x='A'表示定义字符X且赋值为A,i,j分别表示循环起点,n表示输入的整数。
数据处理:

Begin
#include<stdio.h>
int main ()
{
    char x←'A';
    int i,j,n;
    scanf("%d",&n);
    for i←1 to n
        for j←1 to n-i+1
            printf("%c ",x);
            x←x+1;
        }
        printf("\n");
    }
     End

1.1.2实验代码截图#####

1.1.3 造测试数据####

输入数据|输出数据|说明
--|:--😐:--😐:--
n=4||该三角形行有四行
n=5||该三角形行有五行
n=6||该三角形行有六行

1.1.4 PTA提交列表及说明####


格式错误:printf("%c ",x);写成了printf("%c",x);
格式错误:printf("%c ",x);写成了printf(" %c ",x);

**梅森数 **####

输入格式####

输入在一行中给出正整数n(n<20)。

输出格式####

按从小到大的顺序输出所有不超过2​n​​−1的梅森数,每行一个。如果完全没有,则输出“None”。

输入样例:####

6

输出样例####

3
7
31

1.2.1数据处理####

数据表达:int n,i,j,number,count=0;其中n代表输入的正整数,i,j代表循环起点;number代表梅森数;count代表梅森数的个数。
数据处理:

Begin
#include<stdio.h>
#include<math.h>
int main ()
{
    int n,i,j,number,count=0;
    scanf("%d",&n);
    for i←2 to n
        number=pow(2,i)-1;
           for j←2 to number/2
               if number%j ← 0
                    break;
                    if(j>=number/2){
                        printf("%d\n",number);
                        count++;
                    }      
           }
           if count ← 0
               printf("None");
           }
           End

1.2.2实验代码截图#####

1.2.3 造测试数据####

输入数据|输出数据|说明
--|:--😐:--😐:--
n=6||当n=6时有三个梅森数
n=1|None|当n=1时,1不属于素数,所以无梅森数。
n=8||当n=8时有四个梅森数

1.2.4 PTA提交列表及说明####


答案错误:这个题我是一直在Dev上运行然后再放到PTA上的,所以没有错误,但在用Dev运行的时候,我开始无论怎么修改for循环语句中的语句答案输出都是None;
开始以为是判断素数的条件写错了,又翻了下书本内容发现并没有什么错误,后来根据一个循环一个循环来看,发现第一个循环后面忘打了大括号,导致后面的语句都
没有执行,以至于答案一直都是None。

3.1本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式####

在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。

输出样例####

 1     5     6    25    76   376   625

1.3.1数据处理####

数据表达:用了int i,num;其中i代表循环起点,num代表同构数。
数据处理:

Begin
#include<stdio.h>
#include<math.h>
int main ()
{
    int i,num;
    for i←1 to 1000
        num ← pow(i,2);
        	if num%10 ← i||num%100 ← i||num%1000 ← i 
            printf("%6d",i);	
			}  
     End

1.3.2实验代码截图#####

1.3.3 造测试数据####

输入数据|输出数据|说明
--|:--😐:--😐:--
无| 1 5 6 25 76 376 625|同构数有 1 5 6 25 76 376 625

1.2.4 PTA提交列表及说明####

编译错误:开始定义时定义的是number,后再取余的时候使用的是num。
编译错误:多定义了一个j,却没有使用j.
格式错误:printf("%6d",i);写成了printf("%d",i);导致格式错误。
答案错误:在修改的过程中,不小心把for循环后的大括号去除了。

2.代码互评###

自己代码|同学代码
--|:--😐:--
|

不同点:####

1.该同学使用了自定义函数使程序变得更加简单,而我是使用循环的嵌套直接作答。
2.但是该同学使用自定义函数多用了一个循环,在运行的速度上面我的要快一些。

自己代码|同学代码
--|:--😐:--
|

不同点:####

1.我的代码定义的是字符A,而该同学运用字符型定义x=64而字符A的ascll值就是64。表达方式不一样
2.我的代码中for(j=1;j<=n-i+1;j++)而该同学的是for(j=1;j<=n-i;j++),我的j<=n-i+1表示当n等于i时,还能取j=1。

3.学习总结###

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
10/8-10/12 5h 224 if-else语句和输入输出格式 变量的处理
10/13-10/18 12h 263 for循环语句,如何计算累加题 不知道什么时候用include<math.h>
10/19-10/26 15h 334 如何编写自定义函数及更加熟练掌握for循环 自定义函数的使用
10/26-11/2 14h 355 如何使用逻辑表达式及else-if语句 如何去寻找else-if之间的关系
11/2-11/8 13h 284 如何使用switch语句 switch语句与for循环同用时的关系
11/9-11/15 16h 231 使用while语句以及字符型变量的输入输出,#include<string.h>的使用 数组的使用
11/16-11/22 10h 203 使用循环的嵌套解决问题,以及break,continue语句 在多个循环中如何输出换行
11/23-11/29 12h 326 通过使用字符型变量进行解题 字符的输入与输出

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
这周的学习,相当又重新的把以前的知识点进行了一遍巩固,依然是使用for循环进行解决问题;同时又用到了以前所学习的知识,比如while语句;以及素数判断的条件;
然后现在更加注重的就是基础知识;只有好好地学习好了基础知识才能更加轻松的学习以后的知识。所以要不断的去复习之前所学习到的知识,温故才能知新。并且同时
要加强手写代码的能力,以及学会如何进行调试。

posted @ 2019-11-26 17:54  曾子豪  阅读(369)  评论(5编辑  收藏  举报