C语言高级题,真搞不懂啊

输入一个字符串,将其中ASCII码值为奇数的字符输出。

一个简单的实现:


#include <stdio.h>
#include <string.h>  // for strlen
int main(void){
    
    char  str [50] ;
    int i = 0;
    
    scanf("%s",str);
    
    int len = strlen(str);  //获取这个字符串的长度 
    
    while(i<len){
        //如果这个字符除以2的余数不为0,即为奇数值的ASCII码值 
        //字符是以整数形式存储的,所以可以直接除以 
        if(str[i]%2!=0){  
            printf("%c ",str[i]);  //打印 
        }
        i++;  //指向字符串下一个字符 
    } 
    
    return 0;
}

有用请采纳

#include<stdio.h>
int main(){
    char str[100];
    scanf("%s", str);
    
    for(int i = 0; str[i] != '\0'; i++)
        if (str[i] % 2 != 0)
            printf("%c  ", str[i]); 
    
}