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

C语言100道练习题打卡(1)

1

有1,2,3,4四个数字,能组成多少个互不相同且不重复的三位数,都是多少

#include<stdio.h>
//有1,2,3,4四个数字,能组成多少个互不相同且不重复的三位数,都是多少int main()
{int i, j, k;printf("\n");int count = 0;for (i = 1; i < 5; i++){for (j = 1; j < 5; j++){for (k = 1; k < 5; k++){if (i != k && k != j && j != k){printf("%d %d %d\n", i, j, k);count++;}}}}printf("count = %d", count);return 0;
}

2

题目:

根据企业利润计算奖金,从键盘输入利润,计算应发放奖金金客,公式如下:
1)利润低于或等于10万元时,奖金可提10%;
2)利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
3)20万到40万之间时,高于20万元的部分,可提成5%;
4)40万到60万之间时高于40万元的部分,可提成3%;
5)60万到100万之间时,高于60万元的部分,可提成1.5%;
6)高于100万元时,超过100万元的部分按1%提成。
从键盘输入当月利润,求应发放奖金总数?

#include<stdio.h>
int main()
{double profit, bonus1, bonus2, bonus3, bonus4, bonus5,bonus;printf("请输入企业的利润为:");scanf_s("%lf", &profit);//计算每个利润段的奖金基数bonus1 = 100000 * 0.1;//利润低于或等于10万元时,奖金可提10%;bonus2 = bonus1 + 100000 * 0.075;//利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;bonus3 = bonus2 + 100000 * 0.05;//20万到40万之间时,高于20万元的部分,可提成5%;bonus4 = bonus3 + 100000 * 0.03;//40万到60万之间时高于40万元的部分,可提成3%;bonus5 = bonus4 + 100000 * 0.015;//高于100万元时,超过100万元的部分按1%提成if (profit <= 100000){bonus = profit * 0.1;}else if (profit <= 200000){bonus = bonus1 + (profit-100000) * 0.75;}else if (profit <= 400000){bonus = bonus2 + (profit - 200000) * 0.05;}else if (profit <= 600000){bonus = bonus3 + (profit - 400000) * 0.03;}else if (profit <= 1000000){bonus = bonus4 + (profit - 600000) * 0.015;}else if(profit>1000000){bonus = bonus5 + (profit - 1000000) * 0.01;}printf("提成为:bonus=%lf\n", bonus);return 0;
}

3 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少

#include<stdio.h>/*分析:一个整数,它加上100后是一个完全平方数
再加上168又是一个完全平方数,请问该数是多少
设该数为x
1,x+100=n*n;x+100+168=m*m
2,m*m-n*n=(m+n)(m-n)=168
3,设m+n=i;m-n=j,则i*j=168,那么i和j都是偶数
4,m=(i+j)/2,n=(i-j)/2,i和j均是大于2的偶数
6,由于i*j=168,j>=2,得到1<i<168/2+1
接下来将i的所有数字循环计算即可*/int main()
{int i, j, n, m,x;for (i = 1; i < 168 / 2 + 1; i++){if (168 % i == 0){j = 168 / i;if (i > j && (i + j) % 2 == 0 && (i - j) % 2 == 0)//m,n均是偶数{m = (i + j) / 2;n = (i - j) / 2;x = n * n - 100;printf("%d\n", x);printf("%d+100 = %d*%d\n", x, n, n);printf("%d+168 = %d*%d\n", x, m, m);}}}return 0;
}

 

 4  题目:输入某年某月某日,判断这一天是这一年的第几天

#include<stdio.h>/*分析:
输入某年某月某日,判断这一天是这一年的第几天
年:判断是否是闰年,
月:闰年的2月有28天
天:一个月有30或31天
设这一天为这一年的第x天以3月5日为例,应该把前两个月的天数相加后,加上五天,即为本年的第几天
特殊情况:闰年且输入月份大于3时需要考虑多加一天*/int main()
{int day, year, month, sum, leap;printf("请输入日期:格式为:年,月,日\n");scanf_s("%d,%d,%d", &year, &month, &day);switch (month){case 1:sum = 0;break;case 2:sum = 31;break;case 3:sum = 59;break;case 4:sum = 90;break;case 5:sum = 120;break;case 6:sum = 151;break;case 7:sum = 181;break;case 8:sum = 212;break;case 9:sum = 243;break;case 10:sum = 273;break;case 11:sum = 304;break;case 12:sum = 334;break;default:printf("请重新输入");break;}sum = sum + day;//某月加上某天//判断是不是闰年if ((year % 400 == 0) || (year % 4 == 0 && year % 100 == 0)){leap = 1;}else{leap = 0;}//如果是闰年且月份大于2,总天数应该加一天if (leap == 1 && month > 2){sum++;}printf("这是这一年中的第%d天", sum);return 0;
}

5  题目:输入三个整数x,y,z,请把这三个数由小到大输出

方法一:

#include<stdio.h>
int main()
{int x, y, z;printf("请输入三个整数: \n");scanf_s("%d,%d,%d", &x, &y, &z);printf("从小到大排序:\n");if (x < y){if (y < z){printf("%d,%d,%d", x, y, z);}else{printf("%d,%d,%d", x, z, y);}}else if (y < x){if (x < z){printf("%d,%d,%d", y, x, z);}else{printf("%d,%d,%d", y, z, x);}}return 0;
}

 方法二:

#include<stdio.h>
int main()
{int x, y, z,t;printf("请输入三个整数: \n");scanf_s("%d,%d,%d", &x, &y, &z);if (x > y){t = x;x = y; y = t;}if (x > z){t = z;z = x;x = t;}if (y > z){t = y;y = z;z = t;}printf("从小到大排序:%d %d %d\n", x, y, z);return 0;
}

 6  用*号输入字母C的图案

#include<stdio.h>
int main()
{int i, j, k;int n = 5;for (i = 0; i < n; i++){for (j = 0; j < 5; j++){if ((i == 0 || i == n - 1) || (j == 0 && i != n / 2) || (j == n - 1 &&i!= n / 2)){printf("*");}else{printf(" ");}}printf("\n");}return 0;
}

 

7  输出九九乘法表

#include<stdio.h>
int main()
{//九九乘法表,i控制行,j控制列int i, j, result;for (i = 0; i < 10; i++){for (j = 1; j <= i; j++){result = i * j;printf("%d * %d = % -3d ", j, i, result);}printf("\n");}return 0;
}

8 输出象棋棋盘

#include<stdio.h>
/*分析:
国际想起棋盘由64个黑白相间的格子组成,分为8行8列。
用i控制行,j控制列,根据i+j的和的变化来控制输出黑方格或白方格
*/int main()
{int i, j;for (i = 0; i < 8; i++){for (j = 0; j < 8; j++){if ((i + j) % 2 == 0){printf("%c%c", '*', '*');//**表示黑方格}else{printf("  ");}}printf("\n");}return 0;
}

9 打印楼梯图形 和笑脸

 题目:打印楼梯,同时在楼梯上方打印两个笑脸

//题目:打印楼梯,同时在楼梯上方打印两个笑脸
//用11来表示两个笑脸;用i控制行,用j控制列
//j根据i的变化来控制输出黑方格的个数
#include<stdio.h>
int main()
{int i, j;printf("11\n");//用11来表示两个笑脸for (i = 1; i < 11; i++){for (j = 1; j <= i; j++){printf("%c%c", 70, 70);}printf("\n");}return 0;
}

10 兔子生崽

方法1:

#include<stdio.h>
/*有一对兔子,从出生后第3个月都圣一对兔子,小兔子长到第三个月后又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)*//*分析:兔子的个数规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和*/
int main()
{int f1 = 1, f2 = 1, i;for (i = 1; i <= 20; i++){printf("%12d%12d", f1, f2);if (i % 2 == 0)printf("\n");f1 = f1 + f2;f2 = f1 + f2;}return 0;
}

这让我想起来青蛙跳台阶的案例,我们再来回顾一下吧

题目:一只青蛙要从第一级台阶开始,每次可以跳上一级或者两级,直到跳完所有的台阶。我们需要找出青蛙有多少种跳法

方法1;

int Fib(int x)
{int i = 1;int j = 1;int z = 1;while (x > 0){z = i + j;i = j;j = z;x--;}return z;
}
int main()
{int n = 0;printf("青蛙跳的台阶数为:\n");scanf_s("%d", &n);int ret = Fib(n);printf("青蛙跳台阶的方法有%d种", ret);return 0;
}

方法2:

 利用递归方式

int Fib(int x)
{if (x == 1)return 1;else if (x == 2)return 2;elsereturn Fib(x - 1) + Fib(x - 2);
}
int main()
{int n = 0;printf("青蛙跳的台阶数为:\n");scanf_s("%d", &n);int ret = Fib(n);printf("青蛙跳台阶的方法有%d种", ret);return 0;
}

11 判断101到200之间的素数

#include<stdio.h>/*分析:
判断素数的方法:
用一个数分比如取出2到sqrt(这个数),如果能被整除,则表明此数不是素数
*/int main()
{int i,j;int count = 0;for (i = 101; i <= 200; i++){for (j = 2; j < i; j++){//如果j能被i整除再跳出循环if (i % j == 0){break;}}//判断循环是否提前跳出,如果j<i说明在2~j之间,i有可整除的数if (j >= i){count++;printf("%d ", i);//每五个数换行if (count % 5 == 0)printf("\n");}}return 0;
}

 

 12 水仙花数

打印水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个水仙花数,因为153 = 1的三次方+5的三次方+3的三次方

#include<stdio.h>
/*
利用for循环控制100~999个数,每个数分解出个位,十位,百位
*/int main()
{int x, y, z, i;for (i = 100; i < 1000; i++){x = i % 10;y = i / 10 % 10;z = i / 100 % 10;if (i == (x * x * x + y * y * y + z * z * z)){printf("%d\n", i);}}return 0;
}

相关文章:

C语言100道练习题打卡(1)

1 有1&#xff0c;2&#xff0c;3&#xff0c;4四个数字&#xff0c;能组成多少个互不相同且不重复的三位数&#xff0c;都是多少 #include<stdio.h> //有1&#xff0c;2&#xff0c;3&#xff0c;4四个数字&#xff0c;能组成多少个互不相同且不重复的三位数&#xff…...

5G-A有何能耐?5G-A三载波聚合技术介绍

2024年被称作5G-A元年。5G-A作为5G下一阶段的演进技术&#xff0c;到底有何能耐呢&#xff1f; 三载波聚合&#xff08;3CC&#xff09;被认为是首个大规模商用的5G-A技术&#xff0c;将带来手机网速的大幅提升。 █ 什么是3CC 3CC&#xff0c;全称叫3 Component Carriers…...

理解Go语言中上下文

开发人员有时会误解context.Context类型,尽管它是Go语言的关键概念之一,也是Go中并发代码的基础之一。接下来让我们看看这个概念,并确保我们理解为什么乃如何有效地使用它。 根据官方文档: 上下文(context)携带最后期限、取消信号和其他跨API边界的值。 下面让我们来看下这…...

[MySQL]数据库原理8——喵喵期末不挂科

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;大大会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…...

【算法基础】插入排序与二分查找、升级二分查找

文章目录 1. 插入排序1.1 插入排序的思想1.2 插入排序的实现 2. 普通二分查找2.1 普通二分查找的思想2.2 普通二分查找的实现 3. 升级二分查找3.1 升级二分查找思想3.2 升级二分查找实现 1. 插入排序 1.1 插入排序的思想 插入排序很类似于已有一副有序的扑克牌&#xff0c;不断…...

在Vue3中如何使用H.265视频流媒体播放器EasyPlayer.js?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;可支持H.264与H.265编码格式&#xff0c;性能稳定、播放流畅&#xff0c;能支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#…...

基于51单片机的PM2.5监测系统设计—环境监测仪

基于51单片机的PM2.5监测系统 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.PM2.5传感器模块检测信息给单片机处理&#xff1b; 2.LCD1602实时显示PM2.5浓度和PM2.5报警阈值&#x…...

【C语言】指针篇-初识指针(1/5)

&#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;C笔记专栏&#xff1a; C笔记 &#x1f308;喜欢的诗句:无人扶我青云志 我自踏雪至山巅 文章目录 **内存和地址(知识铺垫(了解即可))**如何理解编址**指针变量*…...

【御控物联】物联网平台设备接入-JSON数据格式转化(场景案例四)

文章目录 一、背景二、解决方案三、在线转换工具四、技术资料 一、背景 物联网平台是一种实现设备接入、设备监控、设备管理、数据存储、消息多源转发和数据分析等能力的一体化平台。南向支持连接海量异构&#xff08;协议多样&#xff09;设备&#xff0c;实现设备数据云端存…...

stack和queue模拟实现

前言 上一期我们介绍了stack和queue的使用&#xff0c;本期我们来模拟实现一下他们&#xff01; 本期内容介绍 容器适配器 deque介绍 为什么stack和queue的底层选择deque为默认容器&#xff1f; stack 模拟现实 queue 模拟实现 什么是容器适配器&#xff1f; 适配器是一种设…...

docker操作

1、容器生命周期管理命令 docker run docker run --name tomcat8 -d -p 28080:8080 tomcat:8.5.38 docker run -i --name hausf --network bridge --ip 172.17.0.10 ubuntu:20.04 /bin/bash docker run -d --name hausf --net host ubuntu:20.04 /bin/bash docker run…...

分布式锁介绍

引言 分布式锁是一种用于协调不同进程或线程对共享资源的访问控制的机制。在分布式系统中&#xff0c;由于多个节点可能同时访问或修改同一资源&#xff0c;因此需要一个中心化的协调机制来确保资源的访问是有序的&#xff0c;避免数据不一致的问题。 分布式锁的特性&#xf…...

Unity 获取RenderTexture像素颜色值

拿来吧你~ &#x1f9aa;功能介绍&#x1f32d;Demo &#x1f9aa;功能介绍 &#x1f4a1;不通过Texture2D 而是通过ComputerShader 提取到RenderTexture的像素值&#xff0c;效率有提升哦&#xff01; &#x1f4a1;通过扩展方法调用&#xff0c;方便快捷&#xff1a;xxxRT.G…...

Tomcat以服务方式启动,无法访问网络共享目录问题

关于“Tomcat以服务方式启动&#xff0c;无法访问网络共享目录问题”解决方式如下&#xff1a; 1、通过doc命令【services.msc】打开本地服务找到&#xff0c;找到tomcat服务所在位置 2、右键打开Tomcat服务的属性 3、选择 登陆选项卡 4、选择“此账户”选项&#xff0c;并…...

SVN的介绍

首先SVN是什么&#xff1a; Apache下的一个开源的项目Subversion&#xff0c;通常缩写为 SVN&#xff0c;是一个版本控制系统。 版本控制系统是一个软件&#xff0c;它可以伴随我们软件开发人员一起工作&#xff0c;让我们编写代码的完整的历史保存下来。 目前它的各个版本的…...

ZYNQ-700呼吸灯

参考野火例程 实现呼吸灯即要调整led亮的占比时间&#xff0c;完成视觉上看起来由灭到亮或者由亮到灭的过程。 如果主频为50MHz&#xff0c;理论上一秒钟我们可以控制50_000_000次led的亮和灭&#xff0c;肉眼不可能分辨出来每一次亮灭&#xff0c;如果这50M我们设定为间隔一…...

UE5学习日记——制作多语言版本游戏,同时初步学习UI制作、多语言化、控制器配置、独立进程测试、打包配置和快速批量翻译等

所有的文本类&#xff0c;无论变量还是控件等都能实现本地化&#xff0c;以此实现不同语言版本。 在这里先将重点注意标注一下&#xff1a; 所有文本类的变量、控件等都可以多语言&#xff1b;本地化控制板中收集、编译时&#xff0c;别忘了编译这一步&#xff1b;支持批量复制…...

电脑重启后word文档空白或打不开,word无法自动修复,如何拯救

最近编辑word文档&#xff0c;写了好几个星期的内容随着电脑重启的一瞬间&#xff0c;灰飞烟灭&#xff0c;让我简直痛不欲生&#xff01; 好在&#xff0c;天无绝人之路&#xff0c;以下两个方法拯救了地球 第一&#xff0c;普通的文档word自动修复不好使的时候&#xff0c;…...

MVC和MVVM这两种设计模式的区别

一、MVC和MVVM是什么&#xff1f; MVC是Model-View-Controller的简写&#xff0c;Model就是模型&#xff0c;对应后端数据&#xff0c;View就是视图对应用户界面&#xff0c;Controller就是控制器&#xff0c;对应页面的业务逻辑。 MVC的工作机制原理就是&#xff0c;用户操作…...

淘宝app端商品详情数据采集(商品价格,商品库存,商品销量,商品优惠券)

在淘宝App端采集商品详情数据&#xff0c;包括商品价格、库存、销量以及优惠券信息&#xff0c;可以通过多种方式实现。以下是几种常见的方法&#xff1a; 使用淘宝开放平台API&#xff1a; 淘宝开放平台提供了一系列API接口&#xff0c;这些接口允许开发者获取淘宝商品的详细…...

第42篇:随机存取存储器(RAM)模块<一>

Q&#xff1a;本期开始我们分期介绍随机存取存储器&#xff08;RAM&#xff09;模块及其设计实现方法。 A&#xff1a;随机存储器RAM&#xff0c;即工作时可以随时从一个指定地址读出数据&#xff0c;也可以随时将数据写入一个指定的存储单元。 DE2-115开发板上的Cyclone IV …...

在Java中实现记录1000万用户连续7天登录的功能,可以使用Redis的Bitmap来跟踪每个用户的登录状态

在Java中实现记录1000万用户连续7天登录的功能&#xff0c;可以使用Redis的Bitmap来跟踪每个用户的登录状态。以下是一个简化的Java示例&#xff0c;使用了Jedis库作为Redis的Java客户端。 首先&#xff0c;确保你已经在项目中添加了Jedis的依赖。如果你使用Maven&#xff0c;…...

深入探讨VIVE OpenXR:为Unity开发者的全面指南

随着虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术的迅速发展&#xff0c;开发者们对于能够简化和优化沉浸式应用开发的工具需求日益增长。HTC Vive 作为行业内的领先品牌&#xff0c;其最新推出的 VIVE OpenXR 插件为Unity开发者提供了一个强大…...

【Altium Designer 20 笔记】PCB线宽与过孔尺寸

电源线&#xff1a;40mil1A&#xff08;一般翻倍给&#xff09;,地线比电源线粗一点即可&#xff1b;信号线&#xff1a;10-15mil 一、线宽 市电的火线和零线&#xff1a;80-100mil12V /24V 20mil~60mil 5V 20-30mil 3V 20-30mil GND 越宽越好20-30mil普通信号线 10mil-15mil…...

基于java的社区生活超市管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…...

51单片机入门_江协科技_27~28_OB记录的自学笔记_AT24C02数据存储秒表

27. AT24C02(I2C总线) 27.1. 存储器介绍 27.2. 存储器简化模型介绍&#xff0c;存储原理 27.3. AT24C02介绍 •AT24C02是一种可以实现掉电不丢失的存储器&#xff0c;可用于保存单片机运行时想要永久保存的数据信息 •存储介质&#xff1a;E2PROM •通讯接口&#xff1a;I2…...

LeetCode-热题100:169. 多数元素

题目描述 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a; nums [3,2,3] 输出&#xf…...

汽车维修类中译英的英语翻译

近年来&#xff0c;随着全球化的加速和汽车市场的不断扩大&#xff0c;汽车维修领域的交流与合作也日益频繁。汽车维修类中译英的英语翻译在汽车行业中扮演着至关重要的角色。那么&#xff0c;针对汽车维修类翻译&#xff0c;中译英的英语翻译有何技巧&#xff1f; 业内人士指出…...

java中的List,ArrayList和LinkedList集合

List集合&#xff1a; void add(int index, E element) Inserts the specified element at the specified position in this list (optional operation). 在此集合中的指定位置插入指定元素 E remove(int index) Removes the element at the specified position in this list (…...

RESTful API与Web应用程序构建:原理与实践

在现代Web开发中&#xff0c;RESTful API已经成为构建应用程序的核心组件之一。RESTful API不仅为前后端分离的开发模式提供了强有力的支持&#xff0c;还使得不同服务和应用之间的数据交互变得简单高效。本文将深入探讨RESTful API的原理&#xff0c;并展示如何使用它来构建We…...

毕业设计资料网站有哪些/淘宝产品关键词排名查询

作者 | 李林锋 编辑 | 小智 《Netty 进阶之路》、《分布式服务框架原理与实践》作者李林锋深入剖析通信层和 RPC 调用的异步化。李林锋在 InfoQ 上开设了 Netty 专题持续出稿&#xff0c;感兴趣的同学可以持续关注。后台回复关键词&#xff1a;Netty&#xff0c;可以获取专栏链…...

网站建设服务介绍/桂林市天气预报

​作者&#xff1a;王悦 爱可生研发团队成员&#xff0c;负责数据库管理平台相关项目的开发和故障排查&#xff0c;好奇 MySQL 技术原理及各类数据库实现方案。 本文来源&#xff1a;转载自公众号-图解 MySQL *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&…...

做动画人设有哪些网站可以借鉴/营销策略分析

这种组合方式&#xff0c;依赖的是JUnit和Spring容器&#xff0c;进行对象注入&#xff0c;而Mockit的作用是在spring生成的bean中&#xff0c;注入mock对象。相当于使用了Mockito的一部分功能。1、首先导入包&#xff1a;<dependencies>2、被测试类production-class&…...

摄像机怎么在自己家网站做直播/公司做网络推广怎么做

只需要在工程上右键&#xff0c;”Add Frameworks support...“&#xff0c;然后选择Maven即可转载于:https://www.cnblogs.com/qiang-cnblog/p/9802483.html...

wordpress 文章页 模板/广州网站快速优化排名

某天使用cmd窗口进入mysql&#xff0c;输入命令如下 C:\Users\xxx>net start mysql发生系统错误 5。 拒绝访问。 C:\Users\xxx>mysql -u root -pEnter password: ****ERROR 2003 (HY000): Cant connect to MySQL server on localhost:3306 (10061) 这个ERROR怎么解决…...

可不可以免费创建网站/建筑设计网站

JAVA问题总结13-从键盘输入并输出&#xff0c;加从键盘输入三个数&#xff0c;输出并按从大到小排序。 package java2; /*** 这是一个从键盘输入并输出的一个test* author xubo601450868* time 2015.8.26* version v1.0* */ import java.util.Scanner; public class test4 {pub…...