C语言难题。。。大神们进。。跪求答案

就是这样,首先定义个变量,
然后用户给它赋值,然后程序判断该变量内容是否为1或者2,
是的话,继续运行,否则的话,回到用户给它赋值的步骤,
我尝试用FOR语句,可是。。。失败了。。。
还有一个,
就是用户输入一串内容后(程序规定必须要用","隔开,而且输入的必须都为不为0的数字)
是的话继续运行,否则回到用户输入值的地方,
可能是复杂了点。。嘻嘻,自己试了N种方法都没有成功,果断上葫芦林来了。
特求C语言大神出现。。。
最后@老虎会游泳 一下。。嘻嘻。。。
帮帮我啊!!!
回复列表(30|隐藏机器人聊天)
  • @Ta / 2013-08-21 / /
    php,是挺简单的,不过,c,无力
  • @Ta / 2013-08-21 / /
    @Xily ,汗。。这个真的难倒我了。。。
  • @Ta / 2013-08-21 / /
    @老虎会游泳 老虎快来。。好不。。求求你了。。。
  • @Ta / 2013-08-21 / /
    js,是挺简单的,不过,c,无力
  • @Ta / 2013-08-21 / /
    @踏雪无痕,if(a==1)
    {程序继续运行的内容}
    if(a==2)
    {goto用户输入}
  • @Ta / 2013-08-21 / /
    @踏雪无痕,在前面,必须有个标号,然后后面跳到标号
  • @Ta / 2013-08-21 / /
    @踏雪无痕
    大概实现如下
    int a;
    biaohao:
    scanf("%d",&a);
    if(x==2)
    goto biaohao;
    。。。。
  • @Ta / 2013-08-21 / /
    @踏雪无痕,不知是楼主表述能力不好,还是我理解能力不到位。我的理解是检查用户输入是否为数字,是数字并且为1是程序继续运行,否则提示用户继续输入,直至用户输入1。下面是代码,测试过,没错。
    #include <stdio.h>
    int main(void)
    {
     int i;
     printf("Please enter the number:");
     while(scanf("%d",&i)==1&i!=1)
     ;
     printf("good night!\n");
     return 0;
    }
    
  • @Ta / 2013-08-21 / /
    int a=-1;
    while(a != 1 || a != 2)
    {
    scanf("%d",&a);
    }
    尽量少用goto
  • @Ta / 2013-08-21 / /
    @haicom,个人感觉某些时候用goto更容易理解
  • @Ta / 2013-08-21 / /
    @skyxi,当代码长时或用得多就有影响了,会导致代码逻辑混乱,尽量少用或不用就不会养成依赖goto的习惯,现在国内大部分教程都建议尽量不要用goto
  • @Ta / 2013-08-21 / /
    @踏雪无痕,下面是改良版,输入1或2都可以。
    #include <stdio.h>
    int main(void)
    {
     int i=0;
     while(i<1 | i>2)
     {
      printf("Please enter the number:(1 or 2)");
      if(scanf("%d",&i)!=1)
       i=0;
      while(getchar()!='\n')
       continue;
     }
     printf("good night!\n");
     return 0;
    }
    
  • @Ta / 2013-08-21 / /
    @haicom,事实证明你的代码是错误的,你可以自己试试。
  • @Ta / 2013-08-21 / /
    @haicom,你的条件永远成立,所以无限循环了。
  • @Ta / 2013-08-21 / /
    @幻阳化翼,我太粗心了,的确用错了判断符号-_-|||
  • @Ta / 2013-08-21 / /
    while(i=1||i=2){

    }
  • @Ta / 2013-08-21 / /
    @Bewind,条件永远成立,无限循环。赋值是一直成立的噢,就算改成等号也是不行的,实现效果与题目相反。
  • @Ta / 2013-08-21 / /
    @幻阳化翼,你用的是位或符号而不是逻辑或符号,最好不要这么用。
    位运算符& | ~
    逻辑运算符&& || !
  • @Ta / 2013-08-21 / /
添加新回复
回复需要登录