2021级C语言第二次过程考核
- 函数题:使用函数求Fibonacci数
- 编程题
- 1.求集合数据的均方差
- 2.求最大值及其下标
- 3.选择法排序
- 4.求矩阵各行元素之和
- 5.组合数的和
- 6.打印杨辉三角
函数题:使用函数求Fibonacci数
int fib(int n){
int a[n];
a[0]=1;
a[1]=1;
for(int i=2;i
a[i]=a[i-1]+a[i-2];
}
return a[n-1];
}
编程题
1.求集合数据的均方差
#include
#include
double setf(int a[],int N,double avg,double f);
int main(){
int N;
double avg=0,f=0;
scanf("%d",&N);
int A[N];
for(int i=0;i
scanf("%d",&A[i]);
avg+=A[i];
}
avg/=N;
f=setf(A,N,avg,f);
printf("%.5lf",f);
return 0;
}
double setf(int a[],int N,double avg,double f){
double sum=0;
for(int i=0;i
sum+=(a[i]-avg)*(a[i]-avg);
}
sum/=N;
f=sqrt(sum);
return f;
}
2.求最大值及其下标
#include
int main(){
int n,max,I;
scanf("%d",&n);
int A[n];
for(int i=0;i
scanf("%d",&A[i]);
}
max=A[0];
I=0;
for(int i=1;i
if(max
max=A[i];
I=i;
}
}
printf("%d %d",max,I);
return 0;
}
3.选择法排序
#include
int main(){
int n,i,j;
scanf("%d",&n);
int a[n];
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
for(j=i+1;j
if(a[i]
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i
printf("%d",a[i]);
if(i
printf(" ");
}
}
return 0;
}
4.求矩阵各行元素之和
#include
int main(){
int m,n,j,i;
scanf("%d %d",&m,&n);
int a[m];
for(i=0;i
a[i]=0;
for(j=0;j
int c;
scanf("%d",&c);
a[i]+=c;
}
}
for(i=0;i
printf("%dn",a[i]);
}
return 0;
}
5.组合数的和
#include
int main(){
int N,i,j,sum=0;
scanf("%d",&N);
int a[N];
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
for(j=0;j
sum=sum+a[i]*10+a[j];
}
sum=sum-a[i]*10-a[i];
}
printf("%d",sum);
return 0;
}
6.打印杨辉三角
#include
int main(){
int n,i,j;
scanf("%d",&n);
int a[n][n];
for(i=0;i
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i
for(j=1;j
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i
for(int cnt=i;cnt
printf(" ");
}
for(j=0;j<=i;j++){
printf("%4d",a[i][j]);
}
if(i
printf("n");
}
}
return 0;
}