Ⅰ c語言中的有符號和無符號是什麼意思給仔細講講
有符號就是signed:在存放整數的儲存單元中,最左邊的一位是表示符號位,該位為0,表示數值為正,1為負.無符號就是unsigned:就是最左邊的那一位沒有符號位
Ⅱ 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語言問題代碼,有幾句我看不懂 請你們給我講下, 不勝感激(分魚)
int a[3][3],count; // 這樣的定義是宏定義? 這樣的定義一般在什麼地方用呢 為什麼不用
#define 來定義呢
//這個不是宏定義,只是普通的全局變數定義,#define主要用來定義常量變數
// 這里的 條件語句flag&&n<3怎麼結合題意應該怎麼理解 特別是flag 不能理解
//flag即判斷(flag!=0),當前還滿足題意則繼續,,否則已經失敗可以不用繼續
//n<3因為是3個人在分配
// 這里的 ++count 怎麼理解 count 初值又是什麼呢
把count自加1後列印出來,初值為0
Ⅳ c語言編程題 平分魚和筐
滿半空 313 313 151;232 232 313;我用C++寫了個不完整的程序,然後口算了下。。。。
Ⅳ 寫論文,急求C語言寫微信搶紅包的演算法
寫作方向 字數 格式
Ⅵ 模擬一個微信搶紅包的演算法,錢數為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;
}
Ⅶ 我現在大一,211大學計算機科學與技術專業的,這個學期才來學c語言,老師教的也不怎麼樣。我知道c語
帶電腦過去聽課
邊聽邊敲
前提要聽懂先
聽了馬上敲
不懂了記下來
下課秒問
我學C的時候也是上課帶電腦過去敲
然後課下不用怎麼花時間
一周就兩三小時敲下代碼可以了
最主要是要多思考
Ⅷ C語言基礎問題 孔融分梨 想了很久了 謝謝!
#include<stdio.h>
intGcd(inta,intb)
{if(a>1000||b>1000||a<1||b<1)return-1;
if(a%b==0)returnb;
returnGcd(b,a%b);
}
intmain()
{intm,n,t;
scanf("%d/%d",&m,&n);
t=Gcd(m,n);
if(t==-1){printf("Err!
");return0;}
printf("%d/%d
",m/t,n/t);
return0;
}