mo_on 发表于 2023-4-23 18:52:31

c语言补全代码

【问题描述】

输入int a的十个元素,删除其中所有重复的元素,输出删除后的结果。

说明:请只提供需要补全的代码部分,不需要提供完整程序。可根据需要定义其他变量。

【输入形式】
【输出形式】
【样例输入】

2 2 3 5 2 6 8 5 3 6

【样例输出】

2 3 5 6 8

#include<stdio.h>
intmain()
{
    inta;
    inti,j,n;



    for(i=0;i<n;i++)
            printf("%d",a);
    return0;
}
求大神解决!!!!!

sfqxx 发表于 2023-4-23 20:01:06


#include <stdio.h>

int main()
{
    int a, result, count = 0;
    int i, j, n;

    for (i = 0; i < 10; i++) {
      scanf("%d", &a);
      for (j = 0; j < i; j++) {
            if (a == a) {
                break;
            }
      }
      if (j == i) {
            result = a;
      }
    }

    for(i = 0; i < count; i++) {
      printf("%d ", result);
    }

    return 0;
}


这是完整程序,实现的功能为输入10个数,输出去重后的结果。

代码思路:

1.首先定义存储原始数据和删除重复元素后的数组 a 和 result。因为题目输入的是固定为 10 个数,所以数组大小定为 10。

2.通过循环输入十个数,并从第一个数开始依次遍历数组 a 中已经输入的数,若存在相同元素,则跳出该层循环;如果全部遍历过后仍没有找到相同元素,则将该元素存入新数组 result 中,并将统计变量 count 加 1。

3.最后通过循环遍历 result 数组,输出统计变量值之前的数组元素即为结果。

ps: 此处只提供了完整程序,简要解释在代码中也有,请按需阅读。
有用请设置最佳答案
页: [1]
查看完整版本: c语言补全代码