题目描述
给出n(1≤n≤13),请输出一个直角边长度是 n 的数字直角三角形。所有数字都是 2 位组成的,如果没有 2 位则加上前导 0。
输入格式
无
输出格式
无
输入输出样例
输入
5
输出
0102030405 06070809 101112 1314 15
这道题对于初学者有两大难点
1、平时我们使用的都是 1、2、3、4、5、6、7、8、9、10这样的数字,而从未使用过01,02,03这样的数,那么如何实现这样的数需要解决。
2、灵活使用for循环,
那么开始对以上两个难点进行讲述,第一个可能有些人偶读想复杂了,其实很简单,当一个数<10的时候,在%d前面多加一个0就行了。
其次就是这里我们需要使用两个for循环,第一个for循环用来控制行数,控制每一行应该怎么做
第二个for循环控制打印数字的个数。
代码如下
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
int n, i, j,k =1;
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = n-i; j > 0; j--) {
if (k < 10) {
printf("0%d", k);
}
else {
printf("%d", k);
}
k++;
}
printf("\n");
}
return 0;
}
题目简单,不公通过这道题可以考验大家对for循环的掌握程度,希望所有小伙伴都能在看完文章后自己写出题目的代码