【例1】输入一个整数,判断该数是否有重复的数字
1.先将a[10]初始化为0;
2.当分解整数的每个数时,用a[k]++做各个数字k的计数器
#include <iostream>
using namespace std;
int main()
{
int n,k,i;
int a[10]={0};//初始化数组每个元素为0
cout<<"请输入整数:";
cin>>n;
do
{
k=n%10;//取最后一位的数字
a[k]++;//当k出现同一个数时,数组元素作为一个计数器做累加,这时也可以把a[k]看做是一个标志变量的作用
n/=10;
}while (n!=0);
for(i=0;i<10;i++)//遍历数组的每个元素
{
if(a[i]>1)
{
cout<<"重复"<<endl;
return 0; //当有一个元素有重复时,return 0结束程序
}
}
cout<<"无重复"<<endl;
return 0;
}
【例2】输入一个十进制整数,转换成二进制数
1.用数组a[j]存放整数n对2整除的余数;
2.逆向输出a[j]的值
代码如下:
#include <iostream>
using namespace std;
int main ()
{
int n,i=0;
int a[1000];
cin>>n;
while(n)//当整数不为0时不断对2整除,将余数存放在数组a[i]中
{a[i]=n%2;
n/=2;
i++;
}
for(n=i-1;n>=0;n--)//从后往前输出数组中的余数
cout<<a[n];
cout<<endl;
return 0;
}