| 这个作业属于哪个课程 | C语言程序设计I |
|---|---|
| 这个作业要求在哪里 | C语言I-2019秋作业09 |
| 我在这个课程的目标是 | 熟悉break、continue的使用,熟悉使用循环的嵌套解决问题 |
| 这个作业在那个具体方面帮助我实现目标 | 帮助我认识到自己的不足,熟悉循环语句的使用 |
| 参考文献 | 百度百科 |
一、PTA实验作业
1、打印九九口诀表
题目
下面是一个完整的下三角九九口诀表:
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*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
本题要求对任意给定的一位正整数N,输出从 1*1 到 N*N 的部分口诀表。
数据处理
数据表达: 获取乘法表需要创建的阶数
数据处理: 使用双for循环进行输出
伪代码:
- 获取循环截至条件
- 使用
for (int i = 1; i <= (长度); i++)的形式进行双for遍历 - 其中值得注意的是第二次
for循环的停止的条件是第一次for循环的遍历量 - 使用
%-4d进行占位输出,达到排版的效果
#include<stdio.h>
int main()
{
int N;
scanf("%d", &N);
for (int i = 1; i <= N; i++) // 确定乘法表的行数
{
for (int j = 1; j <= i; j++) // 确定乘法表每行的个数
printf("%d*%d=%-4d", j, i, j*i);
printf("\n");
}
return 0;
}
代码截图

造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 5 | 如图所示 | 无 |

PTA提交列表及说明
2、跟奥巴马一起画方块
题目
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
数据处理
数据表达:
数据处理:
伪代码:
#include <stdio.h>
#include <math.h>
int main()
{
double num = 0;
char character;
scanf("%lf %c", &num, &character);
for (int i = 0; i < ceil(num / 2); i++)
{
for (int j = 0; j < num; j++)
{
printf("%c", character);
}
printf("\n");
}
return 0;
}
代码截图
造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|