在 C 中循环 ascii 艺术
Loop for ascii arts in C
我必须创建循环来显示 C 中的一些 ascci 艺术。我制作了
第一个,它工作正常。但是我不能做第二个。我试过
有字符串,循环,但我无法以正确的逻辑思考。当我
以为我明白了,该程序不起作用。你能帮帮我吗?
这是我需要的图纸https://imgur.com/a/ykDmFk4
如果你能帮助其他人,我也会感谢你!
https://imgur.com/a/TeFBzpf
https://imgur.com/a/G4mRuSW
PS: 用户选择绘图的最高行
这是我的代码 https://pastebin.com/y2Bx0aUc
#include <stdio.h>
int main()
{
int desenho;
int tamanho;
int original;
char vamo[100];
char teste[1];
int i;
int adicionar;
int variavel;
printf("Digite o desenho que quer (entre 1 e 5): \n");
scanf("%d",&desenho);
printf("Agora digite o tamanho da primeira linha: \n");
scanf("%d",&tamanho);
switch (desenho) {
case 1:
for (tamanho = tamanho; tamanho > 0; tamanho--){
for (i = tamanho; i >0; i--){
printf("*");
}
printf("\n");
}
break;
case 2:
original = tamanho;
for (tamanho = tamanho; tamanho > 0; tamanho--){
for (i = tamanho; i >0; i--){
printf("*");
}
printf("\n");
}
printf("*\n");
teste[0] = '*';
for (adicionar = 0; adicionar < 100; adicionar++){
vamo[adicionar] = teste[0];
teste[0] = teste[0] + '*';
}
adicionar = 0;
for (i = 0 ; i < original; i++){
printf("%c", vamo[adicionar]);
adicionar++;
}
break;
case 3:
return 0;
}
}
#include <stdio.h>
void print_line(int n) {
for (int i = 0; i < n; ++i) {
printf("*");
}
printf("\n");
}
void print_ascii(int height) {
for (int i = height; i > 0; --i) {
print_line(i);
}
for (int i = 1; i <= height; ++i) {
print_line(i);
}
}
int main(void) {
print_ascii(5);
}
print_ascii
函数采用一个参数,即形态的高度。在每个高度 i 我们打印一行包含 i 个“*”字符。
我必须创建循环来显示 C 中的一些 ascci 艺术。我制作了 第一个,它工作正常。但是我不能做第二个。我试过 有字符串,循环,但我无法以正确的逻辑思考。当我 以为我明白了,该程序不起作用。你能帮帮我吗?
这是我需要的图纸https://imgur.com/a/ykDmFk4
如果你能帮助其他人,我也会感谢你! https://imgur.com/a/TeFBzpf https://imgur.com/a/G4mRuSW
PS: 用户选择绘图的最高行
这是我的代码 https://pastebin.com/y2Bx0aUc
#include <stdio.h>
int main()
{
int desenho;
int tamanho;
int original;
char vamo[100];
char teste[1];
int i;
int adicionar;
int variavel;
printf("Digite o desenho que quer (entre 1 e 5): \n");
scanf("%d",&desenho);
printf("Agora digite o tamanho da primeira linha: \n");
scanf("%d",&tamanho);
switch (desenho) {
case 1:
for (tamanho = tamanho; tamanho > 0; tamanho--){
for (i = tamanho; i >0; i--){
printf("*");
}
printf("\n");
}
break;
case 2:
original = tamanho;
for (tamanho = tamanho; tamanho > 0; tamanho--){
for (i = tamanho; i >0; i--){
printf("*");
}
printf("\n");
}
printf("*\n");
teste[0] = '*';
for (adicionar = 0; adicionar < 100; adicionar++){
vamo[adicionar] = teste[0];
teste[0] = teste[0] + '*';
}
adicionar = 0;
for (i = 0 ; i < original; i++){
printf("%c", vamo[adicionar]);
adicionar++;
}
break;
case 3:
return 0;
}
}
#include <stdio.h>
void print_line(int n) {
for (int i = 0; i < n; ++i) {
printf("*");
}
printf("\n");
}
void print_ascii(int height) {
for (int i = height; i > 0; --i) {
print_line(i);
}
for (int i = 1; i <= height; ++i) {
print_line(i);
}
}
int main(void) {
print_ascii(5);
}
print_ascii
函数采用一个参数,即形态的高度。在每个高度 i 我们打印一行包含 i 个“*”字符。