如何把字符串變數字的一道題,求代碼,在線等

這道題做法和代碼 c或者c++
⋯在線等應該不難的⋯⋯⋯⋯。zzz图片说明

从第1/*i=0*/字符开始判断如果是o,则是1,直接跳到第i+3判断,如果是z,则跳到i+4,如果是o,i+3

要么直接从后往前判断,判断一位算一个值,算到最前面答案也就出来了

 #include <stdio.h>  
#include <string.h>
void main()
{

    char str[]="zeroonezero";
    int num=0;

    char *p;
    p=str;
    while(*p)
    {
        if(*p=='z')
        {
            if(num) num*=2;
            p=p+4;
        }else if(*p=='o')
        {
            if(num) num=num*2+1;
            else num=1;
            p=p+3;
        }
    }
    printf("%d\n",num);
}

或者每次读一个字符比较。
读到'o' 再读两个,'z'读三个。那就全部读2个,单独判断是'z'就多读一个
处理数字:没加一个1/0,数字的二进制左移一个(或者乘于2),如果是one,则是加在最后面的个位数,即num+1
大致:

 char ch;
 int num;  
 while( (ch=getchar()) !=EOF){
     num << 1;
     if(ch=='z')   getchar();
         if(ch=='o')  num += 1;
         getchar();
         getchar();
 }