关于数值取整的问题

wangyang2000 2004-04-16 08:23:20
例如:我生成两个随机数:1.3和2.2
我想将其变成1和2,怎么变?

其实我遇到的问题是如何生成1~19的随机整数

谢谢指点
...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
newegg2002 2004-04-16
  • 打赏
  • 举报
回复
楼主不必要先生成浮点数再转化成整型吧,难道中间生成的浮点数有他用?
直接随机生成整型的好了!
wshcdr 2004-04-16
  • 打赏
  • 举报
回复
给你一个例子参考

#include <stdio.h>
#include "stdlib.h"
#include "time.h"

void main()
{
struct tm *newtime;
time_t long_time;

time( &long_time );
newtime = localtime( &long_time );

int iRand = newtime->tm_sec;
srand(iRand);

for(int ii = 0; ii<10;ii++)
{
int j = rand() % 20;
printf("%d\n",j);
}
}
mrubbish 2004-04-16
  • 打赏
  • 举报
回复
生成1~19的随机数:
srand(time(0));
rand()%18+1);
wshcdr 2004-04-16
  • 打赏
  • 举报
回复
生成随机数

可以用rand结合localtime函数

mrubbish 2004-04-16
  • 打赏
  • 举报
回复
取整:
floor(1.3)
floor(2.2)
w3guy 2004-04-16
  • 打赏
  • 举报
回复
int i = (int)1.3;

你可以用rand
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
int main()
{
int i;
srand(time(NULL));
//生成100个 1~19的随机整数
for(i=0;i< 100; i++) {
printf("%d\n", rand()%19+1);
}


}
Quain 2004-04-16
  • 打赏
  • 举报
回复
float a = 1.3;
int b = (int)a;
b就等于1啦

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧