• 丛铭俣 160809324 (作业6)


    A组第一题:

    #include<stdio.h>
    int OddSum(int a)
    {
        int sum=0;
        if(a%2)
            sum=sum+a;
        return sum;
    }
    int main()
    {
        int a,b,c,i;
        printf("请输入数字的总数:");
        scanf("%d",&a);
        printf("请分别输入这些整数
    ");
        for(i=0;i<a;i++)
        {
            scanf("%d",&b);
            c=OddSum(b);
        }    
        printf("这些整数中奇数的和为%d
    ",c);
        return 0;
    }

    A组第2题:

    #include<stdio.h>
    double mypow(double x,int n)
    {
        double c=1;
        int i;
        for(i=1;i<=n;i++)
            c=c*x;
        return c; 
    }
    int main()
    {
        double x;
        int n;
        printf("请输入x和n的值:"); 
        scanf("%lf %d",&x,&n);
        mypow(x,n);
        printf("结果为%.3f
    ",mypow(x,n));
        return 0;
    }

    A组第三题:

    #include<stdio.h>
    double result;
    void cylinder(double r,double height)
    {
        result=3.14*r*r*height;
    }
    int main(void)
    {
        double r,height;
        printf("请输入圆柱体的半径和高度:");
        scanf("%lf %lf",&r,&height);
        cylinder(r,height);
        printf("%.3f
    ",result);
        return 0;
    }
    #include<stdio.h>
    double cylinder(double r,double height);
    int main(void)
    {
        double height,r;
        printf("请输入圆柱体的半径和高度:");
        scanf("%lf %lf",&r,&height);
        printf("体积为%.3f
    ",cylinder(r,height));
        return 0;
    }
    double cylinder(double r,double height)
    {
        double result;
        result=3.14*r*r*height;
        return result;
    }

    B组:

    #include<stdio.h>
    void jobone()
    {
        int a;
        printf("第一次作业
    ");
        printf("1.实验1-1:求最大值:
    ");
        printf("2.实验1-2:求m到n之和:
    ");
        printf("3.实验1-3:求平均数:
    ");
        printf("请选择作业:");
        scanf("%d",&a);
        switch(a)
        {
            case 1:
                printf("要求由键盘输入两个整数a和b,程序输出其中较大的数。
    ");
                break;
            case 2:
                printf("要求程序计算并输出m~n(m< n)之间所有整数的和,其中m和n由用户从键盘上输入。
    ");
                break;
            case 3:
                printf("要求从键盘上依次读入5个整数,计算并输出他们的平均数。/n");
                break;    
        }
        
    }
    void jobtwo()
    {
        int b;
        printf("第二次作业
    ");
        printf("1.C语言基本数据类型及其占用的内存空间大小分别是:
    ");
        printf("2.算数运算符有:
    ");
        printf("3.关系运算符有:
    ");
        printf("4.逻辑运算符的优先顺序是:
    ");
        printf("5.赋值运算符有:
    ");
        printf("6.char c=132; printf(“%d”,c);
    ");
        printf("7.int a=-7; printf(“%d”,a>>1);
    ");
        printf("8.int a=7;int b=8; printf(“%d”,a&b);
    ");
        printf("9.int a=7;int b=8; printf(“%d”,a^b);
    ");
        printf("请选择作业:");
        scanf("%d",&b);
        switch(b)
        {
            case 1:
                printf("有符号整形int:4字节;有符号短整形short int:2字节;有符号长整形long int :4字节;无符号整形unsigned int:4字节;无符号短整型unsigned short int :2字节;无符号长整形unsigned long int:4字节;字符型char :1字节;单精度浮点型float:4字节;双精度浮点型double:8字节。
    ");
                break;
            case 2:
                printf("+-*/% ++ --
    ");
                break;
            case 4:
                printf("!  &&  ||/n");
                break;
            case 5:
                printf("= +=  -=  *=  /=  %= /n");
                break;
            case 6:
                printf("这个代码的结果是-124,原因是 char的范围是-128~127,而输入的是132,132是由128和4组成,所以应该是1000 0100,第一位是1,所以计算机识别出来的是负数,1000 0100取反对应的是0111 1011,然后再进一位,为0111,1100。所以最后的结果为-124./n");
                break;
            case 7:
                printf("11111111 11111111 11111111 11111001/n");
                break;
            case 8:
                printf("00000000 00000000 00000000 00000000/n");
                break;
            case 9:
                printf("00000000 00000000 00000000 00001111 /n");
                break;
        }
    }
    void jobthree()
    {
        int c;
        printf("第三次作业
    ");
        printf("1.编程打印10行的三角形,要求每行显示的*号个数等于行数;
    ");
        printf("2.编程打印10行*号,每行打印10个*号
    ");
        printf("3.编程打印10行的倒三角形,第一行打印10个*,……第10行打印1个*
    ");
        printf("4.输入五级制成绩(A~E),输出相应的百分制成绩(0~100)区间,要求使用switch语句。例如,输入A,输出90~100。五级制成绩对应的百分制成绩区间为:A(90~100),B(80~89),C(70~79),D(60~69)和E(0~59)。
    ");
        printf("5.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F?32)/9C = 5	imes (F-32)/9C=5×(F?32)/9,式中:CCC表示摄氏温度,FFF表示华氏温度,输出数据要求为整型。
    ");
        printf("6. 一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒.
    ");
        printf("7. 本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
    ");
        printf("请选择作业:");
        scanf("%d",&c);
        switch(c)
        {
            case 1:
                printf("");
                break;
            case 2:
                printf("");
                break;
            case 4:
                printf("");
                break;
            case 5:
                printf("略/n");
                break;
            case 6:
                printf("略/n");
                break;
            case 7:
                printf("略/n");
                break;        
        }
    }
    void jobfour()
    {
        int d; 
        printf("第四次作业
    ");
        printf("1.猜数字游戏
    ");
        printf("2.从键盘上输入2个正整数,输出这两个数的最大公约数和最小公倍数。
    ");
        printf("请选择作业:");
        scanf("%d",&d);
        switch(d)
        {
            case 1:
                printf("");
                break;
            case 2:
                printf("");
                break;
        }
    }
    void jobfive()
    {
        int e;
        printf("第五次作业
    ");
        printf("1.书上第3章课后题中的5道编程题。
    ");
        printf("2.利用双重循环打印三角形
    ");
        switch(e)
        {
            case 1:
                printf("");
                break;
            case 2:
                printf("");
                break;
        }
    }
    void start()
    {
        int i;
        printf("欢迎进入作业管理系统
    ");
        printf("可以查询以下作业内容:
    "); 
        printf("1.第一次作业
    ");
        printf("2.第二次作业
    ");
        printf("3.第三次作业
    ");
        printf("4.第四次作业
    ");
        printf("5.第五次作业
    ");
        printf("请选择:");
        scanf("%d",&i);
        switch(i)
        {
            case 1:
                jobone();
                break;
            case 2:
                jobtwo();
                break;
            case 3:
                jobthree();
                break;
            case 4:
                jobfour();
                break;
            case 5:
                jobfive();
                break;
            default:
                printf("输入有误!");
        }
    }    
    int main()
    {
        start();
        return 0;
    }

    总结:这次作业用的方法好像就是把int main 函数置后了,我也不知道这是什么意思,而且做完这些题,还是没有完全掌握这种方法,另外,B组作业管理这道题,每道题额答案没办法打进去,全是代码,难道要把代码打进代码里吗,太乱了我觉得,主要是这种方法的框架学会了,所以一些答案我写的略,实在是不可能打进去,至少对我们现在来说非常困难和复杂。C语言还需要学的东西很多,时不时多多复习之前做的题目加深印象,还是加油!

  • 相关阅读:
    test20181024 kun
    test20181020 B君的第二题
    test20181020 B君的第一题
    test20181015 B 君的第三题
    test20181018 B君的第三题
    test20181019 B君的第三题
    test20181021 快速排序
    test20181019 B君的第一题
    test20181018 B君的第一题
    test20181016 B君的第三题
  • 原文地址:https://www.cnblogs.com/cmy531337670/p/6028420.html
Copyright © 2020-2023  润新知