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;
}
相关文章
|
负载均衡 网络协议 Cloud Native
专有云网络基础了解之三
专有云网络基础了解之三
411 2
|
数据可视化 数据挖掘 C++
一文入门数分三剑客--Numpy、Pandas、Matplotlib
一文入门数分三剑客--Numpy、Pandas、Matplotlib
640 0
|
JSON 数据挖掘 API
深入研究:京东店铺所有商品API详解
本文介绍了一款强大的工具——京东店铺所有商品API,它可以帮助用户批量获取指定京东店铺的商品详细信息。通过传入店铺ID,API可返回包括商品名称、价格、库存、销量等在内的多维度数据,响应格式为JSON。文章还提供了Python调用示例,利用`requests`库完成签名生成与数据请求,助力商家管理店铺、开发者构建应用及数据分析人员挖掘商业价值,极大提升电商运营效率。
340 16
FW怎么做立体箭头? fireworks三维立体箭头的制作方法
我们在FW绘制图形时,有时候经常需要用到立体的效果。该怎么回执箭头并添加立体效果呢?下面我们就来看看详细的教程。
481 1
FW怎么做立体箭头? fireworks三维立体箭头的制作方法
|
人工智能 搜索推荐 API
开启电商新征程:小红书API
小红书API作为连接社交与电商的桥梁,提供了丰富的工具,如商品详情、笔记详情和搜索API等,助力商家精准营销和用户体验提升。通过这些API,商家可以实时追踪市场动态、优化产品设计,并实现流量高效转化。新兴美妆品牌Glow Beauty和传统服饰企业经典风尚的成功案例展示了其巨大潜力。未来,AI技术与跨平台协作将进一步推动小红书API在电商领域的创新与发展。
852 24
|
JSON Java 关系型数据库
Hutool创建数据源工厂动态查询不同数据库不同数据表的数据
Hutool创建数据源工厂动态查询不同数据库不同数据表的数据
340 2
|
资源调度 Kubernetes 前端开发
react-intl——react国际化使用方案
react-intl——react国际化使用方案
|
弹性计算 编解码 运维
飞天技术沙龙回顾:业务创新新选择,倚天Arm架构深入探讨
阿里云、平头哥与Arm联合举办的飞天技术沙龙在上海举行,聚焦Arm Neoverse核心优势和倚天710计算实例在大数据、视频领域的应用。活动中,专家解读了倚天710的性能提升和成本效益,强调了CIPU云原生基础设施处理器的角色,以及如何通过软件优化实现资源池化和稳定性平衡。实例展示在视频编码和大数据处理上的性能提升分别达到80%和70%的性价比优化。沙龙吸引众多企业代表参与,促进技术交流与实践解决方案的探讨。
飞天技术沙龙回顾:业务创新新选择,倚天Arm架构深入探讨
|
前端开发 UED
css性能优化的方法
css性能优化的方法
235 0
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之PolarDB MySQL版和PolarDB-X的区别是什么
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。