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;
}
相关文章
|
存储 Oracle Unix
关于小机 | 计算机百年趣味史(上)第8篇
小机即小型机(minicomputer),从名字上我们可以知道是体积会较小的机器,不过体积也是针对大机(mainframe)来说是,如果光从绝对体积上讲,那显然又不对。所以,小机是对特定时代一群类似机器的统称。我们来看下小机的关键历史。其历史时间是与大型机并行的。
3086 0
关于小机 | 计算机百年趣味史(上)第8篇
|
消息中间件 Linux
Linux IPC(进程间通信)管理:深入解析ipcs和ipcrm命令的用法与示例
在Linux操作系统中,进程间通信(IPC)是实现进程之间数据传递和同步的关键机制。Linux提供了多种IPC方式,如消息队列、信号量和共享内存等。为了优化系统性能与稳定性,及时管理和清理IPC资源非常重要。本文将深入介绍ipcs和ipcrm命令的使用方法,并给出丰富的示例,以帮助读者更好地理解IPC资源管理的实践技巧。
1517 1
|
文字识别 PyTorch Go
从零开始的OCR之旅
本文介绍了如何配置环境并使用EasyOCR库进行OCR任务,包括安装依赖、下载必要的模型包,并提供了一个简单的使用示例。
从零开始的OCR之旅
|
8月前
|
算法 数据可视化 数据挖掘
文献解读-The chromosome-scale genome of the raccoon dog: Insights into its evolutionary characteristics
该研究首次在染色体水平解析了貉的基因组特征,揭示了其生态入侵的分子机制,为入侵物种防控提供了靶点。此外,貉作为人兽共患病宿主,其免疫基因的解析对公共卫生风险评估具有重要价值。未来需结合全球种群样本,进一步探究入侵后的快速适应性进化规律。
186 0
|
存储 算法 安全
消息认证码(MAC)在物联网发布者中如何应用
消息认证码(MAC)在物联网发布者中的应用主要是为了确保数据的完整性和来源的真实性。通过使用密钥生成的MAC值,可以验证发送者身份和数据未被篡改,从而提高物联网系统的安全性和可靠性。
|
存储 JavaScript 前端开发
箭头函数和普通函数在性能方面有什么区别
【10月更文挑战第27天】箭头函数和普通函数在性能方面各有特点,箭头函数在某些场景下具有一定的性能优势,但在实际开发中,不能仅仅为了追求性能而盲目地选择箭头函数或普通函数,应该根据具体的应用场景、代码可读性和可维护性等多方面因素综合考虑来选择合适的函数定义方式。
221 2
|
存储 关系型数据库 MySQL
MySQL数据库锁:共享锁和独占锁
本文详细介绍了`InnoDB`存储引擎中的两种行级别锁:共享锁(S锁)与排他锁(X锁)。通过具体示例展示了这两种锁的工作机制及其在`InnoDB`与`MyISAM`引擎中的表现差异。文章还提供了锁的兼容性矩阵,帮助读者更好地理解锁之间的互斥关系。最后总结了两种锁的特点及适用场景。适合希望深入了解`MySQL`并发控制机制的读者阅读。
485 1
|
安全 算法 程序员
操作系统(9)----死锁
操作系统(9)----死锁
439 1
|
JavaScript 前端开发 索引
用四种方法实现轮播图
用四种方法实现轮播图