c语言 循环 数组?

#include<stdio.h>
int main(){

int a[10]={10,10,13,13,15,16,17,10,19,13};
int n=0,i,j,c,k;
for(i=0;j<10-n;i++)
{
c=a[i];
for(j=i+1;j<10-n;j++)
if(a[j]==c){

for(k=j;k<10-n;k++)
a[k]=a[k+1];
n++;

}
}

for (i=1;i<10-n;i++)
printf("%4d\n",a[i]);
printf("\n");
return 0;
}
这个循环 应该怎么做呢 几个内循环呀 麻烦详细帮我解释下

一个有4个for循环,前面3个是循环嵌套,即循环中套循环再套循环,最后一个for是单独循环。
这个代码功能是删除数组中重复的值,代码逻辑是:
把数组中第一个数拿出来,再分别与这个数后面的所以数进行比较,如果发现重复的,就把这个重复的数之后的全部数在数组中向前移动一位,即去掉这个重复的数,比较完后,再取第二个数,同样也与第二个数后面的所以数进行比较,并删除重复数,这样全部完成后,数组中就没有重复的值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-04-11

C语言的数组概念的学习,通过for循环输出打印数组

相似回答