㈠ 算法分析的目的是什么
回答如下:
目的是评价算法的效率,通过评价可以选用更加好更加适合的算法来完成。
㈡ 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));
}