C语言I博客作业10

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业10
我在这个课程的目标是 熟练的使用C语言
这个作业在那个具体方面帮助我实现目标 写PTA作业并掌握好循环结构
参考文献 百度文库

一.PTA实验作业

1.输出三角形字符阵列
题目内容描述:本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
1.1.1数据处理
1.定义了整形变量i,n,j,其中i,j用于控制循环,而n为行数。
2.定义了字符变量ch。
数据处理:

伪代码

    #include<stdio.h>
    int main()
    {
int i, n, j;                         //定义了整形变量i,n,j
char ch;
scanf("%d", &n);
ch = 'A';                            //将'A'的值赋给ch

for (i = 1; i <= n; i++)     //确定第几行
{
    for (j = i; j <= n; j++)//确定这一行中输出几个字符
    {
printf("%c ", ch);//输出字符ch
ch++;            //ch自增
}
printf("\n");      //输出换行
}
return 0;
    }

1.1.2实验代码截图


1.1.3 造测试数据

输入数据 输出数据 说明
1 A 输出1行由大写字母A开始构成的三角形字符阵列
4 A B C D E F GH I J 输出4行由大写字母A开始构成的三角形字符阵列
5 A B C D E F G H I J K L M N O 输出5行由大写字母A开始构成的三角形字符阵列

1.1.4 PTA提交列表及说明

提交列表说明:
1.把&给打成8了。
2.%c后面忘记打空格了。

1.2 梅森数

形如2n−1的素数称为梅森数(Mersenne Number)。例如2​2−1=3、2​3−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2​31−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2​n−1的梅森数。
输入格式:
输入在一行中给出正整数n(n<20)。
输出格式:
按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。

输入样例:
6
输出样例:
3
7
31

1.2.1数据处理

数据表达:定义整型变量b,c,flag,n,i;其中flag是表示判断的变量,当做标志,来判断梅森数,n为输入的数,c为输出的梅森数,b,i用来控制循环。
数据处理:伪代码

    #include<stdio.h>                                                                                                
    #include<math.h>                                                                                                 
    int main()                                                                                                       
    {                                                                                                                
    int b, c = 0, flag = 0, n, i;               //定义整形变量b,c,flag,n,i;                                   
scanf("%d", &n);                                                                                             
if (n == 1)                               //当n=1时                                                           
printf("None");                         //输出"None"                                                               
for (b = 2; b <= n; b++)               //从2^2-1开始                                                             
{                                                                                                            
c = pow(2, b) - 1;                  //c=2^b-1                                                             
for (i = 2; i < c; i++)            //判断是否为素数                                                     
{                                                                                                        
if (c % i == 0)                  //取余为0,可整除                                                
{                                                                                                    
flag = 1;                                                                                        
break;                        //跳出循环                                                   
    }                                                                                                    
}                                                                                                        
    if (flag == 0)              //如果flag=0,则代表i没有被2至i-1之间的任意数整除,即i为素数. 
printf("%d\n", c);         //输出c                                                   
flag = 0;                                                                                                
}                                                                                                            
return 0;                                                                                                    
    }                                   

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
3 3 7 在这个范围内总共有2个梅森数
8 3 7 31 127 在这个范围内总共有4个梅森数
6 3 7 31 在这个范围内总共有3个梅森数
1.2.4 PTA提交列表及说明
编译错误:“==”成了“=”。
1.3同构数
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
 1     5     6    25    76   376   625

1.3.1数据处理

数据表达:定义整型变量i,判断i为输入的数。
数据处理:伪代码

    #include <stdio.h>                           
    int main()
{
int i;                                                                 // 定义整形变量i,i为输入的数                                     
for (i = 1; i < 1000; i++)                                    // 1~1000之间的同构数 
if (i < 10 && i * i % 10 == i)                                       //处理10以下的数
printf("%6d", i);                                                   //输出i
else if (i >= 10 && i < 100 && i * i % 100 == i)                   //处理100以下的数
printf("%6d", i);                                             //输出i
else if (i * i % 1000 == i)                                  //处理1000以下的数
printf("%6d", i);                                           //输出i
printf("\n");                                              //输出换行
return 0;
}                                                   

1.3.2实验代码截图

1.3.3 造测试数据

输入数据 输出数据 说明
1 5 6 25 76 376 625 1~1000内的所有同构数。

1.3.4 PTA提交列表及说明


提交列表说明:
1.编译错误:刚开始时把&&写的是||
2.编译错误:输出没有写成%6d

二.代码互评

同学代码:

自己代码截图

1.他是用的for循环来递减的,而我是用for循环来递增的。
2.我是一开始直接定义整形变量的,而他则是在for循环里面声明整形变量的。他的声明周期就是for循环内部,每次进入都是新的变量,占用栈上空间,在for里面定义的局部变量只有在for语句块里是有效的可见的而已,到外面就撤销了、不存在了。
同学代码:

自己代码截图

1.我是用多分支结构else-if语句来处理1~1000内的所有同构数,他是自定义函数求平方,他用for来计算求余除的数,但都是用的计算位数的方法求余,
2.我是直接定义整形变量,为全局变量,而他在for循环语句中定义了局部变量

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周 10 140 如何用 MinGW-w64 来编译C程序
第五周 20 160 学会了输入
第六周 8 220 学会了if-else
第七周 16 378 运用if,else语句
第八周 20 341 运用for循环语句 对for的用法还不怎么会
第九周 21 345 学习了如何使用自定义函数 自定义函数还不太会
第十周 23 425 熟悉并掌握多分支结构、字符型数据类型和逻辑运算符结构
第十一周 20 456 熟悉并掌握分支结构switch语句
第十二周 25 430 学会使用while和do-while结构解决问题 各个运算符的意思还不太理解
第十三周 27 340 嵌套循环,一.二维数组 多层嵌套还不太熟练
第十四周 34 530 学习了指针和一维字符数组 有了一个初步的了解,但指针还不太会使用

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
这周的作业我感觉难度越来越高,比上周难多了,第一题就搞了好久的时间,这周我学习了一维字符数组,其实这和一维数组差不多,但还是有所不同,我也学习了指针变量,即类型名指针变量名1,指针变量名2,... *指针变量名n ;基本的怎样定义也知道了,但实际应用还不太行,不过我学到的指针好像是搞游戏外挂的基本原理,还有乱用会造成系统崩溃,下周得继续学习指针的实际应用,加油!

posted @ 2019-11-28 18:08  卑微厂长在线养猪  阅读(240)  评论(6编辑  收藏  举报