日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用C语言写一个球的程序,12个球的程序.....

發布時間:2025/3/12 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用C语言写一个球的程序,12个球的程序..... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

12個球的程序.....

微軟的一道題目...上班很無聊 寫來玩玩

有12個外表一模一樣的小球,其中有一個的質量和其他11個球不一樣(11個球的質量完全相同),而且該球不知道是輕點還是重點。現在給你一個天平(無砝碼),只有3次測量機會,請你找出該球。球號從a到l(小寫)

程序代碼:#include

#include

#include

#define LETTER_HEAD 97 //a的起始

#define BALL_NUM 12 //球個數

#define NORMAL_WEIGHT 2 //一般球的重量

#define HIGH_WEIGHT 3 //球超重

#define LOW_WEIGHT 1 //球失重...

#define LOOP 3 //循環次數(可稱幾次)

#define FALSE -1

#define TRUE 0

int badBallWeight;

char badBall;

//得到壞球的字符

char getBadBall()

{

srand((unsigned)time(NULL));

return (char)(random()%BALL_NUM+LETTER_HEAD);

}

//得到壞球的重量

void getBadBallWeight()

{

int type;

srand((unsigned)time(NULL));

type = random()%2;

if(1==type)

{

badBallWeight = HIGH_WEIGHT;

}

else

{

badBallWeight = LOW_WEIGHT;

}

}

//開啟了debug后 返回FALSE

int debug(char* str)

{

if(strcmp(str, "exit") == 0)

{

exit(0);

}

if(strcmp(str, "cheat") == 0)

{

printf("CHEAT : bad ball is %c, weight is %d\n", badBall, badBallWeight);

return FALSE;

}

return TRUE;

}

//驗證球的名字,不在a-l之間的返回FALSE

int verifyBallsName(char* str)

{

char* p;

for(p = str; *p != '\0'; p++)

{

if(*p'l')

{

return FALSE;

}

}

return TRUE;

}

//驗證一側的球有無重復,重復返回FALSE

int verifySingleRepeat(char* str)

{

char* p, *temp;

int repeat;

for(p = str; *p != '\0'; p++)

{

repeat = 0;

for(temp = str; *temp != '\0'; temp++)

{

if(*p == *temp)

repeat++;

}

if(repeat > 1)

return FALSE;

}

return TRUE;

}

//驗證一側的錯誤性 有錯打印并返回FALSE,無錯返回有幾個球

int verifySingle(char* str)

{

int err;

err = debug(str);

if(FALSE == err)

return FALSE;

err = verifyBallsName(str);

if(FALSE == err)

{

printf("\nERROR: balls name error (Usage:abcdefghijkl)\n");

return FALSE;

}

err = verifySingleRepeat(str);

if(FALSE == err)

{

printf("\nERROR: balls name repeat\n");

return FALSE;

}

return TRUE;

}

//得到單側的重量

int getSingleWeight(char* str)

{

int ballsNum, haveBadBall;

char* p;

ballsNum = strlen(str);

haveBadBall = 0;

for(p = str; *p != '\0'; p++)

{

if(*p == badBall)

haveBadBall++;

}

return ((ballsNum-haveBadBall)*NORMAL_WEIGHT+haveBadBall*badBallWeight);

}

int verifyMultiBallName(char* leftStr, char* rightStr)

{

char *l, *r;

for(l = leftStr; *l != '\0'; l++)

{

for(r = rightStr; *r != '\0'; r++)

{

if(*l == *r)

return FALSE;

}

}

return TRUE;

}

int main()

{

int loopTime, err;

int leftWeight, rightWeight;

char left[128],right[128];

char bad[16];

printf("有12個外表一模一樣的小球,其中有一個的質量和其他11個球不一樣(11個球的質量完全相同),\

而且該球不知道是輕點還是重點。現在給你一個天平(無砝碼),只有3次測量機會,請你找出該球。球號從a到l(小寫)\n");

badBall = getBadBall();

getBadBallWeight();

for(loopTime = 1; loopTime <= LOOP; loopTime++)

{

printf("pls input left balls: ");

scanf("%s", left);

err = verifySingle(left);

if(FALSE == err)

goto error;

leftWeight = getSingleWeight(left);

printf("pls input right balls: ");

scanf("%s", right);

err = verifySingle(right);

if(FALSE == err)

goto error;

rightWeight = getSingleWeight(right);

err = verifyMultiBallName(left, right);

if(FALSE == err)

{

printf("\nERROR: one ball both in left and right\n");

goto error;

}

if(leftWeight > rightWeight)

{

printf("result %d : left > right\n", loopTime);

}

else if(leftWeight < rightWeight)

{

printf("result %d : left < right\n", loopTime);

}

else

{

printf("result %d : left = right\n", loopTime);

}

continue;

error:

loopTime--;

}

printf("pls input the bad ball name:");

scanf("%s", bad);

if(*bad == badBall)

{

printf("\ncongratulation,your selected is right!\n");

}

else

{

printf("\nsorry,your selected is wrong!\n");

}

return 0;

}

總結

以上是生活随笔為你收集整理的用C语言写一个球的程序,12个球的程序.....的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷视频一区 | 桃色成人网 | 黑人黄色片 | 蜜桃av噜噜一区二区三区麻豆 | 天堂网www| 吞精囗交69激情欧美 | 天天看片天天干 | 大咪咪dvd| 毛片无码免费无码播放 | 国产日韩一区二区在线观看 | 在线观看国产欧美 | 亚洲欧美视频二区 | 中文字幕在线网 | 国产制服av | 污视频在线观看网址 | 国产清纯白嫩初高中在线观看性色 | 日韩电影中文字幕在线观看 | 亚洲免费资源 | 欧美一线高本道 | aise爱色av | 年代下乡啪啪h文 | 亚洲第一二三区 | 9l视频自拍蝌蚪9l视频 | 体内射精一区二区 | 高清欧美性猛交xxxx黑人猛交 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲在线观看免费 | 日本激情视频网站 | 男女污污软件 | 99精品一区二区三区 | 伊人婷婷色 | 亚洲一区二区三区四区av | 欧美色图小说 | 亚洲国产欧美另类 | 成人精品在线看 | 一区二区视频在线免费观看 | 九七影院在线观看免费观看电视 | 免费看黄色小视频 | 亚洲黄色自拍 | 麻豆亚洲av熟女国产一区二 | 中文字幕一区二区三区电影 | 肮脏的交易在线观看 | 成人小说亚洲一区二区三区 | 美梦视频大全在线观看高清 | 国产在线综合视频 | 成人福利一区二区三区 | 国产情侣一区二区三区 | 国产一区二区三区四区精 | 国产无套精品 | 噜噜狠狠狠狠综合久久 | 日日摸夜夜添夜夜添高潮喷水 | 大学生高潮无套内谢视频 | 亚洲vs天堂| 无码任你躁久久久久久老妇 | 99久久久无码国产精品性波多 | 久久久精品免费视频 | 少妇精品无码一区二区免费视频 | 夜夜草网站| 男女午夜爽爽爽 | 日本色婷婷 | 日韩精品人妻一区 | 97国产在线播放 | 国产xx在线观看 | 精品国产丝袜一区二区三区乱码 | 亚洲天堂av女优 | 一本色道久久综合亚洲精品小说 | 男操女视频免费 | 视频一区二区三区在线观看 | 微拍福利一区二区 | 欧美激情视频一区二区 | 久久久亚洲| 色婷婷综合视频 | 另类色综合| 成人在线免费观看网站 | 国外av在线 | 在线色亚洲 | 99999视频 | 国产亚洲欧洲 | 国产精品久久网 | 成人毛片在线精品国产 | 手机在线看片你懂的 | 久久亚洲一区二区 | 狠狠操网 | 日本美女一区二区三区 | 黄色三级小说 | 男人插女人免费视频 | 4438激情网| 国产二级一片内射视频播放 | av国产成人 | 成人免费在线视频观看 | 国产日韩欧美一区二区 | 日本综合视频 | 特级毛片爽www免费版 | 99riav国产 | 东方伊甸园av在线 | 国产网站在线看 | 国产三级三级三级 | 亚洲熟妇无码av在线播放 | 大吊av|