/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2014年 12 月 26 日
* 版 本 号:v1.0
*
* 问题描述:一个数组中遇到“m”或“m”的倍数的数则不输出
* 输入描述:输入一个数组元素数和m
* 程序输出:输出剩余的数
*/
(1)普通方法:
#include <iostream>
using namespace std;
int main()
{
int a[500];
int i,n,m;
cin>>n>>m;
for(i=0;i<n;i++)
a[i]=i+1;
for(i=0;i<n;i++)
{
if(a[i]%m!=0&&a[i]%10!=m&&a[i]/10!=m&&a[i]/100!=m)
cout<<a[i]<<endl;
}
return 0;
}
(2)调用函数法:
#include <iostream>
using namespace std;
bool nohave3(int,int);
int main()
{
int a[500];
int i,n,m;
cin>>n>>m;
for(i=0; i<n; i++)
{
a[i]=i+1;
}
for(i=0; i<n; i++)
{
if(a[i]%m!=0&&nohave3(i+1,m))
cout<<a[i]<<endl;
}
return 0;
}
bool nohave3(int i,int m)
{
int a;
bool flag;
flag=true;
do
{
a=i%10;
i/=10;
if(a==m)
{
flag=false;
break;
}
}
while(i!=0);
return flag;
}