c语言练习题 加各年考题 附答案~
一、改错题
题目:以下程序求数组a每列和整个数组的最小元素及其行、列号
#include “stdio.h”
#define n 4
#define m 3
int a[n][m]={5,4,7,8,6,4,9,5,6,7,3,5},s[m];
p(int j)
{ int k,i ,x;
x=a[0][j]; i =0; //s[0]=x=a[0][j]
for(k=1;k
if(a[k][j]
{ i =k;s[j]=x=a[k][j];}
return i ;
}
main()
{ int index[m],i ,j,k;
for(j=0;j
{ index[j]=p(j);
printf(“a[&d,%d]=%d\n”,index[j],j,s[j]); //&->%
}
i =s[l];k=0; // i=s[0]
for(j=1;j
if(s[j]
{i =s[j];k=j;}
printf(“min=a[%d,%d]=%d”,index[k],k,i );
}
正确答案:a[0][0]=5
a[3][1]=3
a[1][2]=4
min=a[3][1]=3
二、完善程序
1. 下列函数用于确定一个给定字符串str的长度。编主函数,用”china”测试。
strlen(char str[])
{
int num;
num=0; while( ) //str[num]!=’\0’
++num; return ; //num
}
2. 用递归算法编写C语言程序,求组合数cm nm!的值。 n! (m n)!