蓝桥杯——赛前准备

1、冒泡排序

#include
#include
#include
void swap(int *a,int *b){
	int temp;
	temp=*a;
	*a=*b;
	*b=temp; 
}
int main() {
	int array[8]= {49,38,65,97,76,13,27,49};
	int i,j;
	int key;
	for(i=0;i<8;i++){
		key=0;
		for(j=0;j+1<8-i;j++){
			if(array[j]>array[j+1]){
				key=1;
				swap(&array[j],&array[j+1]);
			}
		}
		if(key==0){
			break;
		}
	}
	for(i=0;i<8;i++){
		printf("%d ",array[i]);
	}
	return 0;	
} 

2、n相乘

#include
int main(){
	int i,n;
	long long int sum=1;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		sum=sum*i;
	}
	printf("%lld",sum);
	return 0;
}

3、n相加

#include
int main(){
	int i,n;
	int sum;
	sum=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		sum+=i;
	}
	printf("%d",sum);
	return 0;
}

4、全排列

#include
void swap(int *lhs,int *rhs){
	int t =*lhs;
	*lhs = *rhs;
	*rhs = t;
}
void FullPermutation(int source[],int begin,int end){
	int i;
	if(begin>=end){
		for(i=0;i<end;i++){
			printf("%d",source[i]);
		}
		printf("\n");
	}
	else{
		for(i=begin;i<end;i++){
			if(begin !=i){
				swap(&source[begin],&source[i]); 
			}
			FullPermutation(source,begin+1,end);
			if(begin!=i){
				swap(&source[begin],&source[i]);
			}
		}
	}
}
int main(){
	int source[30];
	int i,count;
	scanf("%d",&count);
	for(i=0;i<count;i++){
		source[i]=i+1;
	}
	FullPermutation(source,0,count);
	return 0;
} 

5、枚举

#include
#include
int main(){
	int i,j,k;
	for(i=0;i<=20;i++){
		for(j=0;j<34;j++){
			k=100-i-j;
//				if((100==i*5+j*3+k*(1/3))&&(k%3==0)){
//					printf("%d %d %d \n",i,j,k);
//				}
				if(100==i*5+j*3+k*(1/3)){
					printf("%d %d %d \n",i,j,k);
				}
		}
	}
	return 0;
}

你可能感兴趣的:(算法,c语言,算法)