17. (简答题) 图形打印。 题目描述 题目内容:编写程序,打印以下图形(行n的值由键盘输入)。 ******* ****** ***** **** *** ** * 输入样例:5 输出样例: ***** *** ** * 输入样例:9 输出样例: ********* ******** ******* ****** ***** **** *** * 测试用例 用例1 分数: 10 错误提示: 用例2 分数: 10 错误提示: 题目运行时间限制: 500ms 题目运行内存限制: 32000kb C语言
时间: 2023-06-11 09:06:40 浏览: 170
以下是C语言代码实现:
```
#include <stdio.h>
int main() {
int n;
printf("请输入行数:");
scanf("%d", &n);
for (int i = n; i > 0; i--) {
for (int j = i; j > 0; j--) {
printf("*");
}
printf("\n");
}
return 0;
}
```
思路解析:首先通过`scanf`函数获取用户输入的行数n,然后使用两层循环分别控制打印星号的数量和行数。具体地,外层循环控制行数,从n开始递减,内层循环控制每行打印星号的数量,从当前行数i开始递减,打印完一行后换行。
相关问题
2. 简答题 根据用户输入的行数,请使用for循环 和字符串操作符打印出如下图形: 上一题 2/3 答题卡 下一题
假设用户输入的行数为n,则代码如下:
```python
n = int(input("请输入行数:"))
for i in range(1, n+1):
print(" "*(n-i) + "*"*(2*i-1))
```
解释一下上面的代码:
1. 用户输入的行数n,使用int()将其转换为整数类型。
2. 使用for循环,遍历1到n的每一个数字i。
3. 在每一行中,首先打印一定数量的空格,数量为n-i。这样可以让图形居中。
4. 然后打印一定数量的星号,数量为2i-1,这样可以构成一个逐渐加宽的三角形。注意,这里使用的是字符串操作符“*”,并没有实际地乘以数字,而是直接生成了若干个星号组成的字符串。
5. 使用print()函数打印出每一行的字符串。
这样就可以打印出指定行数的图形了,例如当n=5时,输出结果如下:
```
*
***
*****
*******
*********
```
17. 简答题 利用for循环,输出小写字符及其对应的ASCII值,每行输出3个。
a 97 b 98 c 99
d 100 e 101 f 102
g 103 h 104 i 105
j 106 k 107 l 108
m 109 n 110 o 111
p 112 q 113 r 114
s 115 t 116 u 117
v 118 w 119 x 120
y 121 z 122