C语言实现输出一组数字中的所有奇数


/*第二题*/
#include<stdio.h>
//输入186732468
//输出173
//输入12345677
//输出13577
main(){
    int input,length=0;//输入的数字,数字的长度
    printf("请输入:\n");
    //input=186732468;
    scanf("%d",&input);
    int tmp=0;tmp=input;//缓存一下原始数据
    if(input==0){
        printf("长度为:%d\n",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中,便于后期使用它来控制循环次数

然后遍历循环,把数中的所有数字存进一个数组中。

遍历数组输出奇数。

以上步骤可以省略。自行优化。

新手级别代码。

 

posted @ 2017-04-26 15:24  须小弥  阅读(4623)  评论(0编辑  收藏  举报