C 输入一串数字,去掉其中含7的和能被7整除的数

来源:互联网 发布:tcp 端口 编辑:程序博客网 时间:2024/04/30 16:00

C 输入一串数字,去掉其中含7的和能被7整除的数,每个数小于10000,数字个数小于100

输入例子:1,7,56,77,87,2,45,42,97,9977

输出:1,2,45

注意:输入个数不确定,所以不能够用整形数组处理,不能以判断整形数组元素是否等于\n为结束,因为数组是整形的,\n是字符型的,是输入不进去的

       所以要用字符串来处理,先把用逗号相隔的所有整数取出来,然后再对这些数进行判断输出


#include<stdio.h>
#include<string.h>
void main()
{
char a[1000000];
int b[100],c[100];
int i,j,k,len,t,flag=0,len1=0;
k=0;len=0;t=0;
gets(a);
len1=strlen(a);
for(i=0,j=0;i<=len1;i++)
if(a[i]>='0'&&a[i]<='9')
{
t=10*t+a[i]-'0';
   flag=1;
}
else if(flag==0)
continue;
else
{
b[j]=t;
j++;
len++;
t=0;
flag=0;
}


for(j=0,i=0;i<len;i++)
if(b[i]%7==0) continue;
else if(b[i]%10==7)continue;
else if((b[i]/10)%10==7)continue;
else if((b[i]/100)%10==7)continue;
else if((b[i]/1000)%10==7)continue;
else 
{
c[j]=b[i];
j++;
}
for(i=0;i<j-1;i++)
printf("%d,",c[i]);
printf("%d\n",c[j-1]);
}

0 0
原创粉丝点击