用c语言写一个玫瑰花程序
时间: 2023-04-02 11:03:06 浏览: 95
你好,以下是用 C 语言编写玫瑰花程序的代码:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j;
double x, y, r;
for (i = ; i <= 90; i++)
{
for (j = ; j <= 180; j++)
{
x = sin(i * M_PI / 180) * cos(j * M_PI / 180);
y = sin(i * M_PI / 180) * sin(j * M_PI / 180);
r = sqrt(x * x + y * y);
if (r <= sin(45 * M_PI / 180))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return ;
}
希望能帮到你!
相关问题
c语言写一个玫瑰花代码
这是一个使用C语言编写的简单玫瑰花程序,它可以在屏幕上打印出一个玫瑰花的图案。以下是代码的简要解释:
```
#include <stdio.h>
#define MAX_ROSES 100
int main()
{
int i, j, k, n, m, count = 0;
double PI = 3.14159265358979323846, r, x, y, z, a, b, c, f, p;
char rose[MAX_ROSES][MAX_ROSES];
printf("Enter the number of petals (1-10): ");
scanf("%d", &n);
printf("Enter the radius of the rose (10-50): ");
scanf("%lf", &r);
m = 2 * n - 1;
for (i = 0; i < MAX_ROSES; i++)
{
for (j = 0; j < MAX_ROSES; j++)
{
rose[i][j] = ' ';
}
}
for (k = 0; k < m; k++)
{
for (i = 0; i < MAX_ROSES; i++)
{
for (j = 0; j < MAX_ROSES; j++)
{
x = (j - MAX_ROSES / 2) / (r / 3);
y = (MAX_ROSES / 2 - i) / (r / 3);
z = x * x + y * y;
a = (PI / n) * k;
b = cos(a);
c = sin(a);
f = pow(z, 2.0 / 3) * pow(cos(PI / 2 * sqrt(z)), -1) + 0.002;
p = x * c - y * b;
if (p < f)
{
rose[i][j] = '*';
}
}
}
}
for (i = 0; i < MAX_ROSES; i++)
{
for (j = 0; j < MAX_ROSES; j++)
{
printf("%c", rose[i][j]);
}
printf("\n");
}
return 0;
}
```
用c语言弄一个玫瑰花代码
以下是一个使用C语言编写的简单玫瑰花程序,它可以在屏幕上打印出一个玫瑰花的图案:
```c
#include <stdio.h>
#include <math.h>
#define MAX_ROSES 100
int main()
{
int i, j, k, n;
double x[MAX_ROSES], y[MAX_ROSES], r[MAX_ROSES];
printf("Enter the number of roses to draw (1-100): ");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("Enter the radius of rose %d (1-100): ", i + 1);
scanf("%lf", &r[i]);
}
for (i = 0; i < n; i++) {
for (j = 0; j < 360; j++) {
x[j] = r[i] * sin(j * M_PI / 180.0) * sin(i * M_PI / 180.0);
y[j] = r[i] * sin(j * M_PI / 180.0) * cos(i * M_PI / 180.0);
}
for (j = 0; j < 360; j++) {
k = (j + 1) % 360;
printf("(%d,%d)-(%d,%d)\n", (int)x[j] + 50, (int)y[j] + 20, (int)x[k] + 50, (int)y[k] + 20);
}
}
return 0;
}
```
这个程序会要求用户输入要绘制的玫瑰花的数量和每朵玫瑰花的半径,然后使用三重循环来计算每个点的坐标,并将它们打印到屏幕上。这个程序使用了数学库中的sin和cos函数来计算坐标,因此需要包含math.h头文件。