关于C语言 写出执行结果..

王朝知道·作者佚名  2009-08-19
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

1。 # include <stdil.h>

main()

{

int i,j,r,m;

int a [3][3]= { {100,200,300},{28, 72, -30},{-850, 2, 6} };

m=a [0][0], r=0, c=0;

for (i=0;i<3,i++)

for (j=0;j<3,j++)

if (a [i][j<m)

m=a [i][j],r=i, c=j;

printf(“%d,%d,%d\n”,m,r,c);

}

__________________

2。long fac (int n)

{

if (n<0)

{printf (“error!”\n);

exit (-1);

}

else if (n==0 n==1) return (1);

else return (n* fac (n-1) );

}

main ()

{

printf ("%!d\n, fac (5);)

}

_______________

參考答案:

第一个程序是在矩阵的每一行上寻找出最小的一个数据。

比较的默认数值是0,有比零小的就输出,没有就输出0。

结果是 -850,2,0

第二个程序应该是递归求阶乘,但是在递归的边界条件也就是递归出口的位置写的有问题

else if (n==0 n==1) return (1);

应该是有或符号的,改成如下。

else if (n==0||n==1) return (1);

另外递归的时候一定要注意数据溢出。不然一定递归出负数。答案应该是120

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航