智能车第一次任务
Posted jizhaoyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能车第一次任务相关的知识,希望对你有一定的参考价值。
2、 初试排序 输入不超过 100 个整数,
排序并去除重复数字之后输出。
输入格式:第一行为输入的数字个数,第二行为全部数字(使 用空格间隔)
输出格式:直接输出全部数字(使用空格间隔) 要求: 排序使用冒泡排序和快速排序实现,提交两份代码
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int i, j, a[100], t; 6 int n; 7 scanf("%d",&n); 8 for(i = 0; i < n; i++) 9 scanf("%d",&a[i]); 10 for(i = 0; i < n-1; i++) 11 for(j = 0; j < n-i-1; j++) 12 if(a[j] > a[j+1]) 13 { 14 t = a[j]; 15 a[j] = a[j+1]; 16 a[j+1] = t; 17 } 18 for(i = 0; i < n; i++) 19 for(j = i+1; j < n; j++) 20 if(a[i] == a[j]) 21 a[i] = 0; 22 for(i = 0; i < n; i++) 23 if(a[i]) 24 printf("%d ",a[i]); 25 26 }
快排
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 void quicksort(int a[], int p, int q); 6 int n, a[100], i; 7 scanf("%d",&n); 8 for(i = 0; i < n; i++) 9 scanf("%d",&a[i]); 10 quicksort(a,0,n-1); 11 for(i = 0; i < n; i++) 12 printf("%d ",a[i]); 13 14 } 15 void quicksort(int *a, int p, int q) 16 { 17 int i = p, j = q; 18 int temp = a[p]; 19 while(i < j) 20 { 21 while(a[q] >= temp && i < j) 22 j--; 23 if(i < j) 24 { 25 a[i] = a[j]; 26 i++; 27 } 28 while(a[p] <= temp && i < j) 29 i++; 30 if(i < j) 31 { 32 a[j] = a[i]; 33 j--; 34 } 35 } 36 a[i] = temp; 37 if(p < i-1) quicksort(a,p,i-1); 38 if(j+1 < q) quicksort(a,j+1,q); 39 }
5、 递归初试 使用递归算法计正整数 n 和 m 的最大公约数。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int f(int m,int n); 6 int n,m; 7 scanf("%d %d",&m,&n); 8 printf("%d",f(m,n)); 9 return 0; 10 11 } 12 int f(int m,int n) 13 { 14 if(n == 0 && m >n) 15 return m; 16 else if(m > n) 17 return f(n,m%n); 18 else 19 return f(n,m); 20 21 }
1、句子反转 给定一个句子(只包含字母和空格),
将句子中的单词位置反 转,单词用空格分割, 单词之间只有一个空格,前后没有空格。
比如:(1)“hello xiao mi”-> “mi xiao hello” 输入描述: 输入数据有多组,每组占一行,包含一个句子(句子长度小于 1000 个字符)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int main() 5 { 6 char a[10][10], b[10]; 7 int i, j, n; 8 scanf("%d",&n); 9 for(i = 1; i <= n; i++) 10 scanf("%s",a[i]); 11 i = 1; j = n; 12 while(j > i) 13 { 14 strcpy(b,a[i]); 15 strcpy(a[i],a[j]); 16 strcpy(a[j],b); 17 i++;j--; 18 for(int x=0;x < 10 ;x++) 19 b[x] = ‘