欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C Primer Plus笔记(3)

程序员文章站 2023-12-22 22:18:52
...

第八章课后复习题8.5

#include<stdio.h>
int main()
{
    int guess=50,high=100,low=0;
    char jug,ch;
    printf("1-100\nsay y for yes n for no\nyour number is %d ?\n\n",guess);
 
    while(jug=getchar(),jug!='y')
{        
    while(getchar()!='\n')
        continue;  
    if(jug!='n')
        printf("please enter y or n\n\n");
    else
    {
        printf("%d is bigger or smaller\ns for smaller,b for bigger\n\n",guess);
        
         
        while(ch=getchar(),!(ch=='b'||ch=='s'))
        printf("please enter s or b\n\n");
            while(getchar()!='\n')
                continue;         
        guess=ch=='s'?(guess+high)/2:(guess+low)/2;
        printf("your number is %d ?\nplease enter y or n\n\n",guess);
    }
}
    printf("oh yes");
    return 0;
}

运行结果:
C Primer Plus笔记(3)
尝试性地在while循环里用,作为序列点解决了while(ch=getchar()!=‘y’||ch=getchar()!=‘n’)会导致getchar读取两个字符的问题,也使用了?条件符,确实很方便

相关标签: c语言

上一篇:

下一篇: