首页 > C风格编程语言 > C#编程资料 > 学长们帮帮忙
2008
10-13

编写一个函数invert(x,p,n),该函数返回对X执行下列操作后的结果值:将X重从第P位开始的n个(二进制)位求反(即,1变成0,0变成1),X其余各位保持不变    


帮我解下这个问题啊 谢谢了  就用C语言  不要用太高级的语言啊  我看不懂啊  谢谢学长们了


学长们帮帮忙》有 10 条评论

  1. 梦醒时分 说:

    void invert(char *x,int p,int n)

    {
     int i;
     for(i=p;i<=n;i++)
    {
       if(*(x+i)==’0′)
        *(x+i)=’1′;
                     
       if(*(x+i)==’1′)
        *(x+i)=’0′;
    }
     while(*x!=’\n’)
      {
       printf(“%c”,*x);
       x++;
      }
    }

  2. s9y9r9 说:

    二楼的老兄未免太天真了吧!!!

    char *x指的是字符呀!不是二进制啊!!把字符这样指来指去,不对吧!!!

  3. 梦醒时分 说:

    怎么不行啊?你可以测试啊?我不知道你质疑什么?

    #include<stdio.h>
    #include<stdlib.h>
    void invert(char *x,int p,int n);
    int main()
    {
     char a[6];
     int i;
     for(i=0;i<6;i++)
     {
     scanf(“%c”,&a[i]);
      }
     invert(a,2,3);
     system(“pause”);
     return 0;
      }

    void invert(char *x,int p,int n)

    {
     int i;
     for(i=p;i<=n+p;i++)
    {
       if(*(x+i)==’0′)
        *(x+i)=’1′;
                     
       if(*(x+i)==’1′)
        *(x+i)=’0′;
    }
     while(*x!=’\n’)
      {
       printf(“%c”,*x);
       x++;
      }
    }
     
      

  4. s9y9r9 说:

    我编的:(还在修改中)

    #include <stdio.h>
    void main(void)
     {
       char *x;
       int p=4,n=3;
       x=&c;
       invert(char *x,int p,int n)
     }

    void invert(char *x,int p,int n)

    {
     int i;
     for(i=p;i<=n;i++)
    {
       if(*(x+i)==’0′)
        *(x+i)=’1′;
                     
       if(*(x+i)==’1′)
        *(x+i)=’0′;
    }
     while(*x!=’\n’)
      {
       printf(“%c”,*x);
       x++;
      }
    }

  5. s9y9r9 说:

    我测试了,你的程序是对一段字符串进行操作,比如:”abcdefghijk”    前六个字母你不变,对后面进行操作。但楼主的要求是对二进制进行操作!    比如字母’c'的二进制是多少,然后对二进制修改啊!!!

  6. s9y9r9 说:

    我测试了,你的程序是对一段字符串进行操作,比如:”abcdefghijk”    前六个字母你不变,对后面进行操作。但楼主的要求是对二进制进行操作!    比如字母’c'的二进制是多少,然后对二进制修改啊!!!

  7. s9y9r9 说:

    还是研究研究吧!

  8. 梦醒时分 说:

    我不知道。我理解的是他输入的只是11000110这样的二进制位。没像你这么考虑。你最好问问人家需要什么样的程序!

  9. 155443176 说:

    感谢你们啊  谢谢你们能抽空帮我解决一下问题 就是1110110110101这样的二进制  谢谢啦

  10. hiroki 说:

    支持支持啊

留下一个回复