本文目录一览:
- 1、C语言 问题 表达式15!=10和3>4的值分别是 A true和 false B 1和0 C 0
- 2、模拟一个微信抢红包的算法,钱数为x,人数为y,用随机数显示出每个红包的金额,c语言题目
- 3、C语言类似微信红包思路,怎么写这个?
- 4、C语言 微信红包
- 5、C语言题目。double a[5],*p;p=a; 下列能表示a数组元素地址表达式的是:A.
- 6、在线等,急求一道C语言的编程题!!!正确答案直接发20元微信红包
C语言 问题 表达式15!=10和3>4的值分别是 A true和 false B 1和0 C 0
答案是B。因为标准C语言中没有bool类型,你可以自己定义个1和0为true和false。
模拟一个微信抢红包的算法,钱数为x,人数为y,用随机数显示出每个红包的金额,c语言题目
#include stdio.h
#include stdlib.h
#include time.h
double Random() {return (rand() %1000) * 0.001;}
double Random(double aver)
{
double ret = 0;
for(int i=0; i2; ++i) ret += Random();
return (aver * ret);
}
int main(int argv, int **argc)
{
double x, v;
int y, i;
double aver, min;
srand(time(NULL));
printf("请输入金额:");
scanf("%lf", x);
printf("请输人数:");
scanf("%d", y);
aver = x / y;
min = 0.01 * y;
for(i=0; iy-1 x min; ++i)
{
v = Random(aver);
while(v x) v = Random(aver);
printf("%.2f\n", v);
x -= v;
min -= 0.01;
}
for(i=0; i y-1; ++i)
{
printf("%.2f\n", 0.01);
x -= 0.01;
}
printf("%.2f\n", x);
return 0;
}
C语言类似微信红包思路,怎么写这个?
首先,我说一下大概思路,取随机数应该是要用到算法,C语言库里面应该有这个函数,可以让取的数在一个范围波动,但是你这个要时刻留意随机数总和要小于N(金额总数),加上最后一个时刚好等于N。先输入总额度N,以及总的人数a,然后循环输入人数a次产生a个随机数,保证它们之和等于N(这里应该还需要定义一个临时变量,用来统计金额),程序中不需要指针,可以定义一个数组,如果是和微信红包类似,有小数,那就定一个float型的。
给你一个链接,是C语言如何产生随机数的网页链接
C语言 微信红包
#include stdio.h
#include string.h
#include time.h
#define MAX_TOTAL_MONEY 200 //红包的最大金额
#define MIN_PER_PLAYER 1 //一个人抢到的的最小面额1元
#define MAX_PLAYER_CNT (MAX_TOTAL_MONEY/MIN_PER_PLAYER) //最大抢红包的游戏人数
typedef struct player
{
char *name;//标记玩家 可以不填
unsigned int money_get;//抢到的红包
}PLAYER_T;
//每个人领取到的红包金额不等 这个要求比较难搞 暂时不考虑
int main(int argc, char *argv[])
{
unsigned int total_money = 0; //不考虑角和分 浮点运算比较复杂
unsigned int player_cnt = 0;
int on_off = 0;
int i = 0;
int j = 0;
PLAYER_T player[MAX_PLAYER_CNT] = {0};
PLAYER_T tmp = {0};
printf("输入红包金额:\n");
scanf("%u", total_money);
printf("输入游戏人数:\n");
scanf("%u", player_cnt);
printf("是否需要减小贫富差距(0为关闭其余为开启):\n");
scanf("%u", on_off);
//不符合规则的输入判断
if (total_money MAX_TOTAL_MONEY || 0 == total_money || 0 == player_cnt || player_cnt*MIN_PER_PLAYER total_money)
{
printf("红包金额最小%u元 最大%u元 游戏人数最小1人 最大%u人\n", MIN_PER_PLAYER, MAX_TOTAL_MONEY, MAX_PLAYER_CNT);
return 0;
}
for (i = 0; i player_cnt; i++)
{
//设置随机种子
srand(time(NULL)+i);
//根据随机种子获取一个伪随机数作为抢到的红包 并通过余运算使其始终小于total_money
player[i].money_get = rand()%total_money;
//限制所有人所能抢到的最大红包为当前金额池的1/5而不是全部
if (0 != on_off)
{
if (total_money 5)//5块钱以上再限制
{
player[i].money_get = rand()%(total_money/5);
}
}
//最后一个人拿所有剩下的红包
if (player_cnt - 1 == i)
{
player[i].money_get = total_money;
}
//运气差随机到0元 给你最小面额
else if (0 == player[i].money_get)
{
player[i].money_get = MIN_PER_PLAYER;
}
//剩下的要保证每个人能抢到最小面额
else if (total_money - player[i].money_get (player_cnt-i-1)*MIN_PER_PLAYER)
{
player[i].money_get = total_money - (player_cnt-i-1)*MIN_PER_PLAYER;
}
//把抢到的金额从红包池中减掉
total_money -= player[i].money_get;
//如果填了name 可以把名字打印出来
printf("第%d个玩家抢到红包:%u元\n", i+1, player[i].money_get);
}
//冒泡排序 找出手气最佳者
for (i = 0; i player_cnt; i++)
{
for (j = i+1; j player_cnt; j++)
{
if (player[i].money_get player[j].money_get)
{
memcpy(tmp, player[j], sizeof(PLAYER_T));
memcpy(player[j], player[i], sizeof(PLAYER_T));
memcpy(player[i], tmp, sizeof(PLAYER_T));
}
}
}
printf("手气最佳者抢到红包:%u元\n", player[0].money_get);//如果填了name 可以把名字打印出来
return 0;
}
C语言题目。double a[5],*p;p=a; 下列能表示a数组元素地址表达式的是:A.
答案是A,
A是表示数组第一个元素地址
B已经越界访问,a数组无第六个元素
C是取a[0]值,不是地址
D写法有误
在线等,急求一道C语言的编程题!!!正确答案直接发20元微信红包
凸包问题。计算几何。
#includestdio.h
#includestring.h
struct node
{
long long x,y;
}a[100005],b[100005];
long long mul(node p1,node p2,node p3)
{
return (p2.x-p1.x)*(p3.y-p1.y)-(p3.x-p1.x)*(p2.y-p1.y);
}
int main()
{
int n,m,i,low,high,mid,flag;
while(scanf("%d",n)!=EOF)
{
for(i=0;in;i++)
scanf("%lld%lld",a[i].x,a[i].y);
scanf("%d",m);
for(i=0;im;i++)
scanf("%lld%lld",b[i].x,b[i].y);
flag=0;
for(i=0;im;i++)
{
if(mul(a[0],a[1],b[i])=0||mul(a[0],a[n-1],b[i])=0)
{
flag=1;
goto loop;
}
low=2; high=n-1;
while(lowhigh)
{
mid=(low+high)1;
if(mul(a[0],a[mid],b[i])0)
high=mid;
else low=mid+1;
}
if(mul(a[low],a[low-1],b[i])=0)
{
flag=1;
goto loop;
}
}
loop: if(flag)
printf("NO\n");
else printf("YES\n");
}
return 0;
}
转自
算法描述里面也有。