c语言结构体初始化问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:45:08
在一个正方形区域〔20,60〕×〔20,60〕内放颗粒,要求是每个位置点放10个颗粒(例如:点(30,30)这个位置放10个颗粒),且所用颗粒的初始速度均为零。这要求用结构体做,其他的我都会了,就是结构体的初始化,我不想一个一个用键盘输入,请哪位高手能知道一下,将代码给我,如果正确,万分感谢。能给我提示的,也很感谢,但是最好要完整的代码,谢谢
结构体中包含的元素有(坐标x,y;两个方向上的速度ux,uy)。正方形区域〔20,60〕×〔20,60〕指的是需要放入颗粒的二维空间,空间中每个点都放入10个颗粒。现在初始化,就是将颗粒用一个循环或是嵌套初始化,而不是一个一个的位置输入。我想要代码,谢谢啊,思路我也有,只是本人C水平有限,实现不了。

结构体包含哪些具体数据?

我的想法是定义结构体数组,下标表示坐标。数据部分有一个速度。。。。
直接for循环。。。每一个赋值0就完啦。。。

struct{
int x;
int y;
struct sudu a[10];
}a;
struct sudu
{float ux=0;
float uy=0;
}b;
a.b.a[0]={0,0}
你用个循环把a[0]到a[10]赋成0,还是看不懂正方形区域,在正方形区域输出估计带用图形函数

首先来说,楼主的问题没有讲明白,(20,60)*(20,60)是什么意思呢?假如你仅仅是要解决输入的问题。。。。你总是要输入的吧,除非你有现成的数据文件,比如每一个位置的值,这样的话你可以使用重定向功能,比如
target.exe < data.dat
target.exe的原码中还是从键盘挨个输入,而data.dat文件中顺序放入要输入的数据,就可以了。注意不要缺少回车键。
假如输入的数据本身就很有规律,那么就直接在程序中使用循环来初始化吧。看样子楼主做仿真?这些还是比较简单的,希望有帮助