天天看点

北理工885 C语言程序设计题

2016年

1.比较abc的大小

2017年

1.从键盘输入10个数,找出其中与这10个数平均数最接近的数。

#include<stdio.h>
#include<math.h>

int main(){
	int a[15],sum=0;
	double x;
	for(int i=0;i<=9;i++){
		scanf("%d",&a[i]);
		sum+=a[i];
	} 
	x=sum*1.0/10;
	
	double l=0x3f;
	int ans=0;
	for(int i=0;i<=9;i++){
		if(fabs(a[i]*1.0-x)<=l){
			l=fabs(a[i]*1.0-x);
			ans=i;
		}
	}

	printf("%d\n",ans);
	
	return 0;
}  
           

2.输出2001~2006之间的素数。

#include<stdio.h>
#include<math.h>

bool check(int x){
	for(int i=1;i<=x/2;i++){
		if(x%i==0) return 0;
	}
	return 1;
}

int main(){
	
	for(int i=2001;i<=2016;i++){
		if(check(i)) printf("%d 是素数\n",i);
	}
	
	return 0;
}  
           

3.编写递归程序实现:求(2*n)!

#include<stdio.h>
#include<math.h>

double f(double x){
	if(x==1) return 1;
	
	return x*f(x-1);
}

int main(){
	double n;
	scanf("%lf",&n);
	double ans=f(2*n);
	
	printf("%f\n",n);
	printf("%f\n",ans);
	
	return 0;
}  
           

4.从键盘输入若干整数,建立双向链表,当输入值为0时,停止建莲,并按正向、反向分别输出链表各元素的值。

在这里插入代码片
           

继续阅读