卡壳环节:如何将整数按位拆分
int k=0; while(n>0){ a[k]=n%10; n/=10; k++; }
/* 输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...) 输入 一个整数N。(N不大于30000)29999 输出 统计出不大于N的与7有关的数字的个数。如20以内与7有关的数为7、14、17共3个。 */ #include <stdio.h> #include<string.h> bool contain(int n){ bool match=false; int temp; while(n>0){ temp=n%10; if(temp==7){ match=true; } n=n/10; } return match; } void func(int n){ int i,k=0; for(i=7;i<=n;i++){ if(i%7==0){ printf("%d ",i); k++; }else if(contain(i)){ printf("%d ",i); k++; } } printf("number=%d",k); } int main() { int n,k; scanf("%d",&n); func(n); return 0; }