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'; } } }