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

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

1.创建1个有26个元素的字符数组,存储26个小写字母,然后打印

 

#include<stdio.h>
int main()
{
  char array_c[26];
  for (int i = 0; i < 26; i++)
  {
    array_c[i] = 'a' + i;
  }
 
  for (int i = 0; i < 26; i++)
  {
    printf("%c ", array_c[i]);
  }
  getchar();
  return 0;
}

2.使用嵌套循环打印

#include<stdio.h>
int main()
{
 
  for (int i = 1; i <= 5; i++)
  {
    for (int j = 1; j <= i; j++)
      printf("$");
    printf("\n");
 
  }
  getchar();
  return 0;
}

3.使用嵌套循环打印

#include<stdio.h>
int main()
{
 
  for (int i = 1; i <= 6; i++)
  {
    for (int j = 1; j <= i; j++)
      printf("%c",'F'+1-j);
    printf("\n");
 
  }
  getchar();
  return 0;
}

4.使用循环嵌套打印

#include<stdio.h>
int main()
{
  char a = 'A';
  for (int i = 1; i <= 6; i++)
  {
    for (int j = 1; j <= i; j++)
      printf("%c",a++);
    printf("\n");
 
  }
  getchar();
  return 0;
}

5.打印金字塔型

#include<stdio.h>
int main()
{
 
  char a = 'A';
  printf("请输入一个大写字母");
  scanf_s("%c", &a);
  for (int i = 1; i <= 5; i++)
  {
    for (int j1 = 1; j1 <= 5 - i; j1++)
      printf(" ");
    for (int j2 = 1; j2 <= i; j2++)
      printf("%c", a + j2-1);
    for (int j3 = 1; j3 <= i - 1; j3++)
      printf("%c", a + i - 1 - j3);
    printf("\n");
  }
  getchar();  getchar();
  return 0;
}

6. 打印表格,每一行有3个数,整数,平方,立方;

用户输入上下限。

#include<stdio.h>
int main()
{
 
  int min;
  printf("请输入下限");
  scanf_s("%d",&min);
  int max;
  printf("请输入上限");
  scanf_s("%d", &max);
 
  for (int i = min; i <= max; i++)
  {
    printf("%10d %10d %10d\n", i, i*i, i*i*i);
  
  }
  getchar();  getchar();
  return 0;
}

7.读入单词,倒序打印

#include<stdio.h>
#include<string.h>
int main()
{
  char word[20];
  printf("请输入单词");
  scanf_s("%s", word,20);
  for (int i = strlen(word)-1; i >= 0; i--) //下标是长度-1
    printf("%c", word[i]);
  getchar();  getchar();
  return 0;
}

8.输入两个浮点数,打印两数差/两数乘积。

#include<stdio.h>
int main()
{
  float a, b;
  printf("请输入两个浮点数");
  while (scanf_s("%f%f",&a,&b))
  {
    printf("(%f-%f)/(%f*%f)=%f\n", a, b, a,b, (a - b) / (a*b));
    printf("请输入两个浮点数");
  }
 
  getchar();  getchar();
  return 0;
}

9.略

10.用户输入下限和上限,程序打印下限和上限之间的整数的平方和。

#include<stdio.h>
int sum(int min, int max)
{
  int sum = 0;
  for (int i = min; i <= max; i++)
  {
    sum += i * i;
  }
  return sum;
}
int main()
{
  int min, max;
  printf("请输入下限和上限");
  while (scanf_s("%d%d",&min,&max) && min < max)
  {
    printf("平方和从%d到%d是 %d\n", min*min,max*max,sum(min,max));
    printf("请输入下限和上限");
  }
  printf("Done");
  getchar();  getchar();
  return 0;
}

11.略

12。

#include<stdio.h>
float sum(int n)
{
  float sum = 0.0;
  for (int i = 1; i <= n; i++)
  {
    sum += 1.0 / i;
  }
  return sum;
}
float sum2(int n)
{
  float sum2 = 0.0;
  int aa = 1;
  for (int i = 1; i <= n; i++)
  {
    sum2 += 1.0 / i * aa;
    aa *= -1;
  }
  return sum2;
}
int main()
{ 
  int n = 1;  
  while (n > 0)
  {
    printf("输入项数:");
    scanf_s("%d", &n);
    printf("sum1 = %f,sum2 = %f\n", sum(n), sum2(n));
 
  }
  getchar();  getchar();
  return 0;
}

13.

#include<stdio.h>
#include<math.h>
int main()
{
  int t[8];
  for (int i = 0; i < 8; i++)
  {
    t[i] = pow(2, i);
  }
  int i = 0;
  do
  {
    printf("%d\t", t[i++]);
  } while (i<8);
  getchar();  getchar();
  return 0;
}

14.

#include<stdio.h>
int main(void)
{
  double d[8];
  double dd[8];
  for (int i = 0; i < 8; i++)
  {
    printf("输入第%d个值", i+1);
    scanf_s("%lf", &d[i]);
  }
  dd[0] = d[0];
  for (int i = 1; i < 8; i++)
  {
    dd[i] = dd[i - 1] + d[i];
  }
  for (int i = 0; i < 8; i++)
    printf("%lf ", d[i]);
  printf("\n");
  for (int i = 0; i < 8; i++)
    printf("%lf ", dd[i]);
  printf("\n");
 
  getchar(); getchar();
  return 0;
}


15.读取一行,然后倒序打印。

#include<stdio.h>
int main(void)
{
  char sentence[256];
  int i = 0;
  while (scanf_s("%c", &sentence[i]) && sentence[i] != '\n')
    i++;
  int j = i-1;
  while (j >= 0)
    printf("%c", sentence[j--]);
  getchar(); getchar();
  return 0;
}
相关文章
|
数据可视化 数据挖掘 C++
一文入门数分三剑客--Numpy、Pandas、Matplotlib
一文入门数分三剑客--Numpy、Pandas、Matplotlib
354 0
|
5月前
|
JSON 数据挖掘 API
深入研究:京东店铺所有商品API详解
本文介绍了一款强大的工具——京东店铺所有商品API,它可以帮助用户批量获取指定京东店铺的商品详细信息。通过传入店铺ID,API可返回包括商品名称、价格、库存、销量等在内的多维度数据,响应格式为JSON。文章还提供了Python调用示例,利用`requests`库完成签名生成与数据请求,助力商家管理店铺、开发者构建应用及数据分析人员挖掘商业价值,极大提升电商运营效率。
166 16
|
7月前
|
JSON Java 关系型数据库
Hutool创建数据源工厂动态查询不同数据库不同数据表的数据
Hutool创建数据源工厂动态查询不同数据库不同数据表的数据
155 2
|
人工智能 算法 网络安全
探索未来:量子计算与人工智能的融合之路
本文将探讨量子计算和人工智能的结合可能性,以及这一结合如何改变我们的未来。我们将深入了解这两个领域的基础知识,分析它们如何相互影响,以及面临的挑战和未来的发展趋势。最后,我们将讨论这一技术革命对个人和社会可能产生的影响。
259 36
|
12月前
|
资源调度 Kubernetes 前端开发
react-intl——react国际化使用方案
react-intl——react国际化使用方案
|
11月前
|
前端开发 UED
css性能优化的方法
css性能优化的方法
125 0
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之PolarDB MySQL版和PolarDB-X的区别是什么
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
弹性计算 编解码 运维
飞天技术沙龙回顾:业务创新新选择,倚天Arm架构深入探讨
阿里云、平头哥与Arm联合举办的飞天技术沙龙在上海举行,聚焦Arm Neoverse核心优势和倚天710计算实例在大数据、视频领域的应用。活动中,专家解读了倚天710的性能提升和成本效益,强调了CIPU云原生基础设施处理器的角色,以及如何通过软件优化实现资源池化和稳定性平衡。实例展示在视频编码和大数据处理上的性能提升分别达到80%和70%的性价比优化。沙龙吸引众多企业代表参与,促进技术交流与实践解决方案的探讨。
飞天技术沙龙回顾:业务创新新选择,倚天Arm架构深入探讨
|
Unix Docker 容器
使用docker 启动naocs 报错出现:standard_init_linux.go:241: exec user process caused "exec format error"
```markdown Error in Docker container startup: &quot;standard_init_linux.go:241: exec user process caused \&quot;exec format error\&quot;&quot;. Occurred at 2024-06-29 09:26:19.910, followed by a failed hook with a syslog delivery error at 09:27:20.193. Seeking solutions from experts. ```
|
安全 Apache
18.7 SELinux安全上下文的修改和设置
安全上下文的修改是我们必须掌握的,其实也并不难,主要是通过两个命令来实现的。
583 0
18.7 SELinux安全上下文的修改和设置