‘壹’ c语言红包代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
inti,n;
floata[100],all;
srand(time(NULL));
printf("请输入红包金额:");
scanf("%f",&all);
printf("请输入红包个数:");
scanf("%d",&n);
srand((unsigned)time(0));
for(i=1;i<n;i)
{
a[i]=(float)rand()/RAND_MAX*all;
if(a[i]>0)
{
all-=a[i];
printf("%f
",a[i]);
i++;
}
}
printf("%f
",all);
}
‘贰’ c语言逻辑语序 输出 一个数一换行 改成两个数一换行
char s[100][5]={"ab","jg","in","jg","en"};
for(int i=0;i<5;i++)
{printf("%d,%s,",i,s[i]);
if(i%2==0)
printf("\n");
}
‘叁’ 模拟一个微信抢红包的算法,钱数为x,人数为y,用随机数显示出每个红包的金额,c语言题目
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
doubleRandom(){return(rand()%1000)*0.001;}
doubleRandom(doubleaver)
{
doubleret=0;
for(inti=0;i<2;++i)ret+=Random();
return(aver*ret);
}
intmain(intargv,int**argc)
{
doublex,v;
inty,i;
doubleaver,min;
srand(time(NULL));
printf("请输入金额:");
scanf("%lf",&x);
printf("请输人数:");
scanf("%d",&y);
aver=x/y;
min=0.01*y;
for(i=0;i<y-1&&x>min;++i)
{
v=Random(aver);
while(v>x)v=Random(aver);
printf("%.2f ",v);
x-=v;
min-=0.01;
}
for(i=0;i>y-1;++i)
{
printf("%.2f ",0.01);
x-=0.01;
}
printf("%.2f ",x);
return0;
}
‘肆’ C语言编程题,求解题思路!
只要按照公式计算每月还款金额就可以了,其中"已归还本金累计额"等于"贷款本金 除以 还款月数 乘以 已还款月数".
按照题目要求编写的等额本金还款的C语言程序如下
#include<stdio.h>
int main(){
double P,R,repayment;
int N,i;
scanf("%lf;%d;%lf",&P,&N,&R);
printf("[");
for(i=0;i<N;i++){
repayment=(P/N)+(P-P/N*i)*R;
if(i==N-1)
printf("%.2lf]",repayment);
else
printf("%.2lf,",repayment);
}
return 0;
}
‘伍’ C语言:恭喜发财 利是窦来
BIT的同学,立刻崩溃就用调试纠错,程序崩溃很好debug,这个要自己亲自尝试,别人帮你学不会。
‘陆’ C语言编程:求一段发红包的代码。(随机数,能规定红包总钱数总人数,每个人拿到的钱不为0)
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
intmain(void)
{
floattotal;
printf("输入总钱数: ");
scanf("%f",&total);
intnum;
printf("输入红包数量: ");
scanf("%d",&num);
floatmin=0.01;
floatsafe_total;
floatmoney;
inti;
srand((unsigned)time(NULL));
for(i=1;i<num;i++){
safe_total=(total-(num-i)*min)/(num-1);
money=(float)(rand()%((int)(safe_total*100)))/100+min;
total=total-money;
printf("红包%2d:%.2f元,余额:%.2f元 ",i,money,total);
}
printf("红包%2d:%.2f元,余额:0.00元 ",num,total);
return0;
}
‘柒’ C语言 微信红包
#include<stdio.h>
#include<string.h>
#include<time.h>
#defineMAX_TOTAL_MONEY200//红包的最大金额
#defineMIN_PER_PLAYER1//一个人抢到的的最小面额1元
#defineMAX_PLAYER_CNT(MAX_TOTAL_MONEY/MIN_PER_PLAYER)//最大抢红包的游戏人数
typedefstructplayer
{
char*name;//标记玩家可以不填
unsignedintmoney_get;//抢到的红包
}PLAYER_T;
//每个人领取到的红包金额不等这个要求比较难搞暂时不考虑
intmain(intargc,char*argv[])
{
unsignedinttotal_money=0;//不考虑角和分浮点运算比较复杂
unsignedintplayer_cnt=0;
inton_off=0;
inti=0;
intj=0;
PLAYER_Tplayer[MAX_PLAYER_CNT]={0};
PLAYER_Ttmp={0};
printf("输入红包金额: ");
scanf("%u",&total_money);
printf("输入游戏人数: ");
scanf("%u",&player_cnt);
printf("是否需要减小贫富差距(0为关闭其余为开启): ");
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人 ",MIN_PER_PLAYER,MAX_TOTAL_MONEY,MAX_PLAYER_CNT);
return0;
}
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元给你最小面额
elseif(0==player[i].money_get)
{
player[i].money_get=MIN_PER_PLAYER;
}
//剩下的要保证每个人能抢到最小面额
elseif(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元 ",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元 ",player[0].money_get);//如果填了name可以把名字打印出来
return0;
}
‘捌’ c语言:解题思路
只要按照公式计算每月还款金额就可以了,其中"已归还本金累计额"等于"贷款本金 除以 还款月数 乘以 已还款月数".
按照题目要求编写的等额本金还款的C语言程序如下
#include<stdio.h>
int main(){
double P,R,repayment;
int N,i;
scanf("%lf;%d;%lf",&P,&N,&R);
printf("[");
for(i=0;i<N;i++){
repayment=(P/N)+(P-P/N*i)*R;
if(i==N-1)
printf("%.2lf]",repayment);
else
printf("%.2lf,",repayment);
}
return 0;
}
‘玖’ C语言计算贷款问题 输出不正确
printf("money(%lf,%d)=%lf\n",loan,year,money);