提交: 57 解决: 19
[ 提交][ 状态][ 论坛] 题目描述
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
输入首先输入一个整数t,表示有t组数据。
然后有t行,每行一个整数N。(N不大于30000)
对于每组数据 ,输出从小到大排列的不大于N的与7有关的数字。每组数据占一行,每个数字后面有一个空格;
样例输入 2 20 30 样例输出 7 14 17 7 14 17 21 27 28 提示答案
#include <stdio.h> #include <stdlib.h> #include<string.h> int fac( int i) //自定义函数判断这个数是否有7; { int c,a=0; while (i>0) { c=i%10; if (c==7) { a++; break ; } i=i/10; } return a; } int main() { int n,a,i; scanf ( "%d" ,&n); while (n--) { scanf ( "%d" ,&a); for (i=1;i<=a;i++) { if (i%7==0) //判断是否是7的倍数。 printf ( "%d " ,i); else { if (fac(i)!=0) //将数传递到自定义函数中。 printf ( "%d " ,i); } } printf ( "n" ); } return 0; } /************************************************************** Problem: 1379 User: 141210145 Language: C Result: 正确 Time:16 ms Memory:964 kb ****************************************************************/