习题2-5 求平方根序列前N项和

本文介绍了一个简单的C语言程序,用于计算平方根序列1+2+3+...的前N项之和,并展示了如何使用sqrt函数求解平方根。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本题要求编写程序,计算平方根序列1​+2​+3​+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

10

输出样例:

sum = 22.47

代码如下; 

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
int n;
    double i,sum=0.0;
    scanf("%d",&n);
    for(i=1.0;i<=n;i++)
    {
        sum+=sqrt(i);
    }
    printf("sum = %.2lf",sum);
return 0;
}

注意; sqrt()函数;math.h 做头文件的函数原型为double sqrt(double)。它的功能是计算一个非负实数的平方根。例如:sqrt(4)结果为:2

 

 

运行结果; 

 

### 关于黑盒测试白盒测试的练习题 #### 黑盒测试练习题 1. **需理解** 设计一个简单的登录页面,该页面有两个输入框用于用户名密码以及一个提交按钮。编写一系列黑盒测试用例来验证此功能模块的行为是否符合预期[^2]。 2. **边界值分析法** 对于一个接受整数作为参数并返回其平方根的应用程序函数`sqrt(int n)`,利用边界值方法创建至少五个不同的测试场景以确保边缘情况得到充分考虑。 3. **等价类划分** 假设有一个在线购物网站允许用户通过信用卡付款购买商品。根据卡号长度的不同定义有效性无效性的标准,并基于这些规则构建相应的等价值类别来进行黑盒测试案例的设计。 #### 白盒测试练习题 1. **语句覆盖率** 给定一段实现简单计算器加减乘除运算的小型C++代码片段如下所示: ```cpp double calculate(double a, char op, double b){ switch(op){ case &#39;+&#39;: return a+b; case &#39;-&#39;: return a-b; case &#39;*&#39;: return a*b; case &#39;/&#39;: if(b != 0)return a/b; else throw "Division by zero!"; default:throw "Invalid operator"; } } ``` 编写一组能够达到100%语句覆盖度的单元测试用例集合[^3]。 2. **分支/判定覆盖** 针对上述相同的计算函数,进一步扩展测试集使其满足分支覆盖的要——即每个if-else结构中的两个可能走向都要被触发一次。 3. **路径覆盖** 构造更复杂的测试序列以便遍历所有潜在可执行路径组合;考虑到异常处理机制的存在,在不违反编程语言特性的提下尽可能多地探索不同情况下程序流的变化规律。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值