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

来源:百度知道 编辑:UC知道 时间:2024/06/28 00:56:56
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);)
}
_______________
1.# include <stdil.h>
main()
{
int i,j,r,c,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);
}

__________________
上面1题是错的 要么怎么叫

第一个程序是在矩阵的每一行上寻找出最小的一个数据。
比较的默认数值是0,有比零小的就输出,没有就输出0。
结果是 -850,2,0

第二个程序应该是递归求阶乘,但是在递归的边界条件也就是递归出口的位置写的有问题
else if (n==0 n==1) return (1);
应该是有或符号的,改成如下。
else if (n==0||n==1) return (1);
另外递归的时候一定要注意数据溢出。不然一定递归出负数。答案应该是120

就不说把格式调一下,让人看着舒服点
main()
{
int i,j,r,c,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);

}
-850,2,0
要是运行看不到结果,就在最后加个getchar();

拉到TC里面运行一下就可以呀~~~