卡殼環節:如何將整數按位拆分
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; }
