永发信息网

c语言问题:输入一串数(小于100个),找出那串数中相同的数和连续时缺失的数

答案:1  悬赏:60  手机版
解决时间 2021-01-30 04:54
  • 提问者网友:你独家记忆
  • 2021-01-29 16:47
c语言问题:输入一串数(小于100个),找出那串数中相同的数和连续时缺失的数如:
输入:5 8 4 8 3

输出:
相同:8
缺失:6 7
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-01-29 17:54
//注意输入的空格,严格按照格式:数字之间空一个空格,末尾没有空格,不然会有BUG
#include<stdio.h>
int main()
{
char str[200];
int a[100],b[100];
int i=0,j;
int a_i=0,b_i=0;
int temp;
int star,end;
while(gets(str)!=NULL)
{
for(i=0;i<100;i++)a[i]=b[i]=0;
i=a_i=0;
while(str[i]!='\0')
{
if(' '==str[i])
{
i++;
a_i++;
continue;
}
else
{
a[a_i]=a[a_i]*10+str[i]-'0';
}
i++;
}
a_i++;
for(i=0;i<a_i-1;i++)
{
for(j=i;j<a_i;j++)
{
if(a[j]<a[i])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
b_i=0;
printf("相同:");
for(i=0;i<a_i;i++)
{
if(a[i]==a[i-1])
{
printf("%d",a[i]);
}
else if(a[i]+1!=a[i+1])
{
for(j=a[i]+1;j<a[i+1];j++)
{
b[b_i]=j;
b_i++;
}
}
}
printf("\n缺失:");
for(i=0;i<b_i;i++)printf("%d",b[i]);
printf("\n");
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯