数组逆转、进制转换(按权展开,除基取整)、最后一个不要空格


一、数组逆转

void reverse(int array1[], int num) {
    int temp;//中间变量
    for (int i = 0;i < num/2;i++) {
        temp = array1[i];
        array1[i] = array1[num - i - 1];
        array1[num - i - 1] = temp;
    }
}


***
二、进制转换

//按权展开
//需要一个数,以及一个product
int y = 0,product = 1;
while( x != 0){
y = y + (x % 10) * product;
x /= 10; //x去掉个位
product *= p; //权重乘
}

P109更好
int hashFunc(char s[],int len){
int id = 0;
for(int i = 0;i < len;i++){
id = id * 26 + (s[i] - 'A';
}
return id;
}

三、
//需要一个数组,一个位数,记住
//除基取整
int ans[40], int num = 0;
do{
ans[num++] = y % p;
y = y / p;
}while(y != 0);

进制转换第三



最后一个不要空格
1、
(1)最后一个不要空格,先输出一个数,再输出 空格+数字也不错
(2)比那个统计剩下最后一个特例更好,
本质都是特例,一个在前,一个在后而已
(3)第三种也不错,就是正常输出,再加个判断,if(i != 0) printf(空格)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容