zoukankan      html  css  js  c++  java
  • C Primer Plus课后编程习题

    【原创】所有程序都运行过,部分题目存在的问题已经标注,欢迎指正。

    第二章

    1.

    //打印姓名
    #include<stdio.h>
    int main()
    {
        printf("Gustav Mahler
    ");
        printf("Gustav
    ");
        printf("Mahler
    ");
        printf("Gustav Mahler
    ");
        return 0;
    }

    2.

    //打印姓名和地址
    #include<stdio.h>
    int main()
    {
        printf("Jack Ma
    ");
        printf("CHINA
    ");
        return 0;
    }

    3.

    //输入年龄返回天数
    #include<stdio.h>
    int main()
    {
        int i_age,i_days;
        printf("please type you age:
    ");
        scanf("%d",&i_age);
        i_days = 365 * i_age;
        printf("convert to days is:%d",i_days);
        return 0;
    }

    4.

    //调用函数进行打印
    #include<stdio.h>
    
    void jolly()
    {   int i;
        for(i=0;i<3;i++)
            printf("For he is a jolly good fellow!
    ");
    }
    
    void deny()
    {
        printf("Which nobody can deny!");
    }
    
    int main()
    {
        jolly();
        deny();
    }

    5.(两个子函数的内容不显示,已解决)【调用函数格式错误,前边不需要加void】

    #include<stdio.h>
    
    void br()
    {
        printf("Brazil,Russia
    ");
    }
    
    void ic()
    {
        printf("India,China
    ");
    }
    
    int main()
    {
        printf("Brazil,Russia,India,China");
        void br();
        void ic();
    }

    6.(待排查,使用pow(toes,2)计算10的平方,输出为99;如果直接pow(10,2)正常,直接toes*toes也正常

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
        int toes = 10;
        int i_twice,i_square;
        i_twice = toes * 2;
        i_square = pow(toes,2);
        printf("The twice of toes is:%d
    ",i_twice);
        printf("The square of toes is:%d
    ",i_square);
        return 0;
    }

    7.

    #include<stdio.h>
    
    void joker()
    {
        printf("Smile!");
    }
    
    //换行
    void nn()
    {
        printf("
    ");
    }
    
    int main()
    {
        joker();joker();joker();nn();
        joker();joker();nn();
        joker();nn();
    }

    8.

    #include<stdio.h>
    
    void one_three()
    {
        printf("one
    ");
        two();
        printf("three");
    
    }
    
    void two()
    {
        printf("two
    ");
    }
    
    int main()
    {
        printf("starting now:
    ");
        one_three();
        return 0;
    
    }

    第三章

    1.

    a).整型的上溢

    #include<stdio.h>
    int main()
    {
        int big = 4294967296;
        int toobig;
        toobig = big + 1;
        printf("The value of big is %d
    The value of toobig is %d
    ",big,toobig);
        return 0;
    }

    输出为:

    The value of big is 0
    The value of toobig is 1

    b).浮点数上溢

    #include<stdio.h>
    int main()
    {
        float toobig = 3.4E38 * 100.0f;
        printf("%e
    ",toobig);
        return 0;
    }

    输出:

    1.#INF00e+000

    c).浮点数下溢

    (按照<C Primer Plus>的描述来编写程序,结果输出未发生下溢,可能是64位机的缘故。但如果增多小数位数,精度确实会发生改变)

    #include<stdio.h>
    int main()
    {
        float toobig;
        toobig =  0.123456789E-10/10;
        printf("%e
    ",toobig);
        return 0;
    }

    输出为:1.234568e-012

    2.

    #include<stdio.h>
    int main()
    {
        int i_number;
        printf("Please type a number<0~127>
    ");
        scanf("%d",&i_number);
        printf("The ASCII of the number is %c",i_number);
        return 0;
    }

    3.

    #include<stdio.h>
    int main()
    {
        printf("aStartled by the sudden sound, Sally shouted,
    'By the Great Pumpkin, what was that!'");
        return 0;
    }

    4.(待排查,输出16进制计数法时,输出为0)

    #include<stdio.h>
    int main()
    {
        float f_number;
        printf("Enter a floating-point value:
    ");
        scanf("%f",&f_number);
        printf("fix-point notation: %f
    ",f_number);
        printf("expoential notations: %e
    ",f_number);
        printf("p notation: %X",f_number);
        return;
    }

    5.(待排查,数值较大,所以使用了long long int,但是输出还是不正常

    #include<stdio.h>
    int main()
    {
        int age;
        long long int second;
        printf("Please inter your age:");
        scanf("%d",age);
        second = age * 3.156;
        printf("The second of your age is: %d",second);
        return 0;
    }

    6.(出错,等待解决,了解当数值很大或者很小时,应该真么定义)

    #include<stdio.h>
    int main()
    {
        float quart, weight;
        long long int number;
        printf("Please Enter a number of the water:");
        scanf("%f", &quart);
        weight = quart * 950;
        printf("The weight of water is %f g", weight);
        number = weight / (3 * 10 ^ -23);
        printf("The number of the water is %d",number);
    }

    7.(该程序在visual  studio 2019中运行时报错,而在codeblocks中正常)

    #include<stdio.h>
    int main()
    {
        float num1, num2;
        printf("请输入你的身高(英寸)");
        scanf("%f", &num1);
        num2 = num1 * 2.54 ;
        printf("你的身高是%f cm", num2);
        return 0;
    }

    8.

    #include<stdio.h>
    int main()
    {
        float cup;
        printf("请输入杯数:");
        scanf("%f",&cup);
        printf("品脱数:%f
    ",cup * 1/2);
        printf("盎司数:%f
    ",cup * 8);
        printf("汤勺数:%f
    ",cup * 16 );
        printf("茶勺数:%f
    ",cup * 48);
        return 0;
    
    }

    第四章

    1.

    #include<stdio.h>
    int main()
    {
        char first_name[20],last_name[20];
        printf("请输入你的名字:");
        scanf("%s",&first_name);
        printf("请输入你的姓:");
        scanf("%s",&last_name);
        printf("I get is,your name is :%s %s",first_name,last_name);
        return 0;
    }

    2.

    3.

  • 相关阅读:
    体温上报系统
    Android开发概述和开发工具
    体温上报系统
    CSS padding(填充)
    CSS margin外边距实例
    CSS margin(外边距)
    CSS轮廓outline
    函数对象与闭包
    作业,3.19名称空间作用域
    名称空间/作用域
  • 原文地址:https://www.cnblogs.com/lijitao/p/12114505.html
Copyright © 2011-2022 走看看