C 取出奇数位置的数字组成新的数 && 奇数位置的字母变大写

#include <stdio.h>
#include<math.h>

int selectQi(int n);
void selectChange(char str[]);
int main(){
    
    int i=123456789;
    printf("%d",selectQi(i));
    char str[]="kuahgrhbf";
    selectChange(str);
    printf(str);
    
}

//取出奇数位置的数字 组成一个新的int数值并返回
int selectQi(int n){
    int nums[10]={0};//第一个元素初始0  剩余元素也是0
    //int num[10]={1,2,3} 像这样只初始化部分元素 int未初始化的元素都是0
    
    //先取出奇数位置的数字  放入nums数组中
    int i=0;
    while(n>0){
        nums[i++]=n%10;
        n=n/100;//所谓取出奇数位置的数字 就是隔1个取1个
    }
    int length=i;

    int rs=0;
    //取出nums数组中的数据 并构成int
    i=0;
    for(i=0;i<length;i++){
        rs=rs+nums[i]*pow(10,(float)i);//不强制转换有个 ambitious to overload function提示
        //说是企图重载 //那么应该是参数的问题
    }
    return rs;
}

//将奇数位置的字母改为大写
void selectChange(char str[]){
    char ch;
    int i=0;
    for( ;(str[i]!=0&&str[i]!='\0' );i+=2  ){
        ch=str[i];
        if(ch>='a'&&ch<='z'){
            str[i]=str[i]+'A'-'a';
        }
    
    }
}

 

posted @ 2013-03-26 17:07  cart55free99  阅读(299)  评论(0编辑  收藏  举报