• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

博客园    首页    新随笔    联系   管理    订阅  订阅
第三章

3.1例3-1

/* 简单的猜数游戏 */
#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.1例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.1例3-3

/* 输入一批学生的成绩,计算平均分,并统计不及格成绩的学生人数 */
#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 garde#%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.1-例3-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.2例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 if(op=='/')
        printf("=%.2f\n",value1/value2);
    else
        printf("Unknown operator\n");

    return 0;
}

3.2例3-7

/* 统计字符,包括英文字母、数字字符和其他字符 */
#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.2例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]Select exit\n");

        printf("Enter choice:");
        scanf_s("%d",&choice);
        
        if(choice==0)
            break;
        switch(choice){
            case 1:price=3.0;break;
            case 2:price=4.0;break;
            case 3:price=3.5;break;
            case 4:price=0.0;break;
            default:price=0.0;break;
        }

        printf("price=%0.1f\n",price);
    }
        printf("Thanks\n");

        return 0;
    }

3.3例3-9

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

    printf("Type in an expression:");
    scanf_s("%lf%clf",&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);
        break;
    case'/':
        printf("=%.2f\n",value1/value2);
        break;
    default:
        printf("Unknown operator\n");
        break;

    }


    return 0;
}

3.3例3-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,digit,other);

    return 0;
}

 

3.3例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;
}

posted on 2013-10-03 22:28  Der.  阅读(232)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3