C Primer Plus 第6版 第9章 编程练习

简介: C Primer Plus 第6版 第9章 编程练习

1.设计函数 min (x,y) ,返回两个double 类型的较小值

#include<stdio.h>
double min(double x, double y);
int main(void)
{
  printf("10.1,10.101中较小的是%g", min(10.1, 10.101));
 
  getchar(); getchar();
  return 0;
}
double min(double x, double y)
{
  return x < y ? x : y;
}

2.设计函数chline(ch, i, j)打印字符j行i列。

#include<stdio.h>
//打印字符ch j行 i列
void chline(char ch, int i, int j) 
{
  for (int a = 0; a < j; a++)
  {
    for (int b = 0; b < i; b++)
      putchar(ch);
    putchar('\n');
  }
}
int main(void)
{
  chline('a',3,5);
  getchar(); getchar();
  return 0;
}

3.4.略

5.编写large_of(x,y),让x,y值都变成较大的那个数的值。

#include<stdio.h>
 
void large_of(double * x, double * y)
{
  *x = *x > *y ? *x : *y;
  *y = *x;
}
int main(void)
{
  double x = 10.2;
  double y = 11.1;
  printf("x=%g,y=%g\n", x, y);
  printf("使用large_of后:\n");
  large_of(&x, &y);
  printf("x=%g,y=%g\n", x, y);
  getchar(); getchar();
  return 0;
}

6.略

7.读取字符,报告是否是字母,是则报告在字母表的位置。

#include<stdio.h>
int judge_char(char ch);
int main(void)
{
  char ch;
  while((ch = getchar())!= EOF )
    printf ("%d ",judge_char(ch));
  getchar(); getchar();
  return 0;
}
 
int judge_char(char ch)
{
  while (ch != EOF)
  {
    if (ch >= 'a' && ch <= 'z')
      return ch - 'a' + 1;
    else if (ch >= 'A' && ch <= 'Z')
      return ch - 'A' + 1;
    else
      return -1;
  }
}

8.9.10略

11.编写斐波那契函数

要求使用循环

#include<stdio.h>
long fib(int n);
int main(void)
{
  printf("你想知道第几个斐波那契数?");
  int n;
  scanf_s("%d", &n);
  printf("%d", fib(n));
  getchar(); getchar();
  return 0;
}
long fib(int n)
{
  if (n <= 2)
    return 1;
  long one = 1;
  long two = 1;
  long t;
  int i = 2;
  while (i < n)
  {
    t = one + two;
    one = two;
    two = t;
    i++;
  }
  return two;
}
相关文章
|
2月前
|
人工智能 自然语言处理 安全
Claude Code Routines:给你的代码装上“自动巡航“
Routines 是 Claude 的可编程自动化代理,支持定时、API 和 GitHub webhook 三种触发方式,将重复开发任务(如修 Bug、更新文档、安全审查)转为 AI 驱动的云端流水线,解放开发者专注高价值工作。
439 1
|
8月前
|
人工智能 自然语言处理 人机交互
数字人|数字人平台竞争企业技术分析
数字人企业正以技术革新重塑产业生态。像衍科技、追光数字、元界智能领跑赛道,分别在底层技术、商业应用与生态构建上突破。从虚拟客服到元宇宙入口,数字人迈向情感交互新阶段,千亿市场加速成型,开启虚拟与现实融合的“身份革命”。
|
10月前
|
JSON 前端开发 JavaScript
如何开发一套EHS健康安全环境管理系统中的健康管理板块?(附架构图+流程图+代码参考)
本文深入探讨了企业EHS(环境、健康与安全)系统中的核心模块——健康管理。文章指出,企业健康管理不仅是合规要求,更是提升生产效率、降低事故率和用工成本的关键。通过构建系统化、数据化的健康管理模块,企业可以实现体检、档案、劳保用品管理、异常预警和统计看板的闭环管理。特别适用于中大型企业,文章提供了从系统架构设计、数据库建模、后端与前端实现到部署运维的完整解决方案,并附有可落地的代码示例和技术选型建议。此外,还涵盖了开发技巧、权限控制、数据隐私、接口设计等工程化实践,以及系统扩展和第三方集成的思路,为企业打造高效、合规、可持续优化的EHS健康管理体系提供了全面指导。
|
存储 安全 Java
商汤的API如何进行鉴权?
商汤的API如何进行鉴权?
548 2
|
存储 监控 供应链
微服务拆分的 “坑”:实战复盘与避坑指南
本文回顾了从2~3人初创团队到百人技术团队的成长历程,重点讨论了从传统JSP到前后端分离+SpringCloud微服务架构的演变。通过实际案例,总结了微服务拆分过程中常见的两个问题:服务拆分边界不清晰和拆分粒度过细,并提出了优化方案,将11个微服务优化为6个,提高了系统的可维护性和扩展性。
411 0
|
消息中间件 数据可视化 Java
【Java】The Java Headless Mode
【Java】The Java Headless Mode
474 0
【Java】The Java Headless Mode
|
存储 消息中间件 Java
新一代消息中间件—Apache Pulsar
新一代消息中间件—Apache Pulsar
1869 0
新一代消息中间件—Apache Pulsar
|
前端开发 UED 容器
深入理解定位布局:绝对定位与相对定位
深入理解定位布局:绝对定位与相对定位
|
SQL Oracle 关系型数据库
Win11虚拟机安装Oracle 19c(保姆教程)
Oracle学习笔记 Oracle19c Windows11 instant client配置 远程连接 虚拟机
3227 1
Win11虚拟机安装Oracle 19c(保姆教程)
|
Web App开发 监控 中间件
开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系
小蚂蚁说: 数据、消息、微服务是蚂蚁金服自主研发的金融级分布式中间件 SOFA (Scalable Open Financial Architecture)的三大方向。 一个多月前,蚂蚁金服开源了 SOFABoot 和 SOFARPC 两个组件,受到了社区的热烈欢迎(点击文章阅读《开源|蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构》,了解更多),也收到了很多大家的反馈,其中大家对开源更多组件的呼声很大哦~! 今天我们就给大家介绍下本次 SOFA 中间件开源的几个微服务体系组件。
11523 113