/*第二题*/ #include<stdio.h> //输入186732468 //输出173 //输入12345677 //输出13577 main(){ int input,length=0;//输入的数字,数字的长度 printf("请输入: "); //input=186732468; scanf("%d",&input); int tmp=0;tmp=input;//缓存一下原始数据 if(input==0){ printf("长度为:%d ",1); }else{ while(input){ input=input/10; length++; } } input=tmp; int i=length-1; int array[length]; for(i;i>=0;i--){ array[i]= input%10; input=(input-array[i])/10; } i=0; printf("输出结果:"); for(i;i<length;i++){ if(array[i]%2){printf("%d",array[i]);} } }
实现思路:
先从键盘输入一个数,暂定为int类型。(实际上以int类型会比较复杂)
然后获得这个数有多少数字,存在length中,便于后期使用它来控制循环次数
然后遍历循环,把数中的所有数字存进一个数组中。
遍历数组输出奇数。
以上步骤可以省略。自行优化。
新手级别代码。