久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
C語言的算法:報數游戲程序
[打印本頁]
作者:
XYDDD
時間:
2022-10-12 09:16
標題:
C語言的算法:報數游戲程序
學技術,重在日拱一卒,一點一滴的積累。
今天,我們一起來分析C語言的算法:報數游戲。
算法:假設一共有n個人玩游戲,編號分別為1~n,手動輸入一個小于n的數w,則從1開始查數,當數到w的時候,則此編號的人退出游戲,然后下一個人重新開始從1報數,,直到所有人都退出游戲,求退出玩家的編號依次為什么?
例如:有5人玩游戲,w為2,則退出順序為2 4 1 5 3。
編程思路
編程思路:
1、根據題目要求,需要輸入兩個數n和m,當每次到m的時候,就有人退出,然后再重新開始報數1~m。
2、可以通過要求,理解為將1~n編號從1開始循環,到m之后對應編號退出,再重新開始循環,那么為了達到以上目的,可以通過設置鏈表的方式來存儲編號,同時將鏈表的首位連接,構成閉環的鏈表。
3、通過閉環的鏈表,我們就可以不斷的循環n次,在每次循環里面再循環m次,每次退出一人,然后在while循環中執行n減減操作,直到所有人退出完畢,結束循環。
程序范例
#include <stdio.h>
#include <stdlib.h>
struct ele
{
int no;
struct ele *link;
};
int n,m,i;
main()
{
struct ele *h,*u,*p;
system("cls");
printf("請輸入 n (一共有多少人完游戲)和 m(報幾個數出去一個人):\n");
scanf("%d%d",&n,&m);
h=u=(struct ele *)malloc(sizeof(struct ele));
h->no=1;
for(i=2;i<=n;i++)
{
u->link=(struct ele *)malloc(sizeof(struct ele));
u=u->link;
u->no=i;
}
u->link=h;
puts("\n依次退出循環的人數是:");
while(n)
{
for(i=1;i<m;i++)
u=u->link;
p=u->link;
u->link=p->link;
printf("%4d",p->no);
free(p);
n--;
}
printf("\n\n Press any key to quit...\n");
getch();
}
程序運行結果:
1.jpg
(24.63 KB, 下載次數: 79)
下載附件
2022-10-12 09:16 上傳
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品成人免费视频
|
亚洲一区在线日韩在线深爱
|
欧美一级黄视频
|
久久久一区二区
|
国产91精品网站
|
成人午夜黄色
|
亚洲一区二区精品视频在线观看
|
国产一区二区三区久久久久久久久
|
日韩精品在线播放
|
国产xxxx在线
|
欧美偷偷操
|
久久精品男人的天堂
|
欧美精品久久久久
|
国产欧美精品区一区二区三区
|
日本高清aⅴ毛片免费
|
国产激情视频网站
|
欧美二区在线
|
桃花av在线
|
精品毛片
|
夜夜爽99久久国产综合精品女不卡
|
波多野结衣av中文字幕
|
国产丝袜av
|
一区二区成人
|
成人小视频在线观看
|
久久综合狠狠综合久久综合88
|
精品久久一区二区三区
|
国产日韩欧美一区
|
激情在线视频
|
久久黄视频
|
www.嫩草
|
91天堂
|
色在线看
|
免费一区二区
|
天堂一区二区三区
|
亚洲不卡
|
久久久久久国产免费视网址
|
日韩欧美成人一区二区三区
|
在线视频中文字幕
|
亚洲少妇综合网
|
亚洲国产情侣自拍
|
久久99精品久久久久久
|