当前位置: 首页 > news >正文

C语言例题讲解(if语句,循环语句,函数)

目录

  • if语句例题
    • 题目分析
    • 代码
    • 题目总结
  • 循环语句例题
    • 题目分析
    • 代码
    • 题目总结
  • 函数例题
    • 题目分析
    • 代码
    • 题目总结

if语句例题

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果

题目分析

1:首先我们不难看出算式中的加号和减号是交替出现的,因此这种情况我们可以理解为要么奇数符号为正,偶数符号为负,或者奇数符号为负,偶数符号为正
2:如果我们不关注算式中的正负号的话,我们可以写出通项,即an=1/n(n>=1),由于n为分母且每一项逐渐加1,因此我们可以用循环中的i表示分母的变化

代码

#include<stdio.h>
int main()
{int n;float sum = 0, an;//如果为int会因为1/i中的小数部分丢失,导致最后的结果为1scanf("%d", &n);//这里的scanf可以不要,直接让n=100也行for(int i=1;i<=n;i++){if (i % 2)//判断奇数{an = 1.00 / i;//因为1/100中的小数为两位数,因此我们需要他保留两位小数sum = sum + an;}else//偶数{an = -1.00/ i;sum = sum + an;}}printf("%f", sum);return 0;
}

题目总结

1:遇到加减法交替出现的时候我们可以判断奇偶数来确定符号(如果用<math.h>头文件的话可以用次方来表示这种规律)
2:如果算式中的通项存在一个数字是变量,并且是以等差的方式增加的话我们可以用循环来表示变量,即i+d(d为公差)
3:要注意每次计算时会不会丢失数据就比如上面代码中的1/i,会丢失小数点后的数据

循环语句例题

编写代码在一个整形有序数组中查找具体的某个数。
要求:使用二分查找,并且找到了就打印数字所在的下标,找     不到则输出:找不到。

题目分析

1:这道题需要用到二分查找。
二分查找就是每次查找后就减去所查找数的一半,比如我们要从1 2 3 4 5 这5个数中找出2,根据二分查找我们会最先寻找最中间的数3,如果3大了,那么就会在1 2 这两个数中寻找1,如果1又小了,那么就只能是2。
2:因为是有序数组,为了方便解题,我们可以将有序数组设的非常特殊。
3:为了表示每次二分查找的下标,我们需要设置right=数组最右边的下标,left数组最左边的下标,还有seek=(right+left)/2表示每次二分查找的下标。
4:每次查找后right或者left都会变化,进而缩小查找的范围

代码

#include<stdio.h>
int main()
{int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };int n = 0;printf("输入你想找的数字\n");scanf("%d", &n);int seek = 0;int right = 9, left = 0;int sz = sizeof(arr) / sizeof(arr[0]);//计算数组的大小while (1){seek = (right - left) / 2 + left;/*如果用的是(right + left) / 2可能会因为计算结果过大导致计算不出数字的结果,因为int有最大值*/if (seek + 1 == n && 0 <= n && n < sz)//因为数组比较特殊,下标+1就是对应的数组元素{printf("找到了\n");printf("下标是%d,数字为%d\n", seek, arr[seek + 1]);break;}else if (seek + 1 < n && 0 <= n && n < sz){left = seek + 1;seek = (right - left) / 2 + left;continue;}else if (seek + 1 > n && 0 <= n && n < sz){right = seek - 1;seek = (right - left) / 2 + left;continue;}else{printf("找不到");break;}}return 0;
}

题目总结

1:二分查找用在查找大型数据中效果非常显著,但前提是要有从大到小或者从小到大的规律排序才行
2:计算数组的大小是我们日常写代码时经常用到的一种方式,因此需要熟练运用
3:要注意每一种数据类型的范围,避免计算结果过大或过小导致超出数据类型范围

函数例题

实现一个函数is_prime,判断一个数是不是素数。
利用上面实现的is_prime函数,打印100到200之间的素数。

题目分析

1:我们需要设置一个函数来判断一个数是否是素数,因此如果是素数我们就让代码返回1,不是素数就让代码返回0(这里的代码没有用这个方法)
2:素数的定义一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,而且我们知道一个大于1的自然数可以写成一个数的平方,比如16=4×4=a*b,假设a<b,那么我们可以推断出a的范围[1,4](我们这里讨论的是a为正整数)b的范围则是[4,16],为了好判断素数,我们只需要看他是否能被a整除就行了(a!=1)
3:因为是打印100到200之间的素数,所以一定会用到循环

代码

#include<stdio.h>
#include<math.h>
int is_prime(int n)
{for (int x = 2; x <= sqrt(n); x++)//因为我们所找的数都是可以被1整除的,所以我们之间从2开始,sqrt(n)为n的算数平方根{if (n % x != 0)//判断素数的条件即不能被整除{printf("%d ", n);break;}elsebreak;}return 0;
}
int main()
{for (int i = 100; i <= 200; i++)//通过循环不断的调用函数,不断的去找出里面的素数{is_prime(i);}return 0;
}

题目总结

判断素数可以用以上的方法,使代码效率更加高,当然其他的题依然可以用到以上的方法

相关文章:

C语言例题讲解(if语句,循环语句,函数)

目录 if语句例题题目分析代码题目总结 循环语句例题题目分析代码题目总结 函数例题题目分析代码题目总结 if语句例题 计算1/1-1/21/3-1/41/5 …… 1/99 - 1/100 的值&#xff0c;打印出结果题目分析 1&#xff1a;首先我们不难看出算式中的加号和减号是交替出现的&#xff0…...

深入探索JavaEE单体架构、微服务架构与云原生架构

课程链接&#xff1a; 链接: https://pan.baidu.com/s/1xSI1ofwYXfqOchfwszCZnA?pwd4s99 提取码: 4s99 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍&#xff1a; &#x1f50d;【00】模块零&#xff1a;开营直播&a…...

【STM32】FreeRTOS互斥量学习

互斥量&#xff08;Mutex&#xff09; 互斥量又称互斥信号量&#xff08;本质也是一种信号量&#xff0c;不具备传递数据功能&#xff09;&#xff0c;是一种特殊的二值信号量&#xff0c;它和信号量不同的是&#xff0c;它支持互斥量所有权、递归访问以及防止优先级翻转的特性…...

Docker容器基础

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、Docker概述1、docker是什么2、Docker的设计宗旨3、容器在内核中支持2种重要技术&#xff1a; 三、Docker的核心概念四、Docker相关命令1.安装依赖包2.设置阿里云…...

Ajax及前端工程化

Ajax&#xff1a;异步的js与xml。 作用&#xff1a; 1、通过ajax给服务器发送数据&#xff0c;并获得其响应的数据。 2、可以在不更新整个网页的情况下&#xff0c;与服务器交换数据并更新部分网页的技术。 一、同步与异步 二、原生Ajax 1、准备数据地址 2、创建XMLHttpReq…...

electron的使用和操作

文章目录 先创建一个基本的electron应用electron生命周期事件 先创建一个基本的electron应用 先安装 npm install --save-dev electron然后在package.json里面创建如下内容 {"name": "my-electron-app","version": "1.0.0","d…...

Python最重要的数据结构是列表(list)的使用方法

列表是一种有序的集合&#xff0c;可以包含任意类型的元素&#xff0c;包括数字、字符串、布尔值、元组等。列表使用方括号[]来表示&#xff0c;元素之间用逗号,分隔。 以下是一些使用列表的例子&#xff1a; 1. 创建一个空列表&#xff1a; my_list []2. 创建一个包含元素的…...

二开ChatGPT微信小程序源码 AI聊天微信小程序源码 适配H5和WEB端 支持AI聊天次数限制

ChatGPT-MP是一款基于的微信小程序,同时适配H5和WEB端。它提供了前后台二开的能力,支持打字效果的流式输出,以及限制AI聊天次数和分享增加次数等功能。该开源版本仅供学习交流使用,禁止商业用途和倒卖。感谢大家的关注与支持!技术栈方面,我们使用了JDK8、SpringBoot、Vue…...

VGG简单学习

VGG简单学习 简单介绍 在AlexNet网络的基础上&#xff0c;为了设计深层神经网络&#xff0c;牛津大学设计了VGG网络,采用块的设计理念&#xff0c;将AlexNet中多个重复的卷积层和池化层组成一个块 论文中&#xff0c;使用3x3卷积核&#xff0c;padding1的卷积层 和带有2x2的汇…...

Stable Diffusion - 人物坐姿 (Sitting) 的提示词组合 与 LoRA 和 Embeddings 配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132201960 拍摄人物坐姿时&#xff0c;需要注意&#xff1a; 选择一个舒适和自然的坐姿&#xff0c;符合个性和心情。可以坐在椅子、沙发、长凳、…...

[oneAPI] 手写数字识别-GAN

[oneAPI] 手写数字识别-GAN 手写数字识别参数与包加载数据模型训练过程结果 oneAPI 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI&#xff1a;https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolki…...

爬虫逆向实战(十五)--阿某某营登录

一、数据接口分析 主页地址&#xff1a;阿某某营 1、抓包 通过抓包可以发现登录接口是Users/Login 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现有一个s加密参数 请求头是否加密&#xff1f; 无响应是否加密&#xff1f; 无cookie是…...

【计组】校验码(奇偶校验码、海明校验码、CRC)

前言 1、小提示&#xff1a;本篇博文是参考王道&#xff0c;在复习 ASCII 码的基础上&#xff0c;总结校验码的相关学习知识点&#xff0c;并在最后搭配习题&#xff08;含408真题&#xff09;进行巩固练习。&#xff08;对重点内容进行划线、标色&#xff09; 2、适用人群&…...

File Inclusion

File Inclusion 服务器执行PHP文件时&#xff0c;可以通过文件包含函数加载另一个文件中的PHP代码&#xff0c;并且当PHP来执行&#xff0c;这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时&#xff0c;您只更新一个包含…...

函数性能探测:更简单高效的 Serverless 规格选型方案

作者&#xff1a;拂衣、丛霄 2019 年 Berkeley 预测 Serverless 将取代 Serverful 计算成为云计算新范式。Serverless 为应用开发提供了一种全新系统架构。借助 2023 年由 OpenAI 所带来的 AIGC 风潮&#xff0c;以阿里云函数计算 FC、AWS Lambda 为代表的 Serverless 以其更高…...

嵌入式Linux Qt5 (C++)开发栏目概述

本栏目开始介绍Linux系统下的Qt C程序开发&#xff0c;资源是以嵌入式为切入点&#xff08;现在Linux系统下的Qt C程序开发好像就是应用于嵌入式&#xff09;&#xff0c;那就跟着一起学习Linux系统下的Qt C程序开发知识&#xff0c;再扩展一下嵌入式的知识吧。我这里默认已经熟…...

C语言“牵手”微店商品详情数据方法,微店商品详情API接口申请指南

微店平台的商品详情通常包括以下信息&#xff1a; 商品名称&#xff1a;展示商品的名称&#xff0c;用于描述商品的特性和分类。 商品图片&#xff1a;展示商品的图片&#xff0c;可以有多张图片以展示不同角度和细节。 商品价格&#xff1a;显示商品的销售价格&#xff0c;可…...

C++ volatile

volatile 一、volatile 使用场景 volatile 是 C 和 C 中的一个关键字&#xff0c;用于告诉编译器不要对标记为 volatile 的变量进行优化&#xff0c;以确保每次访问都从内存中读取变量的最新值。主要用于以下情况&#xff1a; 硬件寄存器和内存映射设备&#xff1a;在访问硬…...

空洞卷积学习笔记

文章目录 1. 扩张卷积的提出2. 理解的难点 本片博客的主题思路来自于这篇文章——如何理解Dilated Convolutions(空洞卷积)&#xff0c;但是作者似乎是很久之前写的&#xff0c;文字的排版很混乱&#xff0c;自己来写一个新的。 1. 扩张卷积的提出 Multi-Scale Context Aggre…...

WPF中的UseLayoutRounding和SnapsToDevicePixels

WPF中的UseLayoutRounding和SnapsToDevicePixels 最近在调试项目中的UI时发现几个诡异问题&#xff1a; Grid容器里的GridSplitter设置粗细一样&#xff0c; 但截屏放大后发现线条不一样粗并且明暗不一致&#xff0c;导致打印出来有问题。 自定义控件的边缘在某些窗体中显示模…...

DDrawCompat:老游戏兼容性修复与性能优化终极解决方案

DDrawCompat&#xff1a;老游戏兼容性修复与性能优化终极解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDrawC…...

DLSS状态指示器配置完全指南:实用监控工具深度解析

DLSS状态指示器配置完全指南&#xff1a;实用监控工具深度解析 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在追求极致游戏体验的路上&#xff0c;你是否曾疑惑DLSS是否真正生效&#xff1f;DLSS Swapper作为一款专…...

小爱音箱音乐自由播放器:解锁无限听歌体验的完整指南

小爱音箱音乐自由播放器&#xff1a;解锁无限听歌体验的完整指南 【免费下载链接】xiaomusic 使用小爱音箱播放音乐&#xff0c;音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 你是否厌倦了音乐平台的各种限制&#xff1f;是否想…...

PyTorch实战:从零构建支持向量机进行图像二分类

1. 支持向量机与图像分类的奇妙碰撞 第一次听说要用支持向量机(SVM)做图像分类时&#xff0c;我脑子里立刻浮现出两个问号&#xff1a;这个传统机器学习算法能处理图像数据吗&#xff1f;为什么要用PyTorch实现而不是直接用scikit-learn&#xff1f;直到亲手实现了整个流程&…...

FLUX.2-klein-base-9b-nvfp4进阶:利用LSTM时序理解优化视频连贯风格转换

FLUX.2-klein-base-9b-nvfp4进阶&#xff1a;利用LSTM时序理解优化视频连贯风格转换 最近在折腾视频风格转换时&#xff0c;发现一个挺让人头疼的问题&#xff1a;用那些单帧处理的模型&#xff0c;出来的视频总是一闪一闪的&#xff0c;风格也忽明忽暗&#xff0c;看着特别不…...

ide-eval-resetter:突破JetBrains IDE试用期限制的创新方案——2026开发者必备指南

ide-eval-resetter&#xff1a;突破JetBrains IDE试用期限制的创新方案——2026开发者必备指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 问题引入&#xff1a;JetBrains IDE试用期限制的痛点分析 作为开发…...

ContextMenuManager:让Windows交互回归高效本质

ContextMenuManager&#xff1a;让Windows交互回归高效本质 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 当你在Windows系统中右键点击文件时&#xff0c;是否…...

Phi-3-mini-4k-instruct-gguf入门必看:q4-GGUF量化对中文语义保留的影响实测

Phi-3-mini-4k-instruct-gguf入门必看&#xff1a;q4-GGUF量化对中文语义保留的影响实测 1. 模型简介 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本&#xff0c;特别适合中文场景下的问答、文本改写、摘要生成等任务。这个经过量化的模型版本在…...

嵌入式 - shell 常用语法简单总结

初步使用#!bin/bashecho "Hello world!"echo# shellvim helloworld.shchmod ux helloworld.sh# 在当前bash运行. helloworld.shsource helloworld.sh# 在子bash中运行&#xff0c;无法修改当前shell的变量./helloworld.shLinux中工具链的配置​ ~/.bashrc用于定义当前…...

Qwen3.5-2B图文对话实战:上传实验数据图→自动识别坐标轴+趋势分析+结论建议

Qwen3.5-2B图文对话实战&#xff1a;上传实验数据图→自动识别坐标轴趋势分析结论建议 1. 引言&#xff1a;当AI遇见科研数据分析 作为一名科研工作者&#xff0c;你是否经常遇到这样的场景&#xff1a;实验室刚跑出一组数据&#xff0c;你迫不及待想分析趋势&#xff0c;却发…...