首页 > 用户发贴区 > 编程问题提问区 > 求高手指点一二!!
2007
11-16

求高手指点一二!!


编写C程序,输入多个两位正整数(以回车键作为结束标志),并统计出其中小于等于40、大于40小于等于70、大于70的数据个数。


求高手指点一二!!》有 5 条评论

  1. wfnh 说:

    有人帮忙吗??

  2. wfnh 说:

    我的代码:

    #define ture 1
    #define false 0
    #include <stdio.h>
    void main()

    {   int a;
        int lessthan40=0;
        int _40to70=0;
        int morethan70=0;
        printf(“请输入多个两位数:”);
        for(;(a=getchar())!=’\n’;)
        {

            scanf(“%d”,&a);
            if(a<=40)
                    lessthan40+=1;
            if(a>40&&a<=70)
                    _40to70+=1;
            if(a>70)
                    morethan70+=1;

        }
        printf(“lessthan40=%d\n_40to70=%d\nmorethan70=%d\n”,lessthan40,_40to70,morethan70);
        getch();

       

    }

    不性的

  3. younger 说:

    目标是好的,算法是诡异的.

    首先不了解你开始的宏定义是做什么用的.

    不过你的错误出在for的第1次循环上,先执行了一次getchar();,所以错了.建议改为while循环

    #include <stdio.h>
    void main()

    {   int a;
        int lessthan40=0;
        int _40to70=0;
        int morethan70=0;
        printf(“input data”);
        do{
      scanf(“%d”,&a);
            if(a<=40)
                    lessthan40+=1;
            if(a>40&&a<=70)
                    _40to70+=1;
            if(a>70)
                    morethan70+=1;

        }while((a=getchar())!=’\n’);
     
        printf(“lessthan40=%d\n_40to70=%d\nmorethan70=%d\n”,lessthan40,_40to70,morethan70);
        getch();

       

    }

  4. wfnh 说:

    你好,我是<<求高手指点一二!! >>这贴的楼主 

    请问一下,为什么用FOR不性呢,而DO…..WHILE循环接可以,难道DO…..WHILE不回吃了回车键的吗?

  5. machongzhen 说:

    for是先判断在循环\

    do while是先执行一边在判断

留下一个回复