编写一个c程序,输入一个数,可以显示数中重复的数字

编写一个c程序,输入一个数,可以显示数中重复的数字,第1张

#include <stdio.h>

#include <string>

int main()

{

    char szNum[100] = {0}

    printf("请输入个数:\n")

    scanf("%s", szNum)

    int a[10] = {0}

    for (int i = 0 i < strlen(szNum) i++)

    {

    宏橡衫    if 蔽腔('0' <= szNum[i] && szNum[i] <= '9')

        {

            a[szNum[i] - '0'] += 1

        }

    }

    printf("重复的数字 重复次数:\n")

    for (int i = 0 i < 10 i++)

    {

        if (a[i] > 1)

        {

     如森       printf("%d %d\n",i, a[i])

        }

    }

}

运行结果:

#include<stdio.h>

int main(void)

{

int i, n, a[100]

int j, temp

printf("输入元素的个数:")

scanf("%d", &n)

for (i = 0i <ni++)

scanf("%d", &a[i]) //循环输入n个数

for (i = 0i <谨纤判 ni++) //循环判断数组中每一个数

{

for (j = i + 1j <nj++) //判断a[i]后边的数是竖做否和a[i]相等

{

if (a[i] == a[j])

{

for (temp = jtemp <ntemp++)

a[temp] = a[temp + 1] //将a[j]后面的元素全往前祥改移一个位置

j-- //a[j+1]取代a[j]位置,为使下次从a[j+1]开始查找,j减一(为使j保持不变)

n-- //数组长度减一

}

}

}

printf("剩余元素个数: %d\n", n)

for (i = 0i <ni++)

printf("%d ", a[i])

printf("\n")

return 0

}

#include "stdio.h"

main()

{

int i,j,k,l

int a[6] = { 0 }

int b[6] 帆毕= { 0 }

printf("请输入第猛轿衡1组3个数\n")

scanf("%d",&i)

printf("请输枝做入第2组3个数\n")

scanf("%d",&j)

a[0]=i / 1 % 10

a[1]=i / 10 % 10

a[2]=i / 100 % 10

a[3]=j / 1 % 10

a[4]=j / 10 % 10

a[5]=j / 100 % 10

printf("重复的是:\n")

i = 0

j = 0

k = 0

l = 0

for (i = 0 i < 6 ++i)

{

for(j=i+1j<6++j)

if (a[i] == a[j])

{

for (k = 0 k < l ++k) //遍历b,是否已记录

{

if (a[i] == b[k])

break

}

if(k==l)  //没有,则加入,长度+1

b[l++] = a[i]

}

}

for (i = 0 i < l ++i)

{

printf("%d  ", b[i])

}

printf("\n")

return 0

}

请把分给我,谢谢,祝玩的愉快


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12504770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存