1、C语言提供了一些库函数来实现随机数的产生。C语言中有三个通用的随机数发生器,分别为 rand函数, random函数, randomize 函数
2、但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int a)。
3、在调用rand函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。
举例:
#include <stdlibh>
#include <timeh>
int main()
{
int a[10][2];
int i,j,x,y;
srand(time(NULL));/随机数种子/
for ( i=0;i<10;i++)
for ( j=0;j<2;j++)
{
a[i][j]=0+ rand()%10;/产生0到10(不包括10)之间的随机数/
}
printf("输出元素:\n");
for ( i=0;i<10;i++)
for ( j=0;j<2;j++)
{
printf("a[%d][%d]=%d ",i,j,a[i][j]);
if((j+1)%2==0)
printf("\n");
}
getchar();
return 0;
}两种方法
一种 基础数组
你的坐标有几维 就定义几个数组,然后输出的时候 逐个输出
比如 二维
int x[100], y[100];
输出(x[i],y[i]);
第二种 结构体数组
定义结构体
逐个输出。#include <stdioh>
#include<mathh>
int main(void)
{
double a,b,c,L,s,p,x1,y1,x2,y2,x3,y3;
printf("坐标1:\n");
scanf("%lf%lf",&x1,&y1);
printf("坐标2:\n");
scanf("%lf%lf",&x2,&y2);
printf("坐标3:\n");
scanf("%lf%lf",&x3,&y3);
a=sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2));
b=sqrt((x2-x3)(x2-x3)+(y2-y3)(y2-y3));
c=sqrt((x1-x3)(x1-x3)+(y1-y3)(y1-y3));
if(a+b>c&&a+c>b&&b+c>a){
L=(a+b+c);
p=(a+b+c)05;
s=sqrt(p(p-a)(p-b)(p-c));
printf("L=%2lfs=%2lf\n",L,s);
}
else
printf("impossible");
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)