河內塔問題
#include<stdio.h>
#include<stdlib.h>
int fun_a(int)
void fun_b(int,int,int,int)
int main(void)
{
int n
int option
printf("題目二:河內塔問題\n")
printf("請輸入要搬移的圓盤數目\n")
scanf("%d",&n)
printf("最少搬移的次數為%d次\n",fun_a(n))
printf("是否顯示移動過程? 是請輸入1,否則輸入0\n")
scanf("%d",&option)
if(option==1)
{
fun_b(n,1,2,3)
}
system("pause")
return 0
}
int fun_a(int n)
{
int sum1=2,sum2=0,i
for(i=n i>1 i--)
{
sum1=sum1*2
}
sum2=sum1-1
return sum2
}
void fun_b(int n,int left,int mid,int right)
{
if(n==1)
printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right)
else
{
fun_b(n-1,left,right,mid)
printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right)
fun_b(n-1,mid,left,right)
}
}
標簽:
int
include
stdlib
fun_a
上傳時間:
2016-12-08
上傳用戶:努力努力再努力
//建立頂級窗口
toplevel = XtVaAppInitialize[&app, "List", NULL, 0,
&argc, argv, NULL, NULL]
//建立列表上的復合字符串
for[i=0 i<12 i++]
str_months[i] = XmStringCreateSimple[months[i]]
//建立列表
n = 0
XtSetArg[args[n], XmNitems, str_months] n++
XtSetArg[args[n], XmNitemCount, 12] n++
XtSetArg[args[n], XmNvisibleItemCount, 8] n++
//XtSetArg[args[n], XmNscrollBarDisplayPolicy, XmSTATIC] n++
//XtSetArg[args[n], XmNlistSizePolicy, XmCONSTANT] n++
XtSetArg[args[n], XmNselectionPolicy, XmEXTENDED_SELECT] n++
list = XmCreateScrolledList[toplevel, "list", args, n]
XtManageChild[list]
for[i=0 i<12 i++]
XmStringFree[str_months[i]]
//顯示窗口
XtRealizeWidget[toplevel]
//進入事件循環
XtAppMainLoop[app]
標簽:
NULL
XtVaAppInitialize
toplevel
List
上傳時間:
2013-12-21
上傳用戶:asdkin
//初始化
if(initscr() == NULL) {
perror("initcurs")
exit(EXIT_FAILURE)
}
//設置模式
cbreak()
noecho()
keypad(stdscr, TRUE)
//建立窗口
win = newwin(h, w, 3, 20)
box(win, 0, 0)
keypad(win, TRUE)
wmove(win, cury, curx)
mvaddstr(16, 1, "Press arrow keys to move the cursor within the window.\n")
mvaddstr(17, 1, "Press q to quit.\n")
refresh()
wrefresh(win)
標簽:
EXIT_FAILURE
initcurs
initscr
perror
上傳時間:
2013-12-20
上傳用戶:FreeSky