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;
}
相关文章
|
传感器 监控 安全
闭环反馈系统原理概述
有时,为了获得系统的一致性和稳定性并产生控制系统的期望输出,我们使用反馈回路。反馈只不过是输出信号的一部分。这个概念在控制系统中最常见和最重要,以实现输出的稳定性。根据反馈连接,控制系统分为两种类型。它们是开环控制系统和闭环控制系统。下面简单介绍下闭环反馈系统。
4812 0
闭环反馈系统原理概述
|
存储 Oracle Unix
关于小机 | 计算机百年趣味史(上)第8篇
小机即小型机(minicomputer),从名字上我们可以知道是体积会较小的机器,不过体积也是针对大机(mainframe)来说是,如果光从绝对体积上讲,那显然又不对。所以,小机是对特定时代一群类似机器的统称。我们来看下小机的关键历史。其历史时间是与大型机并行的。
3200 0
关于小机 | 计算机百年趣味史(上)第8篇
|
消息中间件 Linux
Linux IPC(进程间通信)管理:深入解析ipcs和ipcrm命令的用法与示例
在Linux操作系统中,进程间通信(IPC)是实现进程之间数据传递和同步的关键机制。Linux提供了多种IPC方式,如消息队列、信号量和共享内存等。为了优化系统性能与稳定性,及时管理和清理IPC资源非常重要。本文将深入介绍ipcs和ipcrm命令的使用方法,并给出丰富的示例,以帮助读者更好地理解IPC资源管理的实践技巧。
1639 1
|
存储 算法 安全
消息认证码(MAC)在物联网发布者中如何应用
消息认证码(MAC)在物联网发布者中的应用主要是为了确保数据的完整性和来源的真实性。通过使用密钥生成的MAC值,可以验证发送者身份和数据未被篡改,从而提高物联网系统的安全性和可靠性。
|
存储 JavaScript 前端开发
箭头函数和普通函数在性能方面有什么区别
【10月更文挑战第27天】箭头函数和普通函数在性能方面各有特点,箭头函数在某些场景下具有一定的性能优势,但在实际开发中,不能仅仅为了追求性能而盲目地选择箭头函数或普通函数,应该根据具体的应用场景、代码可读性和可维护性等多方面因素综合考虑来选择合适的函数定义方式。
260 2
|
存储 关系型数据库 MySQL
MySQL数据库锁:共享锁和独占锁
本文详细介绍了`InnoDB`存储引擎中的两种行级别锁:共享锁(S锁)与排他锁(X锁)。通过具体示例展示了这两种锁的工作机制及其在`InnoDB`与`MyISAM`引擎中的表现差异。文章还提供了锁的兼容性矩阵,帮助读者更好地理解锁之间的互斥关系。最后总结了两种锁的特点及适用场景。适合希望深入了解`MySQL`并发控制机制的读者阅读。
544 1
|
算法 索引 Python
【Leetcode刷题Python】134. 加油站
LeetCode "加油站" 问题的Python实现代码,采用了一种优化的贪心算法。代码中通过两个指针i和j来模拟汽车的行驶过程,remain变量用来记录当前剩余油量。如果在某次循环中能够回到起始点i,则返回起始点索引;如果无法完成一圈,则移动到下一个可能的起始点继续尝试,直到找到可行的起始点或确定无法绕圈。如果整个过程结束后仍未找到解决方案,则返回-1。
218 0
|
安全 算法 程序员
操作系统(9)----死锁
操作系统(9)----死锁
538 1
|
PyTorch 算法框架/工具 C++
windows上编译安装pytorch的c++扩展
windows上编译安装pytorch的c++扩展
386 0