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

news2024/12/27 11:53:29

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;
	else
		return 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.coloradmin.cn/o/1595447.html

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

相关文章

JCR1区局部强化优化器(PRO),原理详解,MATLAB代码免费获取

局部强化优化器&#xff08;Partial Reinforcement Optimizer, PRO&#xff09;代表了进化计算领域的一项创新突破&#xff0c;它是一种全新设计的进化优化算法。该算法的开发灵感来源于心理学中的进化学习和训练理念&#xff0c;特指为一个被称为局部强化效应&#xff08;Part…

特征匹配方法总结梳理

特征匹配在视觉定位、同时定位和映射(SLAM)、图像拼接等方面都有应用 Proj:202404 CMC-R(R.W.--Reference) 南京 河海大学 资助丰富Fundamental Research Funds of China for the Central Universities, Grant/Award Number: B230205048; Jiangsu Higher Education Reform …

day10 | 栈与队列 part-2 (Go) | 20 有效的括号、1047 删除字符串中的所有相邻重复项、150 逆波兰表达式求值

今日任务 20 有效的括号 (题目: . - 力扣&#xff08;LeetCode&#xff09;)1047 删除字符串中的所有相邻重复项 (题目: . - 力扣&#xff08;LeetCode&#xff09;)150 逆波兰表达式求值 (题目: . - 力扣&#xff08;LeetCode&#xff09;) 20 有效的括号 题目: . - 力扣&…

【QT入门】Qt自定义控件与样式设计之鼠标相对、绝对位置、窗口位置、控件位置

往期回顾 【QT入门】 Qt自定义控件与样式设计之QSlider用法及qss-CSDN博客 【QT入门】Qt自定义控件与样式设计之qss的加载方式-CSDN博客 【QT入门】Qt自定义控件与样式设计之控件提升与自定义控件-CSDN博客 【QT入门】Qt自定义控件与样式设计之鼠标相对、绝对位置、窗口位置、控…

YOLOV5 + 双目相机实现三维测距(新版本)

文章目录 YOLOV5 双目相机实现三维测距&#xff08;新版本&#xff09;1. 项目流程2. 测距原理3. 操作步骤和代码解析4. 实时检测5. 训练6. 源码下载 YOLOV5 双目相机实现三维测距&#xff08;新版本&#xff09; 本文主要是对此篇文章做一些改进&#xff0c;以及解释读者在…

MySQL 实例employee表综合查询

目录 表关系图&#xff1a; 例题&#xff1a; 1.查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。 2.列出所有员工的姓名及其直接上级的姓名。 3.列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。 4.列出部门名称和这些部门的员工信…

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

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

AI大模型探索之路-提升篇2:一文掌握AI大模型的核心-注意力机制

目录 前言 一、注意力机制简介 二、注意力机制的工作原理 三、注意力机制的变体 1、自注意力&#xff08;Self-Attention&#xff09; 2、双向注意力&#xff08;Bidirectional Attention&#xff09; 3、多头注意力&#xff08;Multi-Head Attention&#xff09; ​4、…

缺失msvcr110.dll要怎么处理?快捷的修复msvcr110.dll方法

当你在使用电脑进行工作或娱乐时&#xff0c;可能会突然遇到一个错误提示&#xff1a;“程序无法启动&#xff0c;因为电脑中缺失msvcr110.dll”。这样的情况不仅会打断你的活动&#xff0c;还可能带来一定程度的不便。面对这个在Windows操作系统中相对常见的问题&#xff0c;其…

执行npm命令一直出现sill idealTree buildDeps怎么办?

一、问题 今天在运行npm时候一直出项sill idealTree buildDeps问题 二、 解决 1、网上查了一下&#xff0c;有网友说先删除用户界面下的npmrc文件&#xff08;注意一定是用户C:\Users\{账户}\下的.npmrc文件下不是nodejs里面&#xff09;&#xff0c;进入到对应目录下&#x…

汇编语言知识点整理(应付考试专用,想学习找其他的)

1 基础知识 1.1 信息在计算机内部的表示和存储 1.1.1 信息存储的基本概念 信息在计算机内部是以二进制数据的形式在存储器中存取的。介绍两个基本概念&#xff1a; 位&#xff08;Bit&#xff09; 计算机中最小的数据单位&#xff0c;一位有0、1两状态。Bit是计算机中最小…

【opencv】示例-stiching.cpp 图像拼接

#include "opencv2/imgcodecs.hpp" // 导入opencv图像编码功能库 #include "opencv2/highgui.hpp" // 导入opencv高层用户界面功能库 #include "opencv2/stitching.hpp" // 导入opencv图像拼接功能库#include <iostream> // 导入输入输出…

聚观早报 | 哪吒L上市定档;iPhone 16最新高清渲染图

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 4月10日消息 哪吒L上市定档 iPhone 16最新渲染图 华为太空表与问界M9联动 蔚来万里长城加电风景线正式贯通 Red…

传统图机器学习的特征工程-节点

传统图机器学习&#xff08;人工特征工程机器学习&#xff09; 结点&#xff0c;连接&#xff0c;子图都可以有特征 特征分类&#xff1a; 属性特征&#xff1a;本身存在的特征 连接特征&#xff1a;在图中和其他结点连接的特征 传统的机器学习模型&#xff1a; 特征工程&a…

车联网大数据与人工智能一体化:开启智慧出行新时代

随着物联网技术的快速发展&#xff0c;车联网已经成为了汽车行业的重要趋势之一。而在车联网的发展过程中&#xff0c;大数据和人工智能的应用也日益成为关键因素。本文将探讨如何将大数据与人工智能一体化应用于车联网&#xff0c;以实现智慧出行的目标。 尤其是近来国内的华为…

二叉树层序遍历(返回一个不定长二维数组)

力扣_二叉树的层序遍历 题目中要求我们返回一个二维数组 List是一个接口&#xff0c;List<List<Integer>>就代表&#xff1a; 在List这个类型的数组中&#xff0c;存储着类型为List<Integer>类型的元素&#xff0c;而List<Integer>又是一个存储着Int…

【Unity】Feature has expired(H0041)

【背景】 在一台很久不用的电脑上更新了个人License&#xff0c;并导入了云项目&#xff0c;打开时却报错&#xff1a; 【分析】 网上查说要删缓存等等&#xff0c;试过都不行。重装Hub也不行。 这种环境类型的原因很难从信息入手定位错误。 所以我自己检查项目上有什么问题…

【c 语言】函数前面的返回类型

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;C语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&…

电商技术揭秘二十四:无人仓储与自动化技术

相关系列文章 电商技术揭秘一&#xff1a;电商架构设计与核心技术 电商技术揭秘二&#xff1a;电商平台推荐系统的实现与优化 电商技术揭秘三&#xff1a;电商平台的支付与结算系统 电商技术揭秘四&#xff1a;电商平台的物流管理系统 电商技术揭秘五&#xff1a;电商平台…

【Web】WUSTCTF 2020 部分题解

目录 [WUSTCTF 2020]朴实无华 [WUSTCTF 2020]CV Maker [WUSTCTF 2020]颜值成绩查询 [WUSTCTF 2020]朴实无华 访问/robots.txt 访问/fAke_f1agggg.php 抓包看响应头看到/f14g.php 访问/f14g.php 简单的bypass&#xff0c;不解释了 payload: ?num2019e1&md50e2159620…