数组中去掉重复数c

数组中去掉重复数c

问:C语言中,如何用删除法删除数组中相同的数字
  1. 答:要是想用牛刀的话,可以用vector 或list.哈哈哈.
  2. 答:void main()
    {
    int i,t,n=10; /*n为数组的体积*/
    int a[10]={1,3,3,2,5,1,1,5,2,6};
    for(int m=0;m<n;m++)
    {
    t=a[m];
    for(i=m+1;i<n;i++)
    {
    if (t==a[i]) /*判断是否有相同的*/
    {
    for(int j=i+1;j<n;j++)a[j-1]=a[j];/*后面的数替代前面的*/
    n--;
    i--;
    }
    }
    }
    for(i=0;i<n;i++)printf("%d",a[i]); /*输出*/
    }
  3. 答:main()
    { int i,j,t;
    int a[10]={1,3,3,2,5,1,1,5,2,6};
    t=a[0]; /*把第一个数赋给t*/
    for(i=1;i<10;i++)
    {
    if (t==a[i]) /*判断是否有相同的*/
    {for(j=0;j+i<9;j++)/*用循环进行删除*/
    a[i+j]=a[i+j+1];/*后面的数替代前面的*/
    a[9]=0;} /*后面补0*/
    t=a[i+1]; /*把下一个数赋给t*/
    }
    for(i=0;i<10;i++)/*输出*/
    printf("%d",a[i]);
    }
  4. 答:才5分啊
    让别人抢去吧
  5. 答:#include<stdio.h>
    int main()
    {
    char a[10];
    int i,j;
    printf("请输入数字\n");
    scanf("%s",a);
    for(i=0;i<10;i++)
    {
    for(j=i+1;j<10;j++)
    {
    if(a[i]==a[j]) a[j]='#'; //用于标识
    }
    }
    for(i=0;i<10;i++)
    {
    if(a[i]!='#') printf("%c",a[i]);//用于选择怎么打出
    }
    printf("\n");
    getchar();
    getchar();
    }
问:C语言中数组中删除相同的数
  1. 答:在第一个空中填i,第二个空中填a+j.
    当找到相同的
    元素
    时,将位置记录到j的初始,并将后继元素依次前移覆盖相同的元素.
    祝学业进步.
问:C语言删除数组重复数字
  1. 答:2233,233 23。
    这是什么????
  2. 答:#include<iostream>
    using namespace std;
    void main()
    {
    char*p="22233";
    for(int i=0;i<strlen(p)-1;i++)
    {
    for(int j=i+1;j<strlen(p);j++)
    {
    if(p[i]==p[j])
    {
    for(int k=j-1;k<strlen(p);k++)
    p[k+1]=p[k];
    j--;
    }
    }
    }
    cout<<p<<endl;
    }
  3. 答:做一个循环对数组进行遍历,第二个循环对第一个循环遍历出来的数字进行比较
    删除相同的就好了
    C语言还有一个简单的方法,但是我现在还没有见到过直接使用的人
  4. 答:#include <stdio.h>
    #include <string.h>
    char s[100];
    int main() {
    int i, ok;
    scanf("%s", s);
    do {
    ok = 1;
    for (i = 1; s[i]; i++) {
    if (s[i] == s[i-1]) {
    ok = 0; strcpy(&s[i-1], &s[i]); break;
    }
    }
    if (!ok) printf("%s\n", s);
    } while (!ok);
    return 0;
    }
  5. 答:给:
    #include<conio.h>
    #include<stdio.h>
    void main()
    {
    char c,temp='*';
    int num[20]={0},i=0,j,count=0,number=0;
    printf("please input: ");
    c=getch();
    while(c!='\r')
    {
    printf("%c",c);
    if(temp=='*')
    {
    temp=c;
    num[i++]=c-'0';
    }
    else
    {
    if(temp!=c) num[i++]=c-'0';
    }
    temp=c;
    c=getch();
    }
    printf("\n");
    for(j=0;j<i;j++)
    number=number*10+num[j];
    printf("num = %d",number);
    getch();
    }
数组中去掉重复数c
下载Doc文档

猜你喜欢