}
else f=x*getPower(x,y-1); return f;
5.
#include
int reverse(int n) { int sign=1,k=0; if(n<0) n=-n,sign=-1; do { k=k*10+n;n/=10; }while(n); return sign*k; }
6.
#include
}
float TriangleArea(float a, float b, float c) { float s; if((a+b<=c)||(a+c<=b)||(b+c<=a)) return -1; s=(a+b+c)/2; return sqrt(s*(s-a)*(s-b)*(s-c)); }
7.
#include
//求n!的函数(递推算法) double fac(int n) { double f=1; if(n>0) for(;n>1;n--) f=f*n; //求n! else if(n==0) f=1; //0!的值为1 else if(n<0) f=-1; //如果n为负数,则返回-1,表示错误 return f; }
第五章 编程题
1.
#include
//方法一 int main() { int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12}; int sum=0,i,j; for(i=0;i //方法二 int main() { int arr_sum(int arr[M][N]); //函数声明 int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(\ return 0; } int arr_sum(int arr[M][N]) { int sum=0,i,j; for(i=0;i 2. #include int main() { int arr_xsum(int arr[N][N]); //函数声明 int a[N][N]={1,2,3,4,5,6,7,8,9}; int i,j; //输出数组元素 for(i=0;i int arr_xsum(int arr[N][N]) { int i,sum=0; for(i=0;i 3. #include for(j=0;j void convert_array(int arr[N][N]) { int i,j,t; for(i=0;i 4. #include int main() { int binary(int v[],int n,int x);//函数声明(折半查找函数) int i,v[10],x,find=-1; printf(\按由小到大的顺序输入10个整数: \\n\ for(i=0;i<10;i++) scanf(\ printf(\ scanf(\ find=binary(v,10,x); //折半查找 if(find!=-1) printf(\ else printf(\无此数\\n\ return 0; } //用折半查找法,在数组v(长度为n)中查找x int binary(int v[],int n,int x) { int low,high,mid,find=-1; //find=-1表示未找到 low=0;high=n-1;