//1、拆分三位数核心算法:
void num_three(int num){
cout<<"百位:"<<num/100<<endl;
cout<<"十位:"<<num%100/10<<endl;
cout<<"个位:"<<num%10<<endl;
}
扩展,拆分N位数:
int length;//位数,也为数组长度
int number[length],i;
for(i=0;i<3;i++)
{
number[i]=num%10;
num=num/10;
}
//num[i]表示第i+1位数(个位算起).相应的要乘与10^i还原。
/*
请编写一个函数sortnum(int num),参数num是一个三位的整数,该函数将num的百位、十位和个位的数字进行重排,
并返回由上述的三个数字组成的最大的三位数。
注意:部分源程序已存在文件test28_2.cpp中。
如输入456后,输出结果如下:
654
请勿修改主函数main和其他函数中的任何内容,仅在函数sortnum 的花括号中填写若干语句。
*/
void sortnum(int num){
int a[3];
int temp;
a[0]=num/100;
a[1]=num%100/10;
a[2]=num%10;
for(int j=0;j<2;j++)
for(int i=0;i<3-j;i++)
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
int main(void){
int n;
cout<<"请输入一个三位数:";
cin>>n;
num_three(n);
sortnum(n);
return 0;
}