使用oracle用*号打印正金子塔
时间: 2023-12-05 20:03:51 浏览: 118
好的,下面是使用Oracle SQL语句用*号打印正金字塔的示例:
```
SET SERVEROUTPUT ON
DECLARE
numRows NUMBER := 5; -- 正金字塔的行数
BEGIN
FOR i IN 1..numRows LOOP
-- 打印空格
FOR j IN 1..numRows-i LOOP
DBMS_OUTPUT.PUT(' ');
END LOOP;
-- 打印星号
FOR k IN 1..(2*i-1) LOOP
DBMS_OUTPUT.PUT('*');
END LOOP;
-- 换行
DBMS_OUTPUT.NEW_LINE;
END LOOP;
END;
```
执行以上Oracle PL/SQL代码,即可在控制台中打印出如下的正金字塔:
```
*
***
*****
*******
*********
```
希望能够帮到您!
相关问题
使用oracle用* 号打印空心金字塔
以下是使用 Oracle SQL 打印空心金字塔的代码:
```
SET SERVEROUTPUT ON
DECLARE
n NUMBER := 10; -- 金字塔的层数
i NUMBER;
j NUMBER;
BEGIN
FOR i IN 1..n LOOP
FOR j IN 1..(n-i) LOOP
DBMS_OUTPUT.PUT(' '); -- 打印空格
END LOOP;
FOR j IN 1..(2*i-1) LOOP
IF i = n OR j = 1 OR j = (2*i-1) THEN
DBMS_OUTPUT.PUT('*'); -- 打印金字塔的顶点或底边或边缘
ELSE
DBMS_OUTPUT.PUT(' '); -- 打印空心部分
END IF;
END LOOP;
DBMS_OUTPUT.NEW_LINE; -- 换行
END LOOP;
END;
/
```
这段代码会输出一个层数为10的空心金字塔,你可以根据需要修改变量 `n` 的值。注意,这段代码需要在 Oracle 数据库中执行。
oracle用*号打印正金子塔
以下是 Oracle SQL 打印正金字塔的示例代码:
```
SET SERVEROUTPUT ON;
DECLARE
n NUMBER := 7; -- 控制金字塔的层数
BEGIN
FOR i IN 1..n LOOP
FOR j IN 1..n-i LOOP
DBMS_OUTPUT.PUT(' ');
END LOOP;
FOR k IN 1..2*i-1 LOOP
DBMS_OUTPUT.PUT('*');
END LOOP;
DBMS_OUTPUT.NEW_LINE;
END LOOP;
END;
```
你可以将 `n` 的值改为你想要的层数,然后执行这段代码即可在 Oracle SQL Developer 或 SQL*Plus 等工具中打印出正金字塔。
阅读全文