C:一些题目

 

1.分数求和

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

#include <stdio.h>int main(){double sum = 0.0;  // 使用 double 类型来存储结果,以处理可能的小数部分int sign = 1;  // 符号标志,初始为 1 表示正数for (int i = 1; i <= 100; i++) // 循环得到 1 ~ 100
{  sum += sign * (1.0 / i);  // 将当前项加到总和中,通过 sign 控制正负sign *= -1;  // 每次循环后改变符号,实现正负交替}printf("结果为: %lf\n", sum);  // 输出计算结果return 0;
}

代码分析:

  •   double sum = 0.0;:使用双精度浮点数 sum 来存储累加的结果,因为计算过程中可能会产生小数。
  •   int sign = 1;:定义一个整数 sign 作为符号标志,初始为 1 表示正项。
  • for (int i = 1; i <= 100; i++) :使用循环得到从 1 到 100 的每个数。
  • sum += sign * (1.0 / i); :计算当前项的值,通过乘以 sign 来决定是加还是减,然后累加到 sum 中。
  • sign *= -1; :在每次循环后改变符号,使得下一项的符号与当前项相反。
  •  printf("结果为: %lf\n", sum); :以双精度浮点数的格式输出最终的计算结果。

本题使用双精度浮点数的原因 

1:精度问题:这个计算中涉及到分数的运算,结果可能不是整数,而是带有小数部分。使用整数类型(如 int)无法准确表示小数部分,会导致精度丢失。而双精度浮点数能够提供更高的精度,可以更准确地表示计算结果。

例如,计算 1/3 用整数类型会得到 0,但实际上应该是约 0.3333... ,使用 double 类型可以更接近真实值。

 2:避免舍入误差:随着计算的进行,由于整数除法会直接截断小数部分,可能会导致累积的舍入误差越来越大。使用浮点数可以在一定程度上减少这种误差的影响,使得最终结果更接近数学上的准确值。

3:通用性:在实际的科学计算和数学运算中,很多情况下结果都是带有小数的。使用浮点数类型可以使代码更具通用性,能够处理更广泛的数值范围和精度要求。

2.比大小(整数)

代码展示:

#include<stdio.h>
int main()
{int a = 0;int b = 0;printf("输入两个数");scanf("%d %d", &a, &b);if (a > b)printf("%d %d", a );else{if (a == b)printf("%d = %d", a , b);elseprintf("%d < %d", a , b);}return 0;
}

3.打印1~100之间所有3的倍数的数字

题目思路:

1 .需要生成1~100个数,我们可以使用 for 循环 for(i = 1;i <= 100; i++)

2. 3 的倍数一定能被3整除,因此 i % 3== 0,该表达式成立,则 i 一定是 3 的倍数

代码展示:

#include<stdio.h>
int main()
{int i = 0;//初始化for (i = 1; i <= 100; i++)//生成1~100之间的数{if (i % 3 == 0)//判断是不是 3 的倍数printf("%d\n", i);}return 0;
}

4.三角形的判断

思路解析:

1:通过scanf函数得到三角形三条边的长度,用 a、b、c三个变量表示。

2:使用 if条件判断语句 来检查这三条边能否构成一个三角形。构成三角形的条件是任意两边之和大于第三边,所以使用(a + b > c) && (a + c > b) && (b + c > a) 这个条件来判断。

3:如果能构成三角形,再进一步判断三角形的类型:

     如果三条边都相等,a == b && a == c 即则是等边三角形。

     如果有两条边相等,即 (a == b) && (b != c)) || ((a == c) && (c != b)) || ((b == c) && (c != a)则是等腰三角形。

     如果三条边都不相等,则是一般三角形。

4:如果不能构成三角形,输出相应的提示信息。

代码展示:

#include<stdio.h>
int main()
{   //初始化int a = 0;int b = 0;int c = 0;printf("请输入三边长:");scanf("%d %d %d", &a, &b, &c);//输入值if ((a + b > c) && (a + c > b) && (b + c > a))//判断是否构成三角形{if (a == b && a == c)//三边相等{printf("等边三角形");}else{if (((a == b) && (b != c)) || ((a == c) && (c != b)) || ((b == c) && (c != a)))//两边相等{printf("等腰三角形");}else{printf("普通三角形");}}}else//无法构成三角形{printf("无法构成三角形,请重新尝试");}return 0;
}

5.打印乘法口诀表

思路解析:

 1. 我们需要使用两个嵌套的循环来实现。我们可以使用两个for循环。外层for循环控制行数,从 1 到 9 。 对于每一行,内层for循环控制列数,列数从 1 到当前的行数。

2. 在内层循环中,计算当前行和列对应的乘法结果,并将其打印出来。  可以使用`printf`函数来输出乘法表达式和结果,例如:printf("%d * %d = %d\t", i, j, i * j); ,其中 i 表示行,j 表示列。

3. 为了使输出的乘法口诀表更美观,在每一行乘法运算结束后,进行换行操作。  可以在内层循环结束后,使用 printf("\n"); 来换行。

通过以上步骤,就可以逐步打印出 9*9 乘法口诀表。这样的思路可以清晰地处理每一行和每一列的乘法运算,并以整齐的格式输出结果。

代码展示:

#include <stdio.h>
int main()
{int i = 0;//行变量for (i = 1; i <= 9; i++){int j = 0;//列变量for (j = 1; j <= i; j++){printf("%d * %d= %2d ", i, j, i * j);}printf("\n");}return 0;
}

结果展示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3 内置组件Teleport以及Susponse

1、Teleport 1.1 概念 将组件模版中的指定的dom挂载&#xff08;传送&#xff09;到指定的dom元素上&#xff0c;如挂载到body中&#xff0c;挂载到#app选择器上面。 1.2 应用场景 经典案例如&#xff1a;模态框。 <template><teleport to"body">&l…

处理AI模型中的“Type Mismatch”报错:数据类型转换技巧

处理AI模型中的“Type Mismatch”报错&#xff1a;数据类型转换技巧 &#x1f504; 处理AI模型中的“Type Mismatch”报错&#xff1a;数据类型转换技巧 &#x1f504;摘要引言正文内容1. 错误解析&#xff1a;什么是“Type Mismatch”&#xff1f;2. 数据类型转换技巧2.1 检查…

Redis之Zset

目录 一.介绍 二.命令 三.编码方式 四.应用场景 Redis的学习专栏&#xff1a;http://t.csdnimg.cn/a8cvV 一.介绍 ZSET&#xff08;有序集合&#xff09;是 Redis 提供的一种数据结构&#xff0c;它与普通集合&#xff08;SET&#xff09;类似&#xff0c;不同之处在于每个…

【带你了解软件系统架构的演变】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 1. 介绍 🍋‍🟩软件系统架构的演变是一个响应技术变革、业务需求…

Tailwind CSS常见组合用法

1、一般布局组合 <main className"flex min-h-screen flex-col items-center justify-between p-24"></main>flex将元素的显示类型设置为 flexbox。这意味着子元素将以 flex 项的方式排列。min-h-screen将元素的最小高度设置为全屏高度&#xff08;视口高…

【Powershell】超越限制:获取Azure AD登录日志

你是否正在寻找一种方法来追踪 Azure Active Directory&#xff08;Azure AD&#xff09;中用户的登录活动&#xff1f; 如果是的话&#xff0c;查看Azure AD用户登录日志最简单的方法是使用Microsoft Entra管理中心。打开 https://entra.microsoft.com/&#xff0c;然后进入 监…

CentOS 7开启SSH连接

1. 安装openssh-server 1.1 检查是否安装openssh-server服务 yum list installed | grep openssh-server如果有显示内容&#xff0c;则已安装跳过安装步骤&#xff0c;否则进行第2步 1.2 安装openssh-server yum install openssh-server2. 开启SSH 22监听端口 2.1 打开ssh…

对零拷贝技术的思考过程

名词 CPU拷贝&#xff1a;将内核缓存区的数据拷贝到用户缓存区DMA拷贝&#xff1a;将外设上的数据拷贝到内核缓存区系统调用&#xff1a;应用程序调用操作系统的接口上下文切换&#xff1a;用户态和内核态&#xff0c;应用调用操作系统的接口&#xff0c;操作系统调用CPU内核工…

每天都在用的20个Python技巧,让你从此告别平庸!

今天我将向大家分享日常工作中常用的20个Python技巧&#xff0c;小巧而优雅&#xff0c;让你的代码更加 Pythonic&#x1f44d; 目录 Tip1&#xff1a;单行代码实现变量值交换 Tip2&#xff1a;序列反转很简单 Tip3&#xff1a;字符串乘法 Tip4&#xff1a;单行代码实现条…

RFID(NFC) CLRC663非接触读取芯片GD32/STM32 SPI读取

文章目录 基本介绍硬件配置连接硬件连接详解程序代码代码解释 基本介绍 CLRC663 是高度集成的收发器芯片&#xff0c;用于 13.56 兆赫兹的非接触式通讯。CLRC663 收发器芯片支 持下列操作模式 • 读写模式支持 ISO/IEC 14443A/MIFARE • 读写模式支持 SO/IEC 14443IB • JIS X…

打破误解:走近轻度自闭症患者的真实生活

在自闭症的广阔光谱中&#xff0c;轻度自闭症是一个相对温和但又不可忽视的存在。它像是一层薄薄的雾&#xff0c;轻轻笼罩在患者的世界里&#xff0c;既不影响他们基本的生存能力&#xff0c;又在一定程度上影响着他们的社交互动、情感表达及兴趣范围。 轻度自闭症患者往往能…

【Android】Android模拟器抓包配置

从Android7.0之后开始&#xff0c;用户自行安装的证书在用户目录下&#xff0c;无法进行证书信任&#xff0c;导致Charles无法进行https抓包 方案&#xff1a; 1. 获取手机root权限 有些模拟器可以直接开启root权限&#xff1b; 有些Android手机可以直接开启root权限。 2. …

【ai】学习笔记:电影推荐1:协同过滤 TF-DF 余弦相似性

2020年之前都是用协同过滤2020年以后用深度学习、人工智能视频收费的,不完整,里面是电影推荐 这里有个视频讲解2016年大神分析了电影推荐 :MovieRecommendation github地址 看起来是基于用户的相似性和物品的相似性,向用户推荐物品: 大神的介绍: 大神的介绍: 基于Pytho…

Python3 基础语法快速入门

目录&#xff1a; 一、概述二、运行1、终端启动 Python3 交互式解释器直接执行&#xff1a;2、.py 文件运行&#xff1a;3、可执行文件运行&#xff1a; 三、基础语法1、Python 中文编码&#xff1a;2、注释&#xff1a;3、print 输出&#xff1a;4、变量赋值&#xff1a;5、行…

tcp协议下的socket函数

目录 1.socket函数 2.地址转换函数 1.字符串转in_addr的函数:​编辑 2.in_addr转字符串的函数&#xff1a;​编辑 1.关于inet_ntoa函数 3.listen函数 4.简单的Server模型 1.初步模型 1.sock函数和accept函数返回值的sockfd的区别 2.运行结果和127.0.0.1的意义 2.单进…

【游戏/社交】BFS算法评价用户核心程度or人群扩量(基于SparkGraphX)

【游戏/社交】BFS算法评价用户核心程度or人群扩量&#xff08;基于SparkGraphX&#xff09; 在游戏和社交网络领域&#xff0c;评估用户的核心程度或进行人群扩量是提升用户粘性和拓展社交圈的关键。广度优先搜索&#xff08;BFS&#xff09;算法以其在图结构中评估节点重要性…

[C/C++入门][变量和运算]9、数据类型以及占用存储空间大小

我们都知道&#xff0c;C中包含了多种数据类型 数据类型占用字节数中文名称注释char1字符型存储单个字符&#xff0c;通常为8位。signed char1有符号字符型字符型的有符号版本&#xff0c;可用于表示-128至127之间的整数。unsigned char1无符号字符型字符型的无符号版本&#…

SpringAI简单使用(本地模型+自定义知识库)

Ollama 简介 Ollama是一个开源的大型语言模型服务工具&#xff0c;它允许用户在本地机器上构建和运行语言模型&#xff0c;提供了一个简单易用的API来创建、运行和管理模型&#xff0c;同时还提供了丰富的预构建模型库&#xff0c;这些模型可以轻松地应用在多种应用场景中。O…

arm 内联汇编基础

一、 Arm架构寄存器体系熟悉 基于arm neon 实现的代码有 intrinsic 和inline assembly 两种实现。 1.1 通用寄存器 arm v7 有 16 个 32-bit 通用寄存器&#xff0c;用 r0-r15 表示。 arm v8 有 31 个 64-bit 通用寄存器&#xff0c;用 x0-x30 表示&#xff0c;和 v7 不一样…

如何在 PostgreSQL 中处理海量数据的存储和检索?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 如何在 PostgreSQL 中处理海量数据的存储和检索&#xff1f;一、优化表结构设计二、分区技术三、数据压…