【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语言】字符串刷题篇在这里哦! 【C语言】字符串—刷题篇 【C】语言经典题目,五个摘录为一篇,将会持续更新啦!💞 C语言经典题目 三位数水仙花数完数求利润三个数数字排序 三位数 💫题目 已知有1、2、3、4…...
Linux 设备树文件手动编译的 shell 脚本
前言 前面通过 Makefile 实现手动编译 Linux 设备树 dts 源文件及其 设备树依赖 dtsi、.h 头文件,如何写成一个 shell 脚本,直接编译呢? 其实就是 把 Makefile 重新编写为 shell 脚本即可 编译设备树 shell 脚本 脚本内容如下:…...
C++核心编程——初识STL——STL的基本概念和六大组件
文章目录💬 一.前言二.STL基本概念和组成①容器②算法③迭代器④空间配置器⑤适配器⑥仿函数 三.STL工作机制 一.前言 长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出“可重复运用的东西”的方法,让程序员的心血不止于…...
5.2图的BFS与DFS遍历
一.BFS遍历 1.图的广度优先遍历代码实现 说明: 1.广度优先遍历,类比树的层次遍历(树属于特殊的图) 2.对应算法想象图的物理结构存储: 邻接矩阵表示唯一时间复杂度:O(|V|^2); 邻接表不唯一:O(|V|2|E|)&…...
JSP+SQL网上选课系统(源代码+论文+答辩PPT)
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学…...
C语言数据结构——树、堆(堆排序)、TOPK问题
🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,数据结构 🔥座右铭:“不要等到什么都没…...
springboot+vue 刘老师
课程内容 前端:vue elementui 后端:springboot mybatisplus 公共云部署 ------boot-------- 热部署 不用devtools,交给jrebel工具 RequestMapping  参数 value 路径 method 方法consumes 请求媒体类型 如 application/jsonproduces …...
学生网上考试报名系统的设计与实现
技术栈: MySQL、Maven、SpringBoot、Spring、SpringMVC、MyBatis、HikariCP、fastjson、slf4j系统功能:用户角色: (1)登录:用户在登录界面输入正确的账户名和密码,点击登录,系统将与…...
Jmeter实现分布式并发
Jmeter实现分布式并发,即使用远程机执行用例。 环境: VMware Fusion Windows系统是win7。 操作过程 1、Master在jmeter.properties添加remote_hosts 2、Slave在jmeter.properties添加server_port 同时把remote_hosts修改为和主机(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,回顾HTML的class属性 答:任何一个HTML标签都能够具有class属性,这个属性可能只有一个值,如class"happs",也有可能存在多个属性值,如class"happs good blue",js的原生DOM针…...
集权攻击系列:如何利用PAC新特性对抗黄金票据?
黄金票据简介 黄金票据是一种常见的域内权限维持手段,这种攻击主要是利用了Kerberos认证过程中TGT票据由KRBTGT用户的hash加密的特性,在掌握KRBTGT用户密码之后可以通过签发一张高权限用户的TGT票据,再利用这个TGT向KDC获取域内服务的ST来实…...
同程面试(部分)(未完全解析)
一面 Java直接内存有了解吗?为什么Java NIO的效率更高?Netty用到很多NIO,来了一个请求后Netty是怎么分发的,它里面有哪些角色?粘包、拆包怎么解决?为什么建立TCP连接是三次握手,而不是四次&…...
讯飞星火_VS_文心一言
获得讯飞星火认知大模型体验授权,第一时间来测试一下效果,使用申请手机号登录后,需要同意讯飞SparkDesk体验规则,如下图所示: 同意之后就可以进行体验了,界面如下: 讯飞星火效果体验 以下Promp…...
Java的集合
1. HashMap排序题,上机题。 已知一个HashMap<Integer,User>集合, User有name(String)和age(int)属性。请写一个方法实现对HashMap 的排序功能,该方法接收 HashMap<Intege…...
addr2line 使用,定位kernel panic 代码位置
在kernel崩溃时,方便定位代码。 需要打开kernel配置CONFIG_DEBUG_INFO。 需要有System.map和vmlinux文件,一般在out目录。 一般panic的时候会有给出panic的指针,如下down_write。 el1_data说明发生异常了,进入和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 上改进的模型,可以理解并生成自然语言或代码GPT-3.5一组在 GPT-3 上改…...
【P43】JMeter 吞吐量控制器(Throughput Controller)
文章目录 一、吞吐量控制器(Throughput Controller)参数说明二、测试计划设计2.1、Total Executions2.2、Percent Executions2.3、Per User 一、吞吐量控制器(Throughput Controller)参数说明 允许用户控制后代元素的执行的次数。…...
方正书版命令详解
方正书版常用的排版符包括: 空格:表示文字之间的间距,不同字号的文字需要适当调整空格大小。 省略号:用于省略一段文字,通常用三个点表示(…)。 破折号:用于表示强调或者断句&…...
Gradio的web界面演示与交互机器学习模型,高级接口特征《6》
大多数模型都是黑盒,其内部逻辑对最终用户是隐藏的。为了鼓励透明度,我们通过简单地将Interface类中的interpretation关键字设置为default,使得向模型添加解释变得非常容易。这允许您的用户了解输入的哪些部分负责输出。 1、Interpret解释 …...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
