SOGO論壇
標題:
求救用這兩個程式碼做一個程式(我寫不出來)
[列印本頁]
作者:
gabrielle
時間:
2009-5-20 21:06:46
標題:
求救用這兩個程式碼做一個程式(我寫不出來)
#include <stdio.h>
/*max函數的宣告 */
int max(int x, int y);
int main(void)
{
int num1, num2, ans;
int (*pM)(int x, int y);
pM = max;
printf("請輸入第1個數值。\n");
scanf("%d",&num1);
printf("請輸入第2個數值。\n");
scanf("%d",&num2);
ans = (*pM)(num1, num2);
printf("最大值為%d。\n", ans);
system("pause");
return 0;
}
/* max函數的定義 */
int max(int x, int y)
{
if (x > y)
return x;
else
return y;
}
===================================================================================
#include <stdio.h>
/* 函數的宣告 */
void show0(void);
void show1(void);
void show2(void);
int main(void)
{
void (*pM[3])(void);
int num;
pM[0] = show0;
pM[1] = show1;
pM[2] = show2;
printf("要呼叫哪一種交通工具?(0:汽車 1:賽車 2:飛機)\n");
scanf("%d",&num);
if(0<= num && num <= 2)
(*pM[num])();
system("pause");
return 0;
}
/* 函數的定義 */
void show0(void)
{
printf("汽車。\n");
}
void show1(void)
{
printf("賽車。\n");
}
void show2(void)
{
printf("飛機。\n");
}
=============================================================================================
做成呼叫階層、加法、減法、乘法、除法、最大、最小、次方,在輸入兩個數值來運算
作者:
qweEX
時間:
2009-5-27 01:26:09
上面都是function pointer的範例
我想你要做的就是
先分別寫 階層、加法、減法、乘法、除法、最大、最小、次方 這幾個功能的function
eg:
int fac(int x){....}
int add(int x,int y){.....}
int sub(int x,int y){.....}
....等
然後main裡就像範例一樣宣告
int (*pM[8])(int x, int y);
把每個 function pointer 指定好
eg:
pM[0] = fac;
pM[1] = add;
pM[2] = sub;
...等
再printf問要做哪種運算
scanf問到要算的數字和要做的運算
呼叫 (*pM[xxx])(x,y) 來計算答案
歡迎光臨 SOGO論壇 (https://oursogo.com/)
Powered by OURSOGO.COM