hw的幾道題目


 

#include <stdio.h>

int func(int n){
	int total = 0;//記錄換到的汽水數量 
	while(n>2){
		total += n/3;
		n = n-(n/3)*3+n/3;
	}
	
	if(n==2) total++;
	return total;
}

int main(){
	int n;
	for(int i=0;i<10;i++){
		
		if(scanf("%d",&n)==-1) break; //這裏最坑 
		if(n == 0) break;
		
		printf("%d\n",func(n));
	}
} 

#include <stdio.h>
int arr[1000]={0};

int partition(int arr[],int low,int high){
	int pivot = arr[low];
	while(low<high){
		while(low<high && arr[high]>=pivot) high--;
		arr[low] = arr[high];
		while(low<high && arr[low]<=pivot) low++;
		arr[high] = arr[low];
	}
	arr[low]= pivot;
		
	
	return low;
}

void quick_sort(int arr[],int low,int high){
	if(low<high){
		int pivot_pos = partition(arr,low,high);
				
		quick_sort(arr,low,pivot_pos-1);
		quick_sort(arr,pivot_pos+1,high);
	}
}

int du_removal(int arr[],int num){
	int c = 0,last = arr[0];
	for(int i=1;i<num;i++){
		if(arr[i]!=last){
			last = arr[i];
			arr[i-c] = arr[i];
		}
		else{
			c ++;
		}
	}
	return num - c;
}

int main(){
	int num;
	while(scanf("%d",&num)!=-1){	//神坑 
		if(num==0) break;
		for(int i=0;i<num;i++){
			scanf("%d",&arr[i]); 
		}
	
		quick_sort(arr,0,num-1);//神坑 

		num = du_removal(arr,num);
		for(int i=0;i<num;i++){
			printf("%d\n",arr[i]);
		}
	}
} 

 

#include <stdio.h>
#include <cstring>
#include <cmath>
char str[100];
int main(){
	int len=0,total=0,index=0;
	while(scanf("%s",&str)!=-1){
		total=0,index=0;
		len = strlen(str);
		
		for(int i=len-1;i>1;i--){
			if(str[i]>='0'&&str[i]<='9') total+=(str[i]-'0')*pow(16,index);
			if(str[i]>='A'&&str[i]<='Z') total+=(str[i]-'A'+10)*pow(16,index);
			if(str[i]>='a'&&str[i]<='z') total+=(str[i]-'a'+10)*pow(16,index);
			index++;
		}
		printf("%d\n",total);
	}
} 

 

發佈了109 篇原創文章 · 獲贊 25 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章