c语言图案输出,问如何能够高效的输出如图图案呢?
本帖最后由 人造人 于 2020-4-26 17:38 编辑
#include <stdio.h>
void print_triangle(size_t offset, size_t n, size_t dep, size_t line) {
if(dep == 0) {
if(line > 1) print_triangle(offset, n, n, line - 1);
return;
}
print_triangle(offset + 1, n, dep - 1, line);
for(size_t i = 0; i < offset; ++i) printf(" ");
for(size_t i = 0; i < line; ++i) {
for(size_t i = 0; i < dep * 2 - 1; ++i) printf("*");
for(size_t i = 0; i < (n - dep + 1) * 2 - 1; ++i) printf(" ");
}
printf("\n");
}
int main(void) {
size_t n;
printf("please input N: ");
scanf("%lu", &n);
print_triangle(0, n, n, n);
return 0;
}
please input N: 7
*
***
*****
*******
*********
***********
*************
* *
*** ***
***** *****
******* *******
********* *********
*********** ***********
************* *************
* * *
*** *** ***
***** ***** *****
******* ******* *******
********* ********* *********
*********** *********** ***********
************* ************* *************
* * * *
*** *** *** ***
***** ***** ***** *****
******* ******* ******* *******
********* ********* ********* *********
*********** *********** *********** ***********
************* ************* ************* *************
* * * * *
*** *** *** *** ***
***** ***** ***** ***** *****
******* ******* ******* ******* *******
********* ********* ********* ********* *********
*********** *********** *********** *********** ***********
************* ************* ************* ************* *************
* * * * * *
*** *** *** *** *** ***
***** ***** ***** ***** ***** *****
******* ******* ******* ******* ******* *******
********* ********* ********* ********* ********* *********
*********** *********** *********** *********** *********** ***********
************* ************* ************* ************* ************* *************
* * * * * * *
*** *** *** *** *** *** ***
***** ***** ***** ***** ***** ***** *****
******* ******* ******* ******* ******* ******* *******
********* ********* ********* ********* ********* ********* *********
*********** *********** *********** *********** *********** *********** ***********
************* ************* ************* ************* ************* ************* *************
可以用*来实现,打印多个字符
xing="*";
print("Hello"+xing*10+"Word!");
&
print(xing*10+"Hello World!"+xing*10); #include <stdio.h>
void print_triangle(size_t offset, size_t n, size_t dep, size_t line) {
if(dep == 0) {
if(line > 1) print_triangle(offset, n, n, line - 1);
return;
}
print_triangle(offset + 1, n, dep - 1, line);
for(size_t i = 0; i < offset; ++i) printf(" ");
for(size_t i = 0; i < line; ++i) {
for(size_t i = 0; i < dep * 2 - 1; ++i) printf("*");
for(size_t i = 0; i < (n - dep + 1) * 2 - 1; ++i) printf(" ");
}
printf("\n");
}
int main(void) {
size_t n;
printf("please input N: ");
scanf("%lu", &n);
print_triangle(0, n, n, n);
return 0;
}
不是,我发代码也审核吗?^_^
#include <stdio.h>
void print_triangle(size_t offset, size_t n, size_t dep, size_t line) {
if(dep == 0) {
if(line > 1) print_triangle(offset, n, n, line - 1);
return;
}
print_triangle(offset + 1, n, dep - 1, line);
for(size_t i = 0; i < offset; ++i) printf(" ");
for(size_t i = 0; i < line; ++i) {
for(size_t i = 0; i < dep * 2 - 1; ++i) printf("*");
for(size_t i = 0; i < (n - dep + 1) * 2 - 1; ++i) printf(" ");
}
printf("\n");
}
int main(void) {
size_t n;
printf("please input N: ");
scanf("%lu", &n);
print_triangle(0, n, n, n);
return 0;
}
这里的题目一样
https://wenda.so.com/q/1366329674060639 @不二如是
需要人工审核,谢谢,^_^ 人造人 发表于 2020-4-26 16:02
@不二如是
需要人工审核,谢谢,^_^
好的 不二如是 发表于 2020-4-26 17:21
好的
我发的代码还没显示出来,^_^ 人造人 发表于 2020-4-26 17:30
我发的代码还没显示出来,^_^
把代码加到 2 楼哈
页:
[1]