头歌实践教学平台C语言之三种循环语句

第5关:公式计算(3)

本关任务:编写程序,其功能是:根据以下公式计算并输出s。公式为:

输入: 一个整数n

输出: 公式计算的结果s的值。

测试输入: 15

预期输出: s = 2.718282

注意:结果保留6位小数。

/********** Begin **********/
#include <stdio.h>
double jiecheng(int x)
{
    double r=1;
    for(int j=1;j<=x;j++){
        r=r*j;
    }

    return r;
}
int main(void){
    int n;
    double s=1;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        s=s+1.0/jiecheng(i);
        
    }
    printf("s = %.6lf",s);
    return 0;
}
/********** End **********/

第4关:求同时被7或11整除的整数

本关任务:编写程序求[1,1000]范围内能被711整除,但不能同时被711整除的整数。按每行8个数,每个数占5个字符且以左对齐的格式进行输出。

/********** Begin **********/
#include <stdio.h>
int main(void)
{
    int i,c=0;
    for(i=1;i<=1000;i++){
       if(i%7==0||i%11==0){
            if(i%7==0&&i%11==0){
                    
            }else{
                c++;
                printf("%-5d",i);//负号表示使输出的数值向左对齐,5表示输出字段的宽度是5个字符
                if(c%8==0)
                    printf("\n");
            }
       }
    }
    return 0;
}
/********** End **********/

第3关:公式计算(2)

本关任务:编写程序,其功能是:根据以下公式计算并输出s。公式为:

 

输入: 一个整数m

输出: 公式计算结果s

测试输入: 20

预期输出: s = 6.506583

提示: 在C语言中可调用log(n)函数求ln(n)log函数的引用说明为:double log(double x)

/********** Begin **********/
#include <stdio.h>
#include <math.h>
double Yn(int x)
{
    double y=log(x)/log(exp(1));//exp(x)表示e的x次方,这里用了换底公式来表示ln(x);
    return y;
}
int main(void)
{
    int i,m;
    double s=0,sum=0;
    scanf("%d",&m);
    for(i=1;i<=m;i++){
        sum=sum+Yn(i);
        //printf("%lf\n",s);

    }
    s=sqrt(sum);
    printf("s = %lf",s);
    return 0;
}
/********** End **********/

第2关:公式计算(1)

本关任务:编写程序,其功能是:根据以下公式计算并输出s。公式为:

输入: 一个整数n

输出: 公式计算的结果s的值。

/********** Begin **********/
#include <stdio.h>

double Xn(int a)
{
    double sum=0;
    for(int j=1;j<=a;j++){
        sum=sum+j;
    }
    //printf("%lf\n",sum);
    return sum;
}
int main(void)
{
    int i,n;
    double s=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        s=s+1.0/Xn(i);
        //printf("%lf\n",s);

    }
    printf("s = %lf",s);
    return 0;
}
/********** End **********/

 第1关:分数序列和

本关任务:下列给定程序的功能是:求出如下分数序列的前n项之和。

 

例如,若n=5,则应输出8.391667。请改正程序中的错误,使其得出正确的结果。

#include <stdio.h>
int main( )
{
	int a, b, c,k, n = 5;
	double s;
	s = 0.0; a = 2; b = 1;

	for ( k = 1; k <= n; k++ )
	{

	/*****以下一行有错误*****/

		s = s + (double)a / (double)b;

	/*****以下一行有错误*****/
		c = a;a = b+a;b = c;

	}
	printf( "s%d = %lf\n", n, s);

	return 0;
}

 

### 关于 Netty 的学习笔记与教程 #### 什么是 NettyNetty 是一个异步事件驱动的网络应用程序框架,旨在快速开发可维护的高性能协议服务器和客户端[^1]。它广泛应用于 Java 领域中的高并发场景,例如分布式系统、微服务通信以及实时消息传递。 --- #### 黑马程序员 Netty 学习资源推荐 以下是针对 Netty 学习的一些优质资料汇总: 1. **官方文档** 官方文档是最权威的学习材料之一,涵盖了从入门到高级的各种主题。可以通过阅读官方指南了解 Netty 的核心概念及其 API 使用方式。 2. **GitHub 和 Gitee 上的 Demo 案例仓库** 提供了一个名为 `netty-learn` 的项目库,分别托管在 GitHub 和 Gitee 平台上。这些仓库包含了丰富的实践案例,帮助开发者更好地理解和掌握 Netty 的实际应用场景。 - GitHub 地址:[https://github.com/](https://github.com/) - Gitee 地址:[https://gitee.com/](https://gitee.com/) 3. **黑马程序员相关课程** 黑马程序员提供了全面的 Java 架构师培训体系,其中包括 Dubbo、Redis、ZooKeeper、Spring Cloud 等技术栈的内容,同时也覆盖了 Netty 的基础知识和实战技巧[^2]。具体可以关注其官网或者联系客服获取最新课程安排。 4. **核心技术解析** - 创建 NioEventLoopGroup 实现线程池加 Selector 功能[^3]。 - Bootstrap 初始化流程详解,包括线程池配置、通道类型设定、Socket 参数调整以及 ChannelHandler 注册等内容[^4]。 - 单例模式下的 @ChannelHandler.Sharable 注解作用说明。 --- #### 示例代码片段 以下是一个简单的 Netty 客户端启动过程演示: ```java import io.netty.bootstrap.Bootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; public class NettyClient { public static void main(String[] args) throws Exception { EventLoopGroup group = new NioEventLoopGroup(); // (1) try { Bootstrap bootstrap = new Bootstrap(); // (2) bootstrap.group(group) // (3) .channel(NioSocketChannel.class) // (4) .handler(new ClientInitializer()); // (6) ChannelFuture future = bootstrap.connect("localhost", 8080).sync(); // (7) future.channel().closeFuture().sync(); } finally { group.shutdownGracefully(); } } } ``` 上述代码展示了如何利用 Netty 开发基本的客户端程序,涉及到了多个重要环节的操作步骤。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又是被bug折磨的一天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值