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

【C语言】经典题目(一)

【C语言】字符串刷题篇在这里哦!
【C语言】字符串—刷题篇
【C】语言经典题目,五个摘录为一篇,将会持续更新啦!💞

C语言经典题目

  • 三位数
  • 水仙花数
  • 完数
  • 求利润
  • 三个数数字排序

三位数

💫题目
已知有1、2、3、4这几个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
✨分析
  已知: 1,2,3,4这几个数字;
     组成三位数;
     互不相同;
     各位十位百位数字无重复;
  输出: 有多少个;
     是多少;
  思路: 用循环嵌套进行遍历,表示三个数即百位数字 * 100+十位数字 * 10+各位数字。
     但是要控制个位十位百位数字各不相同,所以用if 语句判断,如果各位不等于十位且不等于百位,十位不等于百位,就进行输出。
     而输出要求先输出多少个,最后才依次输出三位数。所以每一次循环可以把这个三位数放到数组中,保存下来。最后输出。
     对于有多少个,符合if语句的用计数器计1。

#include<stdio.h>
int main (void)
{int array[100]={0};//数组初始化为0int count=0,i=0;int a,b,c;for (a=1;a<5;a++)//百位for (b=1;b<5;b++)//十位for(c=1;c<5;c++)//个位if (a!=b && a!=c && b!=c){array[i]=a*100+b*10+c;i++;count++;}printf("这样的三位数有%d个\n",count);for (i=0;i<count;i++)printf("%d ",array[i]);printf("\n");return 0;
}

水仙花数

💫题目
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
✨分析
利用循环对100~999进行遍历,判断是不是完数,是则输出。

#include <stdio.h>
int main (void)
{int i,a,b,c;for (i=100;i<1000;i++){c=i%10;//个位b=i/10%10;//十位a=i/100;//百位if (a*a*a+b*b*b+c*c*c==i){printf("%d ",i);}}return 0;
}

完数

💫题目
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3编程找出1000以内的所有完数。
✨分析
  利用循环遍历1~1000;
  将它所有的因子求和;
  判断因子之后是否等于它本身,是则输出。

#include <stdio.h>
int main (void)
{int i,k,sum;for (i=2;i<=1000;i++){sum=0;//注意sum的初始化必须在循环内for (k=1;k<i;k++)if (i%k==0)sum+=k;if (sum==i)printf("%d ",i);}return 0;printf("\n");
}

输出结果:

6 28 496

求利润

💫题目
企业发放的奖金根据利润提成:

  利润(I)低于或等于10万元时,奖金可提10%;
  利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
  20万到40万之间时,高于20万元的部分,可提成5%;
  40万到60万之间时高于40万元的部分,可提成3%;
  60万到100万之间时,高于60万元的部分,可提成1.5%;
  高于100万元时,超过100万元的部分按1%提成。
  已知: 利润(从键盘输入)
  输出: 根据利润的范围,计算提成并输出。
  思路: 可以用多分支选择语句,即多个if

#include<stdio.h>
double f1(int n);
double f2(int n);
double f3(int n);
double f4(int n);
double f5(int n);
double f6(int n);
int main (void)
{int n;double m;printf("请输入利润:\n");scanf("%d",&n);if (n>0 && n <=1e5)//用科学计数法表示比较简洁m=f1(n);else if(n>1e5 && n<=2e5)m=f2(n);else if (n>2e5 && n<=4e5)m=f3(n);else if (n>4e5 && n<=6e5)m=f4(n);else if (n>6e5 && n<=1e6)m=f5(n);else if (n>1e6)m=f6(n);printf("%lf",m);return 0;
}
double f1(int n)
{return n*0.1;
}
double f2(int n)  //低于10万的部分用f1()函数
{return f1(1e5)+(n-1e5)*0.075;
}
double f3(int n) //低于20万的部分用f2()表示
{return f2(2e5)+(n-2e5)*0.05;
}double f4(int n)
{return f3(4e5)+(n-4e5)*0.03;}
double f5(int n)
{return f4(6e5)+(n-6e5)*0.015;
}double f6(int n)
{return f5(1e6)+(n-1e6)*0.01;
}

三个数数字排序

💫题目
输入三个数,x、y、z,请把它们从小到大输出。
✨分析
  方法一: 可以使用假定法排序,思路就是:假设x是最小的,x和进行比较,若y大于x,则交换x和y的值,使得x是x、y中最小的……
  方法二: 方法二可以使用指针 ,对三个数完成排序。
  方法三: 使用三目运算符,求得三个数中最大的和最小的,然后用它们的和减去最大值最小值得到中间值。
代码实现
方法一:

#include <stdio.h>
int main (void)
{int x,y,z,tmp;scanf("%d%d%d",&x,&y,&z);if (y<x){tmp=x;x=y;y=tmp;}if(z<x){tmp=x;x=z;z=tmp;}if (z<y){tmp=y;y=z;z=tmp;}printf("%d %d %d\n",x,y,z);return 0;
}

方法二:

#include <stdio.h>
void fun(int*a,int*b,int*c);
int main (void)
{int x,y,z;int *a=&x,*b=&y,*c=&z;//给指针a、b、c赋值(地址值)scanf("%d%d%d",&x,&y,&z);fun (a,b,c);printf("%d %d %d\n",*a,*b,*c);return 0;
}
void fun(int*a,int*b,int*c)
{int tmp;if (*b<*a){tmp=*a;*a=*b;*b=tmp;}if (*c<*a){tmp=*a;*a=*c;*c=tmp;}if (*c<*b){tmp=*b;*b=*c;*c=tmp;}
}

▶️▶️在这里给大家补充一下,错误的程序!

#include <stdio.h>
void fun(int*a,int*b,int*c);
int main (void)
{int x,y,z;int *a=&x,*b=&y,*c=&z;//给指针a、b、c赋值(地址值)scanf("%d%d%d",&x,&y,&z);fun (a,b,c);printf("%d %d %d\n",*a,*b,*c);return 0;
}
void fun(int*a,int*b,int*c)
{int *tmp;if (*b<*a){tmp=a;a=b;b=tmp;}if (*c<*a){tmp=a;a=c;c=tmp;}if (*c<*b){tmp=b;b=c;c=tmp;}
}

  在这个程序中,并不会实现将x、y、z三个数中按照从小到大的顺序进行输出。
  这是因为,当主函数把程序的执行控制权交给被调函数fun()时,将实参*a,*b,*c传给实参变量。若 *a>*b,则交换a和b的值,使得a指向y,b指向x。但此时并不会改变x和y的值,当函数调用结束后,释放a与b的内存空间,将程序执行的控制权交给主调函数,所以,并不能改变主函数中变量x、y、z的值。
方法三:

#include <stdio.h>
int main (void)
{int x,y,z;int min,mid,max,sum;scanf("%d%d%d",&x,&y,&z);sum=x+y+z;max=(x>y?x:y)>z?(x>y?x:y):z;min=(x<y?x:y)<z?(x<y?x:y):z;mid=sum-min-max;printf("%d %d %d\n",min,mid,max);return 0;
}

  感谢小伙伴的阅读🥰,有错误的地方欢迎指出交流呀🌹

相关文章:

【C语言】经典题目(一)

【C语言】字符串刷题篇在这里哦&#xff01; 【C语言】字符串—刷题篇 【C】语言经典题目&#xff0c;五个摘录为一篇&#xff0c;将会持续更新啦&#xff01;&#x1f49e; C语言经典题目 三位数水仙花数完数求利润三个数数字排序 三位数 &#x1f4ab;题目 已知有1、2、3、4…...

Linux 设备树文件手动编译的 shell 脚本

前言 前面通过 Makefile 实现手动编译 Linux 设备树 dts 源文件及其 设备树依赖 dtsi、.h 头文件&#xff0c;如何写成一个 shell 脚本&#xff0c;直接编译呢&#xff1f; 其实就是 把 Makefile 重新编写为 shell 脚本即可 编译设备树 shell 脚本 脚本内容如下&#xff1a…...

C++核心编程——初识STL——STL的基本概念和六大组件

文章目录&#x1f4ac; 一.前言二.STL基本概念和组成①容器②算法③迭代器④空间配置器⑤适配器⑥仿函数 三.STL工作机制 一.前言 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西&#xff0c;以及一种得以制造出“可重复运用的东西”的方法,让程序员的心血不止于…...

5.2图的BFS与DFS遍历

一.BFS遍历 1.图的广度优先遍历代码实现 说明&#xff1a; 1.广度优先遍历&#xff0c;类比树的层次遍历&#xff08;树属于特殊的图&#xff09; 2.对应算法想象图的物理结构存储&#xff1a; 邻接矩阵表示唯一时间复杂度&#xff1a;O(|V|^2); 邻接表不唯一:O(|V|2|E|)&…...

JSP+SQL网上选课系统(源代码+论文+答辩PPT)

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学…...

C语言数据结构——树、堆(堆排序)、TOPK问题

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;数据结构 &#x1f525;座右铭&#xff1a;“不要等到什么都没…...

springboot+vue 刘老师

课程内容 前端&#xff1a;vue elementui 后端&#xff1a;springboot mybatisplus 公共云部署 ------boot-------- 热部署 不用devtools&#xff0c;交给jrebel工具 RequestMapping ​ 参数 value 路径 method 方法consumes 请求媒体类型 如 application/jsonproduces …...

学生网上考试报名系统的设计与实现

技术栈&#xff1a; MySQL、Maven、SpringBoot、Spring、SpringMVC、MyBatis、HikariCP、fastjson、slf4j系统功能&#xff1a;用户角色&#xff1a; &#xff08;1&#xff09;登录&#xff1a;用户在登录界面输入正确的账户名和密码&#xff0c;点击登录&#xff0c;系统将与…...

Jmeter实现分布式并发

Jmeter实现分布式并发&#xff0c;即使用远程机执行用例。 环境&#xff1a; VMware Fusion Windows系统是win7。 操作过程 1、Master在jmeter.properties添加remote_hosts 2、Slave在jmeter.properties添加server_port 同时把remote_hosts修改为和主机&#xff08;Master…...

动态xml文件配置 hibernate validator 约束校验

父文章 入参校验产品化 schema_个人渣记录仅为自己搜索用的博客-CSDN博客 一般都是通过 注解进行校验, 很少看到 通过配置来进行校验. 自己再通过谷歌找到了官网文档hibernate validator constraint from xml Hibernate Validator 8.0.0.Final - Jakarta Bean Validation Re…...

Vue绑定class样式与style样式

1&#xff0c;回顾HTML的class属性 答&#xff1a;任何一个HTML标签都能够具有class属性&#xff0c;这个属性可能只有一个值&#xff0c;如class"happs"&#xff0c;也有可能存在多个属性值&#xff0c;如class"happs good blue"&#xff0c;js的原生DOM针…...

集权攻击系列:如何利用PAC新特性对抗黄金票据?

黄金票据简介 黄金票据是一种常见的域内权限维持手段&#xff0c;这种攻击主要是利用了Kerberos认证过程中TGT票据由KRBTGT用户的hash加密的特性&#xff0c;在掌握KRBTGT用户密码之后可以通过签发一张高权限用户的TGT票据&#xff0c;再利用这个TGT向KDC获取域内服务的ST来实…...

同程面试(部分)(未完全解析)

一面 Java直接内存有了解吗&#xff1f;为什么Java NIO的效率更高&#xff1f;Netty用到很多NIO&#xff0c;来了一个请求后Netty是怎么分发的&#xff0c;它里面有哪些角色&#xff1f;粘包、拆包怎么解决&#xff1f;为什么建立TCP连接是三次握手&#xff0c;而不是四次&…...

讯飞星火_VS_文心一言

获得讯飞星火认知大模型体验授权&#xff0c;第一时间来测试一下效果&#xff0c;使用申请手机号登录后&#xff0c;需要同意讯飞SparkDesk体验规则&#xff0c;如下图所示&#xff1a; 同意之后就可以进行体验了&#xff0c;界面如下&#xff1a; 讯飞星火效果体验 以下Promp…...

Java的集合

1. HashMap排序题&#xff0c;上机题。 已知一个HashMap<Integer&#xff0c;User>集合&#xff0c; User有name&#xff08;String&#xff09;和age&#xff08;int&#xff09;属性。请写一个方法实现对HashMap 的排序功能&#xff0c;该方法接收 HashMap<Intege…...

addr2line 使用,定位kernel panic 代码位置

在kernel崩溃时&#xff0c;方便定位代码。 需要打开kernel配置CONFIG_DEBUG_INFO。 需要有System.map和vmlinux文件&#xff0c;一般在out目录。 一般panic的时候会有给出panic的指针&#xff0c;如下down_write。 el1_data说明发生异常了&#xff0c;进入和entry.S文件&a…...

OpenAI目前所有模型介绍

目录 概述 GPT-4 (limted beta) GPT-3.5 GPT-3 各类模型介绍 DALLE Beta Whisper Beta Embeddings Moderation Codex (deprecated) 概述 模型描述GPT-4 Limited beta 一组在 GPT-3.5 上改进的模型&#xff0c;可以理解并生成自然语言或代码GPT-3.5一组在 GPT-3 上改…...

【P43】JMeter 吞吐量控制器(Throughput Controller)

文章目录 一、吞吐量控制器&#xff08;Throughput Controller&#xff09;参数说明二、测试计划设计2.1、Total Executions2.2、Percent Executions2.3、Per User 一、吞吐量控制器&#xff08;Throughput Controller&#xff09;参数说明 允许用户控制后代元素的执行的次数。…...

方正书版命令详解

方正书版常用的排版符包括&#xff1a; 空格&#xff1a;表示文字之间的间距&#xff0c;不同字号的文字需要适当调整空格大小。 省略号&#xff1a;用于省略一段文字&#xff0c;通常用三个点表示&#xff08;…&#xff09;。 破折号&#xff1a;用于表示强调或者断句&…...

Gradio的web界面演示与交互机器学习模型,高级接口特征《6》

大多数模型都是黑盒&#xff0c;其内部逻辑对最终用户是隐藏的。为了鼓励透明度&#xff0c;我们通过简单地将Interface类中的interpretation关键字设置为default&#xff0c;使得向模型添加解释变得非常容易。这允许您的用户了解输入的哪些部分负责输出。 1、Interpret解释 …...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...