C 输入一串数字,去掉其中含7的和能被7整除的数
2014-07-13 15:13
232 查看
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]);
}
输入例子: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]);
}
相关文章推荐
- C 输入一串数字,去掉当中含7的和能被7整除的数
- 输入一串数字,将其中最小的与第一个调换,最大的与第二个调换,然后输出
- 输入一串字符,统计其中字母,数字,空格及其他符号的个数
- 输入一串字符,只包含“0-10”和“,”,找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数
- 汇编“从键盘输入一串字符,分别统计其中字母、数字和其
- 输入一串字符串,运用输出方法计算其中大写 小写 数字 和其他字符的个数
- 1、 输入一串字符,只包含“0-10”和“,”找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。
- 输入一个高精度的正整数n,去掉其中任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对所给的n和s,寻找一种方案使得剩下的数字组成的新数最小。
- 输入一串数字找出其中缺少的最小的两个数
- 输入一串字符,统计出其中的英文字母,空格,数字和其他字符
- 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。求s=a+aa+aaa+aaaa+…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加
- JAVA输入一串数字,转换成汉字显示
- 【C语言小练习】输入十个数,从其中删除指定数字(可能多个)后,输出剩余的数(顺序与输入的相同)
- 输入字符串,统计其中数字,空格和其他字符的个数
- 【C++学习】vector的使用,输入一串数字,输出相邻和---ShinePans
- 作业3(3)输入 15 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数
- 华为oj_输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
- 统计用户输入的一串数字中每个数字出现的次数
- 查找最小的k个元素(笔试题) 输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4