zoukankan      html  css  js  c++  java
  • 一串数字去重

    给出一串数字: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;
    }
  • 相关阅读:
    String类
    try catch异常捕获
    while循环语句
    编程中穷举法的运用
    for循环例题
    编程中的 if ()else() 语句
    代位符
    运算符_及_运算符优先级
    C#中的类型转换
    Asp.net基础知识
  • 原文地址:https://www.cnblogs.com/WildSky/p/11577708.html
Copyright © 2011-2022 走看看