zoukankan      html  css  js  c++  java
  • C语言实验报告

    一.实验题目,设计思路,实现方法

    1  实验题目

    7-7 计算火车运行时间(15 分)

    本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

    4-5 求简单交错序列前N项和(15 分)

    本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

    4-2-8 计算天数(15 分)

    本题要求编写程序计算某年某月某日是该年中的第几天。

    2.设计思路

    7-7 计算火车运行时间

    我一开始是两个数直接相减,得到的那个数用求余方法得到答案。

    4-5 求简单交错序列前N项和

    模仿C语言书上的方法进行求和。

    4-2-8 计算天数

    从学到的switch算法求得。

    3.实现方法

    7-7 计算火车运行时间

    运用if语句和%求余限制答案而求得的,即用if语句对所得结果的小时数进行限制,防止边界问题。

    4-5 求简单交错序列前N项和

    这题关键在于i的定义和循环体的执行,及flag的转换。

    4-2-8 计算天数

    运用switch 算法,并且用if语句分清闰年的区别,在二月那的天数分清是28还是29天。

    二.源程序(可只截取最关键的部分)

    7-7 计算火车运行时间

    #include <stdio.h>
    int main (void)
    {
    int x,y,a,b;
    scanf ("%d%d",&x,&y);
    a=y/100-x/100;
    b=y%100-x%100;
    if(b<0)
    {
    b+=60;
    a-=1;
    }
    printf ("%02d:%02d",a,b);
    return 0;

    }

    4-5 求简单交错序列前N项和

    #include <stdio.h>
    int main (void)
    {
    int i,N,flag,denominator;
    double sum,item;
    scanf ("%d",&N);
    sum=0;
    flag=1;
    denominator=1;
    for (i=1;i<=N*3;i+=3)
    {
    item=flag*1.0/denominator;
    sum=sum+item;
    flag=-flag;
    denominator=denominator+3;

    }
    printf ("sum = %.3lf ",sum);
    return 0;

    }

    4-2-8 计算天数

    #include <stdio.h>
    int main(void) {
    int year, month, day;
    int days;
    int i;
    scanf("%d/%d/%d", &year, &month, &day);
    days = day;
    for(i = 1; i < month; ++i) {
    switch(i) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
    days += 31;
    break;
    case 4:
    case 6:
    case 9:
    case 11:
    days += 30;
    break;
    case 2:
    if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
    days += 29;
    else
    days += 28;
    }
    }
    printf("%d ", days);
    return 0;
    }

    三.遇到的问题及解决方法,心得体会

    火车的那题本来一直卡在边界值那,不懂得用if去限制,循环体有时因代码写错得到错误的答案;这些只能通过调试慢慢编程;

    写代码要心细,认真,也要关注程序的边边角角的问题,并且通过平常的练习多多积累,才能提升自己的能力。

  • 相关阅读:
    MVC动态添加文本框,后台使用FormCollection接收
    使用结构struct作为Dictionary<TKey,TValue>的键
    扩展方法的几个实例,扩展基本类型、接口、通过反射让扩展方法使用私有成员等
    使用Enum.TryParse()实现枚举的安全转换
    .NET泛型04,使用Lazy<T>实现延迟加载
    .NET泛型03,泛型类型的转换,协变和逆变
    .NET泛型02,泛型的使用
    dd、split、csplit命令
    seq命令
    uniq命令
  • 原文地址:https://www.cnblogs.com/k1206/p/7750659.html
Copyright © 2011-2022 走看看