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

实验五:优秀代码

作者: jzh123s | 来源:发表于2016-11-17 12:25 被阅读0次

A : 公约数与公倍数

题目描述:
输入两个正整数m和n,求其最大公约数和最小公倍数。

优秀代码

author: 
2016150111
result: 正确
codes:
#include<stdio.h>
int main()
{
    int m,n,a,b,c;
    scanf("%d%d",&m,&n);
    m>=n?(a=m,b=n):(a=n,b=m);
    do
    {
        c=a%b;
        a=b;
        b=c;
    }while(c!=0);
    printf("%d %d",a,(m*n/a));
    return 0;
}

点评 : 考虑了m大于n的情况,缩进到位。

B : 求1!+2!+3!+....+n! 之值

题目描述
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。 

优秀代码

author: 
2016150127
result: 正确
codes:
#include<stdio.h>
int main()
{
    int n,i,sum=0,index=1;
    scanf("%d",&n);
    
    for (i=1;i<=n;i++)
    {
        index=index*i;
        sum+=index; 
    }
    printf("%d",sum);
    return 0;
    //5->153;2->3
}

点评 : 一个循环就完成了计算,缩进也到位,该题比较 。

C : 求N以内的完数

题目描述
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:

优秀代码

// 由于这道题大家实在写的不够简练。我自己写了一份,顺便给大家参考下格式
#include <stdio.h>

int main () {
    int num, i, j; // 注意逗号后面有个空格
    scanf("%d", &num); 
    for (i=2; i<n; i++) { // 此处的前花括号是否换行皆可
        int sum = 0;
        for (j=1; j<=i/2; j++) // 计算到i/2
            if (i % j == 0) sum += j;
        if (sum == i) {
            printf("%d its factors are ", i);
            for(j=1; j<=i/2; j++) // 再次计算因子然后输出
                if (i % j == 0) printf("%d ", j);
            putchar('\n');
        }
    }
    return 0;
}
}

点评 : 代码缩进很到位,

D : 序列求和

题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。

优秀代码

#include<stdio.h>

int main(){
    int n;
    scanf("%d",&n);
    double up=2,down=1,sum=0,t;
    for(int i=0;i<n;i++) {
        sum+=up/down;
        t=up;
        up=up+down;
        down=t;
    }
    printf("%.2lf\n",sum);
    return 0;
}

点评 : 做过的题,不做评价,关键缩进到位。

E : 输出m到n之间的水仙花数

题目描述
如果一个三位数等于它自己的每一位数字的立方之和,则称此数为“水仙化数”,如153=13+53+33。给出范围的起止值,输出该范围的水仙花数。
(提示:可使用ctype.h中的函数)

优秀代码

#include <stdio.h>
int main()
{
    int a,b,c,d,e,f;
    scanf("%d%d",&a,&b);
    for(c=a;c<=b;c++)
    {
        if(c>=100 && c<=999) {
            d=c/100;
            e=c%100/10;
            f=c%10;
            if(c==d*d*d+e*e*e+f*f*f)
            {
                printf("%d\n",c);
            }
        }
       }
    return 0;   
}

点评 : 这道题很多人都忽略了一个点。水仙花数是三位数。

F:数组排序

题目描述
定义一个10个元素的整型数组,输入10个整数到数组,对数组排序,然后输出。注意:输出时,每个元素之间以空格相间,但最后一个元素后面没有空格,直接换行。

优秀代码

#include<stdio.h>
#define k 10
int main()
{
    int a[k],i,j,t,n,p,c;
    int flag;
    scanf("%d",&p);
    for(n=0;n<p;n++) {
        for(i=0;i<k;i++)
            scanf("%d",&a[i]);
        for(i=0;i<k;i++) {
            flag=0;
            for(j=0;j<k-1;j++)
                if(a[j]>a[j+1]) {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                    flag=1;
                }
            if(flag==0)
                break;
        }
        for(c=0;c<k;c++)
            printf(c==9?"%d\n":"%d ",a[c]);
    }
    return 0;
}

点评:我不管我就喜欢那些看着舒服(缩进到位)的代码。

相关文章

  • 实验五:优秀代码

    A : 公约数与公倍数 优秀代码 点评 : 考虑了m大于n的情况,缩进到位。 B : 求1!+2!+3!+.......

  • 实验六:优秀代码

    A : 找好人 题目描述:某学校有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。四个...

  • 实验九:优秀代码

    B : 求m到n之间的素数和----函数 题目描述输入两个正整数m和n(m

  • 实验十:优秀代码

    C : 递归求最大公约数 题目描述写递归函数求两个数的最大公约数优秀代码 D: 编写删除字符串中某个字符的函数--...

  • 实验八:优秀代码

    B : 求矩阵每列的最大值与和 题目描述定义一个二维数组(不超过10*10),输入方阵的大小n,然后输入数组的数据...

  • 实验四 : 优秀代码

    A 优秀代码 B 优秀代码 C 优秀代码 D 优秀代码 E 优秀代码 F 优秀代码 G 优秀代码 该题大量同学使用...

  • 实验三 : 优秀代码

    A : 计算圆内接正n边形的面积 优秀代码 点评 : 很标准的一段代码。 B : 一元二次方程的两个实根求解 优秀...

  • 代码实验

    一、 音影幻魇 (失败)

  • 各次作业和实验汇总

    实验1:用ViewPager实现页面切换 - 报告 - 代码 实验2:网络数据获取与展示 - 报告 - 代码 实验...

  • 二进制中1的个数

    实验代码:

网友评论

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

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