给出一串数字:1 2 3 3 3 3 4 5 6 7 8
要求输出:1 2 3 4 5 6 7 8
既要求去重
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 int num[100], n, i; 7 printf("输入数字的个数:"); 8 scanf("%d",&n); 9 for(i = 0;i < n;i += 1){ 10 scanf("%d",&num[i]); 11 } 12 printf("%d ",num[0]);//先输出第一个数 13 for(i = 1;i < n;i += 1){ 14 if(num[i] != num[i-1]){//这是关键语句 15 printf("%d ",num[i]); 16 } 17 } 18 return 0; 19 }
或者
#include <stdio.h> #include <stdlib.h> int main() { int num[100], n, i; printf("输入数字的个数:"); scanf("%d",&n); for(i = 0;i < n;i += 1){ scanf("%d",&num[i]); } for(i = 0;i < n;i += 1){ int j; printf("%d ",num[i]); for(j = 1;i + j < n;j += 1){ if(num[i] != num[i + j]){ i = i + j -1; break; } } if(i + j == n){//这一个条件不能少,少了就可能出现最后一个输出不了的情况,或 // 者会重复输出 break; } } return 0; }