簡單常見筆試算法,C語言實現2

10:插入一個數,排序仍然成立
在這裏插入圖片描述

#include<stdio.h>
#include<string.h>
int main(){
	int i,j,num;
	int tmp,tmp2;
	int a[10]={1,2,3,4,5,6};
	printf("input num\n");
	scanf("%d",&num);
	if(num>=a[5]){
		a[6]=num;
	}else{
		for(i=0;i<6;i++){
			if(a[i]>num){
				tmp=a[i];
				a[i]=num;
				for(j=i+1;j<7;j++){
					tmp2=a[j];
					a[j]=tmp;
					tmp=tmp2;
				}
			}
		}
	}
	for(i=0;i<7;i++){
		printf("%d ",a[i]);
	}
	
		
}

11:數組排序

#include<stdio.h>
#include<string.h>
int main(){
	int a[10]={12,21,35,65,45,2,89,92,75,99};
	int i,j,tmp;
//簡單排序 
//	for(i=0;i<9;i++){
//		for(j=i+1;j<10;j++){
//			if(a[i]>a[j]){
//				tmp=a[i];
//				a[i]=a[j];
//				a[j]=tmp;
//			}
//		}
//	}
//	for(int i=0;i<10;i++){
//		printf("%d ",a[i]);
//	}
//冒泡排序 
	for(i=0;i<10;i++){
		for(j=0;j<10-i-1;j++){
			if(a[j]>a[j+1]){
				tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
		for(int i=0;i<10;i++){
		printf("%d ",a[i]);
	}
	
		
}

12:求兩個數的最大公約數和最小公倍數
在這裏插入圖片描述

#include<stdio.h>
#include<string.h>
int main(){
	int a,b;
	int x,y;
	printf("input a\n");
	scanf("%d",&a);
	printf("input b\n");
	scanf("%d",&b);
	x=a*b;
	y=a%b;
	while(y!=0){
		a=b;
		b=y;
		y=a%b;
	}
	printf("最大公約數: %d 最小公倍數%d",b,x/b) ;
		
}

13:將一個正整數分解質因數
在這裏插入圖片描述

#include<stdio.h>
#include<string.h>
int main(){
	int a=90;
	int i;
	for(i=2;i<=a;i++){
		while(a%i==0){
			printf("%d ",i);
			a=a/i;
			if(a!=1){
				printf("*");
			}
		}
	}
		
}

14.打印菱形
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int i,j;
	for(i=1;i<5;i++){
		for(j=1;j<=4-i;j++){
			printf(" ");
		}
		for(j=1;j<=2*i-1;j++){
			printf("*");
		}
		printf("\n");
	}
	for(i=3;i>0;i--){
		for(j=1;j<=4-i;j++){
			printf(" ");
		}
		for(j=1;j<=2*i-1;j++){
			printf("*");
		}
		printf("\n");
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章