㈠ 演算法分析的目的是什麼
回答如下:
目的是評價演算法的效率,通過評價可以選用更加好更加適合的演算法來完成。
㈡ C語言函數遞歸調用問題。在不使用電腦的情況下算出下面函數。
那個printf有點詭異,沒見過這么用的。我沒管printf,自己加進去輸出就行了
拿紙寫當然蛋疼。你老師沒告訴過你,從開始學函數和指針開始,問題都要畫圖來識別嗎?
㈢ c語言中函數的調用方法
呃···
看書會比較明白吧···
1、函數聲明: 返回類型 函數名(形參1,形參2,形參3);(以此類推,有幾個參數寫幾個)
2、函數調用:函數名 (實參1,實參2,實參3); (以此類推,有幾個參數寫幾個)
3、函數演算法:返回類型 函數名(形參1,形參2,形參3)(以此類推,有幾個參數寫幾個)
{
}
㈣ C語言函數調用問題,高手與否都進來看看.
while( 1 )
{
printf("請輸入一個中綴表達式:\n");
getinfix( infix, MAX );
InfixToSuffix( infix, suffix );
printf("該中綴表達式的後綴表達式為 : %s\n",suffix);
CalculateSuffix ( suffix, &calculate );
printf("該後綴表達式的值為 : %d\n\n",calculate);
printf("按任意鍵繼續,按 N 退出。\n");
c = getchar(); //判斷是否繼續對新的中綴表達式進行操作
printf("\n");
if ( c == 'n' || c == 'N' )
break;
}
}
有什麼問題可以發郵件給我[email protected]
㈤ java寫一個用一個函數調用另一個函數的演算法
是指一個類調用另一個類的么?
如果是這樣的話。。
//創建一個類
public class Text1{
public static void mian(String []agrs){
//實例化另一個類
Text2 t = new Text2();
t.show();
}
}
創建第二個類
public class Text2(){
//創建一個show方法
public void show(){
System.out.println("我已經被調用了");
}
}
這就是類之間的調用。。
如果是想在方法里調用另一個類的方法
具體的也是和main()方法里的一樣調用。(模仿main()方法)
㈥ 關於函數調用約定
是c語言的知識 C++是面向對象的,c語言是面向過程的
面向對象里要建很多類,裡面調用函數就比較多
調用函數是將一些常用的演算法寫成一個小函數(比如寫一個比較大小的小函數,在主函數里需要用的時候調一下,在下一個可用的比較大小的地方還可以調),比較方便(就不用重復寫那個比較大小的函數了)。
譚浩強的c語言里講函數就有講的
㈦ C語言的函數調用規則
請問C語言函數的調用規則是什麼,例如主函數main、 函數A 、函數B,這3者的順序能否打亂,
可以打亂,依個人習慣。
如果 A函數放最前,能否直接調用B函數?還是只能後面的函數調用前面的函數,還是說只要在A函數中聲明B函數就能夠調用後面的B函數。?
A調B,或B調A都可以,如果B在A後,B可直接調用A,否則,先在B前聲明一下A再調用A。
main函數的有沒有固定的位置,例如要放最前面?或最後面?
沒有要求,一般單獨一個C文件放main函數。
我需要程序調用這一部分的 語法描述圖,因為規則不是固定,所以畫起來有點難度,有沒人能提供 程序調用的語法描述圖 就是類似 void ----> ident---->(---->)---->{---->語句…… 這樣的圖。加分加分!!
不明白,寫兩個簡單函數實驗一下就知道了,這樣印象會深刻點不容易忘。
㈧ 誰能幫我分別舉一個例子,是關於函數的嵌套調用和遞歸調用的(要每一步都詳細解說一下,非常感謝!}
7.5.1 函數嵌套調用
函數嵌套調用:在被調函數中再調用其它函數稱函數嵌套調用。
◆ C語言不能嵌套定義函數。
例如:在下列調用f1函數中調用f2函數。
float f1(int a, int b)
{
…
f2(a+b,a-b);
…
}
int f2(int x, int y)
{
…
}
調用過程如圖7.2所示。
【例7.10】求1k+2k+3k+…+nk的值,假設k為4,n為6。
#include "stdio.h"
void main( )
{
int sum, n=6, k=4;
sum=add(k, n);
printf("輸出結果為:%d",sum );
}
add(int a,int b) /*該函數功能:進行累加*/
{
int i, s=0;
for(i=1; i<=b; i++)
s=s+powers(i,a);
return(s);
}
powers(int m, int n) /*該函數功能:進行累乘*/
{
int j, p=1;
for (j=1; j<=n; j++)
p=p*m;
return(p);
}
運行結果為:
2275
7.5.2 函數遞歸調用
遞歸調用:在調用一個函數的過程中直接或間接地調用該函數本身,稱為函數的遞歸調用。
在編寫遞歸調用程序時注意:
(1)遞歸程序演算法:即如何實現其遞歸;
(2)遞歸調用的結束條件:避免無止境遞歸調用造成死循環。所以遞歸調用應為條件遞歸調用:
if (條件) 遞歸調用
else ……
【例7.11】用遞歸演算法編程求n!階乘的程序。
從數學可知:n!=1*2*3* … *n,可得:
遞歸調用的結束條件:
if( (n==0)|| (n==1)) return(1);
else return(n*fac(n-1)); /* fac(n-1)求(n-1)!函數*/
程序如下:
int fac(int n)
{
if (n<0) printf("n<0,輸入數據錯誤!");
else if( (n==0)|| (n==1)) return(1);
else return(n*fac(n-1));
}
void main( )
{
int n, y;
printf("請輸入一個整數:");
scanf("%d",&n);
y=fac(n);
printf("%d!=%d",n, y);
}
運行結果為:
請輸入一個整數:5↙
5!=120
【例7.12】調用一個遞歸函數,將一個整數的低位變成高位,高位變成低位組成另一個整數,例如輸入1234得到另一個整數4321。
#include "stdio.h"
int fun(int n, int m)
{
if (n==0) return m;
else return fun(n/10, m*10+n%10);
}
void main( )
{
printf("%d\n",fun(1234, 0));
}