软件工程网络工程第二次训练(AC代码和详细解释)(C语言描述)

本文由软件工程专业的蒋渝涵分享,详细解析了软件工程网络工程训练中的八道题目,涉及到C语言编程解决方案。文章介绍了第一至第八题的代码及解释,特别讨论了在处理数据量大小时的不同策略,如初始化法,并对比了不同方法的时间效率。此外,还探讨了搜索算法的优化,包括从下往上和从上往下的比较方法。
摘要由CSDN通过智能技术生成

作者:软件工程 E21514035 蒋渝涵

第一题

代码

#include <stdio.h>
#include <math.h>
int main()
{
 double n;
 while( scanf("%lf",&n)!=EOF )
  printf("%.2lf\n",fabs(n));
return 0;//不要用void main(),用int main(){ return 0;}
} 

解释

abs( )主要用于对求整数的绝对值。
而fabs( )主要是求精度要求更高的doublefloat 型的绝对值
两者在只#include<cmath>时都可以使用。 

第二题

代码

#include<stdio.h>

int main()
{
    int n;
    while (scanf("%d", &n) != EOF)
    {
        int sum = 0;//注意放在while循环里面,每次都要初始为0
        int temp , i;
        for (i = 0; i < n; i++)
        {
            scanf("%d", &temp);
            sum += temp;
        }
        printf("%d\n", sum);
    }
    return 0;
}

第三题

#include<stdio.h>

int main()
{
    int n;
    while (scanf("%d", &n) != EOF)
    {
        int temp = n / 10;
        if (n < 0 || n>100)temp = -1;//非法情况全部统一成-1
        else if (temp < 6)temp = 0;//不及格全部统一成0
        switch (temp)
        {
        case -1:printf("Score is error!\n"); break;//注意加上break
        case 0:printf("E\n"); break;
        case 6:printf("D\n"); break;
        case 7:printf("C\n"); break;
        case 8:printf("B\n"); break;
        case 9:printf("A\n"); break;
        case 10:printf("A\n"); break;//一百情况要单独考虑
        }
    }
    return 0;
}

注意-1/10答案是0;

第四题

#include<stdio.h>
int main()
{
    int m, n;
    while (scanf("%d%d",&m<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值