第二章:分支结构

【例3-1】简单的猜数游戏。输入你所猜的整数(假定1~100内),与计算机产生的被猜数比较,若相等,显示猜中;若不等,显示与被猜数的大小关系。

/*简单的猜数游戏*/
#include<stdio.h>
int main(void)
{
    int mynumber=38;
    int yournumber;

    printf("Input your number:");
    scanf("%d",&yournumber);
    if(yournumber=mynumber)
       printf("Ok!you are right!\n");
    else
        if(yournumber>mynumber)
            printf("Sorry!your number is bigger than my number!\n");
        else
            printf("Sorry!your number is smaller than my number!\n");

    return 0;
}

 

【例3-2】输入一个整数,判断该数是奇数还是偶数。

/*判断是奇数还是偶数*/
#include<stdio.h>
int main(void)
{
    int number;

    printf("Enter a number:");
    scanf("%d",&number);
    if(number%2==0){
        printf("The number is even.\n");
    }
    else{
        printf("The number is odd.\n");
    }

    return 0;
}

 

【例3-3】输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格成绩的学生人数。

/* 输入一批学生的成绩,计算平均分,并统计不及格成绩的学生人数*/
#include<stdio.h>
int main(void)
{
    int count,i,n;
    double grade,total;

    printf("Enter n:");
    scanf("%d",&n);
    total=0;
    count=0;
    for(i=1;i<=n;i++){
        printf("Enter grade#%d:",i);
        scanf("%lf",&grade);
        total=total+grade;
        if(grade<60){
            count++;
        }
    }
    printf("Grade average=%.2f\n",total/n);
    printf("Number of failures=%d\n",count);

    return 0;
}

   

 

【例3-4】继续讨论例2-4中提出的分段计算水费问题。

/*计算多分段函数*/
#include<stdio.h>
int main(void)
{
    double x,y;

    printf("Enter x:");
    scanf("%lf",&x);
    if(x<0){
       y=0;
    }
    else if(x<=15){
            y=4*x/3;
    }
    else{
          y=2.5*x-10.5;
    }
    printf("f(%.2f)=%.2f\n",x,y);

    return 0;
}

 

【例3-5】求解简单的四则运算。

/*求解简单的四则运算*/
#include<stdio.h>
int main(void)
{
    double value1,value2;
    char op;
    printf("Type in an expression:");
    scanf("%lf%c%lf",&value1,&op,&value2);

    if(op=='+')
        printf("=%.2f\n",value1+value2);
    else if(op=='-')
        printf("=%.2f\n",value1-value2);
    else if(op=='/')
        printf("%.2f\n",value1/value2);
    else
        printf("Unknown operator\n");

    return 0;
}

 

【3-6】略

 

【3-7】输入10个字符,统计其中英文字母,数字字符和其他字符个数。

/* 统计字符,包括英文字母、数字字母和其他字母的个数 */
#include<stdio.h>
int main(void)
{
    int digit,letter,other;
    char ch;
    int i;
    digit=letter=other=0;
    printf("Enter 10 characters:");
    for(i=1;i<=10;i++){
        ch=getchar();
        if(ch>='a'&& ch<='z')//(ch>='A'&& ch<='Z'))
            letter++;
        else if(ch>='0'&& ch<='9')
            digit++;
        else
            other++;
    }
    printf("letter=%d,digit=%d,other=%d\n",letter,digit,other);

    return 0;
}

 

【例3-8】查询自动售货机中商品的价格。

/* 查询自动售货机中商品的价格 */
#include<stdio.h>
int main(void)
{
    int choice,i;
    double price;

    for(i=1;i<=5;i++){
        printf("[1]Select crisps\n");
        printf("[2]Select popcorn\n");
        printf("[3]Select chocolate\n");
        printf("[4]Select cola\n");
        printf("[0]exit\n");

        printf("Enter choice:");
        scanf("%d",&choice);

        if(choice==0)
            break;

        switch(choice){
            case1:price=3.0;break;
            case2:price=2.5;break;
            case3:price=4.0;break;
            case4:price=3.5;break;
            default:price=0.0;break;
        }
    }
    printf("Thanks\n");

    return 0;
}

 

【3-9】求解简单表达式。

/*求解简单的四则运算表达式*/
#include<stdio.h>
int main(void)
{
    double value1,value2;
    char op;

    printf("Type in an expression:");
    scanf("%lf%c%lf",&value1,&op,&value2);
    switch(op){
    case'+':
        printf("=%.2f\n",value1+value2);
        break;
    case'-':
        printf("=%.2f\n",value1-value2);
        break;
    case'*':
        printf("=%.2f\n",value1*value2);
    case'/':
        printf("=%.2f\n",value1/value2);
        break;
    default:
        printf("Unknown operator\n");
        break;
    }

    return 0;
}

 

【3-10】输入10个字符,分别统计出其中空格或回车,数字字符和其他字符的个数。

/* 统计字符,包括空格或回车、数字字符和其他字符的个数 */
#include<stdio.h>
int main(void)
{
    int blank,digit,other;
    char ch;
    int i;
    blank=digit=other=0;
    printf("Enter 10 characters:");
    for(i=1;i<=10;i++){
        ch=getchar();
        switch(ch){
            case' ':
            case'\n':
                 blank++;
                 break;
            case'0': case'1': case'2': case'3': case'4':
            case'5': case'6': case'7': case'8': case'9':
                 digit++;
                 break;
             default:
                 other++;
                 break;
        }
    }
    printf("blank=%d,digit=%d,other=%d\n",blank,blank,digit,other);

    return 0;
}

 

【例3-11】求简单表达式。

/*求解简单的四则运算表达式*/
#include<stdio.h>
int main(void)
{
    double value1,value2;
    char op;

    printf("Type in an expression:");
    scanf("%lf%c%lf",&value1,&op,&value2);
    if(op=='+')
        printf("=%.2f\n",value1+value2);
    else if(op=='-')
        printf("%.2f\n",value1-value2);
    else if(op=='*')
        printf("=%.2f\n",value1*value2);
    else if(op=='/')
        if(value2!=0)
            printf("=%.2f\n",value1/value2);
        else
            printf("Divisor can not be 0!\n");
        else
            printf("Unknown operator!\n");

    return 0;
}

 

心得:敲代码时,一定要敲完整。不要漏了哪一条,有时候敲漏了,但组建时并不能找出其中的错误,依然能够运行,但结果会有一点不同。

问题:在组建有错误后,怎样能快速地找出错误所在???????

转载于:https://www.cnblogs.com/zhangling213549/p/3353827.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值