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;
}

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

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

相关文章

Spring Batch

Spring是一个开放源代码的J2EE应用程序框架&#xff0c;由Rod Johnson发起&#xff0c;是针对bean的生命周期进行管理的轻量级容器&#xff08;lightweight container&#xff09;。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题&#xff0c;提供了功能强大IOC、AOP及W…

物联网数据集CIC IoT Dataset 2023和(TON_IoT)数据集以及网络数据集UNSW-NB15 Dataset:可单卖(si聊有优惠)

数据集描述如下&#xff1a; CIC IoT Dataset 2023是由加拿大网络安全研究所提供的一个数据集&#xff0c;旨在促进物联网&#xff08;IoT&#xff09;环境中大规模攻击的安全分析应用程序的开发。该数据集包含33种攻击&#xff0c;分为7类&#xff0c;包括DDoS、DoS、侦察、基…

mysql报错-mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止和数据恢复

启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。 我的mysql版本是8.0.18 系统&#xff1a;win10 如何安装mysql&#xff0c;可以看我这一篇文章&#xff1a;mysql的安装 ---必会 - bigbigbrid - 博客园 (cn…

常见分类算法详解

在机器学习和数据科学的广阔领域中&#xff0c;分类算法是至关重要的一环。它广泛应用于各种场景&#xff0c;如垃圾邮件检测、图像识别、情感分析等。本文将深入剖析几种常见的分类算法&#xff0c;帮助读者理解其原理、优缺点以及应用场景。 一、K近邻算法&#xff08;K-Nea…

Android ParcelFileDescriptor实现进程间通信

需求 一个通信通道&#xff0c;实现跨进程的的Socket网络通信。 具体的通信通道的图如下。 需求分析 我们需要一个进程一直做通信通道的事情&#xff0c;业务进程把数据通过进程间通信交给通信进程。通信进程通过Socket通道将数据发给网络另外一端的通信进程。接收端的通信进…

对常见FTP客户端/服务器的调查与分析

前言 主要是想看看常见的服务器和客户端是如何实现协议中要求的功能的&#xff0c;。 比如RF959要求的记录结构&#xff08;Record Structure&#xff09;、页结构&#xff08;Page Structure&#xff09;、Block Mode、Compress Mode&#xff0c;看起来就很抽象。 实测发现…

vue 上传csv文件

index---------主页面&#xff08;图1&#xff09; form-----------子页面&#xff08;图2&#xff09; index.vue /** 重点&#xff01;&#xff01;&#xff01;&#xff01; * 获取表单组件传递的信息&#xff0c;传给后端接口 * param {从form表单传递的数据} datas * Fi…

【进阶六】Python实现SDVRPTW常见求解算法——离散粒子群算法(DPSO)

基于python语言&#xff0c;采用经典离散粒子群算法&#xff08;DPSO&#xff09;对 带硬时间窗的需求拆分车辆路径规划问题&#xff08;SDVRPTW&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. …

关于运行阿里云直播Demo报的错

flutter --version dart --version 如何使用Flutter框架推流_音视频终端 SDK(Apsara Video SDK)-阿里云帮助中心MediaBox音视频SDK下载指南_音视频终端 SDK(Apsara Video SDK)-阿里云帮助中心 终端输入 dart pub --trace get --no-precompile 打印详细报错信息 详细咨询…

不再写满屏import导入

密密麻麻的import语句不仅仅是一种视觉上的冲击&#xff0c;更是对代码组织结构的一种考验。 我们是如何做到让import“占领满屏“的了&#xff0c;又该如何优雅地管理这些import语句呢&#xff1f; 本文将从产生大量import语句的原因、可能带来的问题以及如何优化和管理impo…

最优算法100例之47-从尾到头打印单链表

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 从尾到头打印单链表 题解报告 方法1:头插法逆置单链表然后依次打印;注意此处是不带头结点的单链表,带头节点的操作稍微有…

Linux 网络排查命令

端口相关服务检查 netstat -ntpl|grep [$Port]说明&#xff1a;[$Port]为相应的端口号。 0.0.0.0代表本机上可用的任意地址。比如&#xff0c;0.0.0.0:80表示本机上所有地址的80端口。 tcp 0.0.0.0:80表示在所有的可用接口上监听TCP的80端口 如果返回结果为空&#xff0c;说明…

Python | Leetcode Python题解之第29题两数相除

题目&#xff1a; 题解&#xff1a; class Solution:def divide(self, dividend: int, divisor: int) -> int:INT_MIN, INT_MAX -2**31, 2**31 - 1# 考虑被除数为最小值的情况if dividend INT_MIN:if divisor 1:return INT_MINif divisor -1:return INT_MAX# 考虑除数为…

Spring ORM

Spring Data JPA 作为Spring Data 中对于关系型数据库支持的一种框架技术,属于 ORM 的一种,通过得当的使用,可以大大简化开发过程中对于数据操作的复杂度。 Java里面写的一段DB操作逻辑,是如何一步步被传递到 DB 中执行了的呢?为什么 Java 里面可以去对接不同产商的 DB 产…

仿真测试平台设计资料:921-6U CPCI卫星接口仿真测试平台

6U CPCI卫星接口仿真测试平台 一、设备概述 卫星接口仿真测试平台基于6U CPCI的结构&#xff0c;包含信号接口前板、后板&#xff0c;计算机主板、机箱、电源等硬件。硬件设计包括&#xff1a;信号接口前板、后板&#xff08;直接遥测遥控、串行RS422、LVDS&#xff0c;模拟量输…

Unity类银河恶魔城学习记录12-13 p135 Merge Skill Tree with Dogge skill源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili​​​​​​​ Inventory.cs using System.Collections.Generic; using Un…

基于springboot实现房屋租赁管理系统设计项目【项目源码+论文说明】

基于springboot实现房屋租赁管理系统设计演示 摘要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对房屋租赁信息管理混乱&…

[尚硅谷flink] 检查点笔记

在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 文章目录 11.1 检查点11.1.1 检查点的保存1&#xff09;周期性的触发保存2&#xff09;保存的时间点3&#xff09;保存的具体流程 11.1.2 从检查点恢复状态11.1.3 检查点算法…

解读宁波TISAX:保障企业安全的关键

&#x1f352;宁波TISAX&#xff0c;❣️作为信息安全领域的&#x1f92d;重要认证体系&#xff0c;为企业&#x1f41e;提供了强大的&#x1f349;安全保障。&#x1f40b;TISAX&#xff0c;&#x1f697;全称为Trusted Information Security Assessment Exchange&#xff0c;…

【树哈希】CF1182D Complete Mirror

CF1182D - Complete Mirror Description 给定一个 n n n 个点的无根树&#xff0c;求一个树根 r o o t root root,使得对于任意两个节点 v 1 , v 2 v_1,v_2 v1​,v2​&#xff0c;若满足 d i s t ( v 1 , r o o t ) d i s t ( v 2 , r o o t ) dist(v_1,root)dist(v_2,ro…