美文网首页
实验三 : 优秀代码

实验三 : 优秀代码

作者: jzh123s | 来源:发表于2016-10-13 10:15 被阅读0次

    A : 计算圆内接正n边形的面积

    题目描述:
    输入圆半径R、正整数n,计算并输出圆内接正n边形的面积。
    面积公式:nR*Rsin(2π/n)/2。
    C语言中已定义正弦函数sin(x),其中x是弧度。使用sin(x)需包含头文件math.h。
    π的取值为3.1415926。
    

    优秀代码

    //这是一个计算圆内接正n边形面积
    #include<stdio.h>
    #include<math.h>
    #define PI 3.1415926
    int main()
    {
        int n;
        double r,Area;
        //printf("请输入半径和正多边形的边数");
        scanf("%lf,%d",&r,&n);
        Area=n*r*r*sin(2*PI/n)/2;
        printf("Area=%.2lf\n",Area);
        return 0;
    }
    

    点评 : 很标准的一段代码。

    B : 一元二次方程的两个实根求解

    题目描述
    输入一元二次方程ax^2+bx+c=0的系数a、b、c。
    假设输入始终满足b^2-4ac>0且a不等于0,计算并输出该方程的两个实根。
    C语言中计算非负实数的平方根函数: double sqrt(double);
    头文件:math.h。
    

    优秀代码

    #include<stdio.h>
    #include<math.h>
    int main ()
    {
        int a , b , c ;
        double delta , x1 , x2 ;
     
        //printf ( "请输入一元二次方程的系数a,b,c" );
        scanf ( "%d%d%d", &a , &b , &c );
        delta=b*b-4*a*c;
        x1=(-b+sqrt(delta))/(2*a);
        x2=(-b-sqrt(delta))/(2*a);
     
        //printf ( "该方程的两个实根分别是" );
        printf ( "x1=%.2lf x2=%.2lf \n", x1 , x2 );
     
        return 0;
    }
    

    点评 : 声明了delta变量方便重用,避免了冗余。格式和缩进把握的也不错。

    C : 大写字母加密

    题目描述
    有一种古典加密方法就是按照字母表顺序,把每个字母循环右移k位,从而转换为加密的另一个字母。 
    例如偏移2位,即A对应C,B对应D,……X对应Z,Y对应A,Z对应B。 
    当前设定加密规则是:循环右移4位。
    注:要求用表达式实现加密。
    

    优秀代码

    #include<stdio.h>
     
     int main()
     {  char ch, ch1;
        ch=getchar();
        ch1='A'+(ch-'A'+4) % 26;
        printf("%c\n", ch1);
        return 0;
        }
    

    点评 : 一行代码实现了整个加密流程,缩进还能再改进下

    D : 求三个数中的最大数

    题目描述
    有三个整数a b c,由键盘输入,输出其中的最大的数。
    

    优秀代码

    #include <stdio.h>
    int main()
    {
        int a,b,c,max;
        scanf("%d%d%d",&a,&b,&c);
        max=a>b?a:b;
        max=c>max?c:max;
        printf("%d",max);
        return 0;
    }
    

    点评 : 利用了三段式替代了大量的if语句

    E : 判断字母

    题目描述
    输入一个字符,判定该字符是否是字母。
    (提示:可使用ctype.h中的函数)
    

    优秀代码

    //这是判断字母的代码
    #include<stdio.h>
    #include<ctype.h>
    int main()
    {
        char c;
        c = getchar();
        //读取一个字符
        if(c>='a'&&c<='z' || c>='A'&&c<='Z')
            printf("ALPHA\n");
        else
            printf("NO\n");
        return 0;
    }
    

    点评 : 手动判断了c的范围,对&&和||的优先级也把控的很到位
    PS:早期不建议使用内置函数偷懒,能自己实现的尽量自己实现。

    相关文章

      网友评论

          本文标题:实验三 : 优秀代码

          本文链接:https://www.haomeiwen.com/subject/iqrwyttx.html