习题7
1. (B) void f(int,int,int); 2. (C) void add(int x,int y){
}
3. 37 4. 10 5.A 6. 9,6 7. 7 8. 6,12 9. 6,6
10. 290 11.
#include
float tringle(float,float,float); int main(){ float a,b,c,tringle_area; printf(\请输入三角形的三边的值: \ scanf(\ tringle_area=tringle(a,b,c); printf(\三角形的面积是: %.2f\\n\ return 0; }
float tringle(float a,float b,float c){ float s,p; p=(a+b+c)/2.0f; s=(float)sqrt(p*(p-a)*(p-b)*(p-c)); return s; } 12.
#include
}
void f(int n){ int i,j; int isPrimNumber =1; //记录i是否是素数的变量 int count =0; //存放数素的个数 for(i=1;i<=n;i++){ for(j=2,isPrimNumber=1;j<=i/2;j++){//该循环语句负责寻找i的因子 if(i%j==0){ isPrimNumber = 0; //一旦找到因子,就记录i不是素数 break; //结束内循环(没必要找到多个因子) } } if(isPrimNumber){ count++; printf(\ if(count%6==0) //打印6个素数之后输出一个回行 printf(\ } } } 13.
#include
void g(int n){ int sum,i,j; for(i=1;i<=n;i++){ for(j=1,sum=0;j<=i/2;j++){ //该循环语句负责计算i的因子之和 if(i%j==0){ sum=sum+j; } } if(sum==i){ //判断i的因子之和是否等于i printf(\是一个完数\\n\ }
} 14.
}
#include
double pi(int n){ int a=1,t=1; double item=1.0/a,sum=0; while(a<=n) { sum=sum+t*item; t=-t; a=a+2; item=1.0/a; }
return 4*sum; } 15.
#include
printf(\数列的第100项为%ld\\n\ return 0; }
long f(int n){ long result; if(n==1) result = 10; else if(n >=2) result = 3*f(n-1)+1; //调用自身 return result; }
习题8
1.(B)
2.2,0
3. a[0] 的元素值是 {1,2,0},a[1] 的元素值是{3,1,0},a[2]的元素值是{0,0,0} 4.破坏了先定义后使用的原则,非法使用内存,蕴含着破坏性的危险。 5.(C) 程序输出的结果无法确定。 6. 2 7 9 5 3 1
7. 9 7 5 3 2 1 8. 1 88 5 99 8
9. 11 21 31 41 51 61
10. 10 9 3 4 5 6 7 8 2 1
11.
#include
void sortQipao(int [],int); //起泡排序函数的原型 int main(){ int a[10],i;
for(i=0;i<10;i++){ scanf(\ }
sortQipao(a,10); for(i=0;i<10;i++){ printf(\ } return 0; }
void sortQipao(int a[],int N){ int m,i,t;
for(m = N-1; m>=0;m--) { for(i = 0;i < m;i++){ if(a[i]
#include
double scoreAverage(int a[],int N); //程序输出平均成绩的函数的原型。
void sortQipao(int [],int); //起泡排序函数的原型,用于学生成绩排序 int scoreMax(int a[],int N); //输出最高成绩的函数的原型 int scoreMin(int a[],int N); //输出最低成绩的函数的原型 int main(){
int score[10],i; for(i=0;i<10;i++){ scanf(\ }
printf(\平均成绩为: %f\\n\verage(score,10)); sortQipao(score,10);
printf(\排序后的成绩为:\ for(i=0;i<10;i++){ printf(\ }
printf(\
printf(\最高成绩为: %d\\n\ printf(\最低成绩为: %d\\n\ return 0; }
void sortQipao(int a[],int N){ //起泡排序函数,用于学生成绩排序 int m,i,t;
for(m = N-1; m>=0;m--) { for(i = 0;i < m;i++){ if(a[i]
double scoreAverage(int a[],int N){ //输出平均成绩的函数 int i,sum=0; double result; for(i=0;i } result=sum*1.0/N; return result; } int scoreMax(int a[],int N){ //输出最高成绩的函数 int i,max=a[0];