是否可以单循环制作螺旋?我以前做过螺旋,但只有多个循环。显示输出的代码的奖励。
#include "conio.h"
#include "dos.h"
#include "stdlib.h"
void main()
{
int p,q,r,s,t;
clrscr();
for(p=8; p<14; p++)
{
for(q=5 ; q<26; q++)
{
gotoxy(5,q);
printf("Û");
}
for(r=5; r<50; r++)
{
printf("Ü");
}
for(s=25; s>4; s--)
{
gotoxy(50,s);
printf("Û");
}
for(t=50; t>6; t--)
{
gotoxy(t,4);
printf("Ü");
}
for(q=5; q<25; q++)
{
gotoxy(7,q);
printf("Û");
}
// etc. . . I didn't write the full code.
}
答案 0 :(得分:1)
一种可能的方法:
const float centerX = 10, centerY = 10;
const float speed = 0.1;
const float max_angle = 10;
const float angleStep = 0.1;
for (float angle = 0; angle < max_angle; angle += angleStep) {
float radius = angle*speed;
float sX = centerX+cos(angle)*radius;
float sY = centerY+sin(angle)*radius;
createPoint(sX,sY);
}
替换createPoint
的任何绘图功能并使用参数。
createPoint
的一种方法(类似于上面的内容)将是:
void createPoint(int x, int y) {
gotoxy(x,y);
putchar('*');
}
如果您想稍后使用图形库,则可以只更改此方法。