1.排序算法
排序是常用操作。下面是将一组整数按从小到大排列的算法代码:
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
int n,i,temp;
//step1:输入待排列数字
cout << "排序数字个数:" << endl;
cin >> n; // n在整个程序中保持不变
int b[n];
//step2:输入待排序数字,并从小到大重新排序
cout << "待排序数字:" << endl;
for(i=n-1;i>=0;i--)
{
cin >> b[i];
}
// 从小到大排序
for(i=n-1;i>0;i--)
{
if(b[i] < b[i-1]) //与左边相邻数比较,若小,则交换
{
temp = b[i];
b[i] = b[i-1];
b[i-1] = temp;
i=n; //重新从数组最右侧数开始比较
}
// 本次相邻数字若无交换,则轮到下一个数字与左边相邻数比较
}
//显示排序后的数字
for(i=0;i<n;i++)
{
cout << b[i] << ' ';
}
return 0;
}
2.提取整数各位上的数
string number;
int n,i;
cin >> number; // number为输入的数字
n = number.size(); // number的位数
int a[n];
for(i=n-1;n>=0;n--)
{
a[n] = ((int)number[n]-48); //0~9的ASCII值减去48,得到对应的整型值
}
另外,还有一种求模的方法。