C语言基础习题讲解

news2025/1/6 20:17:01

C语言基础习题讲解

  • 运算符
  • 判断
  • 简单循环

在这里插入图片描述

运算符

1. 设计一个程序, 输入三位数a, 分别输出个,十,百位.
(0<a<1000)

样例输入:
251
样例输出:
2
5
1

#include <stdio.h>
int main()
{
	int input = 0;
	int x = 0;
	int y = 0;
	int z = 0;
	scanf("%d", &input);
	x = (input%10) % 100;
	y = (input / 10)%10;
	z = input / 100;
	printf("个位:%d\n", x);
	printf("十位:%d\n", y);
	printf("百位:%d\n", z);
	return 0;
}

2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.
(0<l<1000, PI取3.14, 输出结果保留两位小数)

样例输入:
3
样例输出:
1.93

#include <stdio.h>
int main()
{
	float l = 0.0;
	scanf("%f", &l);
	//求正方形面积
	float sq = 0.0;
	sq = l * l; 
	// 求其圆面积
	float pi = 3.14;
	float s = 0.0;
	s = pi * ((l/2) * (l/2));
	// 求其差值
	float cha = 0.0;
	cha = sq - s;
	printf("%.2f\n", cha);
	return 0;
}

判断

1. 设计一个程序, 输入a,b,c三个整数, 输出最大的数.
(MIN_INT < a,b,c < MAX_INT)

样例输入:
1 3 2
样例输出:
3

#include <stdio.h>
int main()
{
	// 输入三个整数,输出其最大值
	int a = 0, b = 0, c = 0;
	scanf("%d %d %d", &a, &b, &c);
	int z = 0;
	z = ((a >= b ? a : b) > c) ? (a >= b ? a : b) : c;
	printf("%d", z);
	return 0;
}

2. 打分系统
在某次考试时, 学生的提交成绩惨不忍睹
学长为了让大家及格可谓煞费苦心, 他苦思三天三夜, 终于想出了一套打分方案:
正确数量在0~10时, 每题6分
正确数量在11~20时, 第11~20题, 每题2分
正确数量在21~40时, 第21~40题, 每题1分
但因为需要计分的作业太多了, 希望你能帮帮云海学长, 实现该计分程序.
输入做对的题目数量n, 输出得分.
(0<=n<=40)

样例输入:
23
样例输出:
83

#include <stdio.h>
int main()
{
	int count = 0, score = 0;
	scanf("%d", &count);
	if (count <= 10)
	{
		score = count * 6;
		printf("分数为:%d", score);
	}
	else if (count <= 20)
	{
		score = 10 * 6 + (count - 10) * 2;
		printf("分数为:%d", score);
	}
	else if (count <= 40)
	{
		score = 10 * 6 + (count - 10) * 2 + (count - 20) * 1;
		printf("分数为:%d", score);
	}
	else
	{
		printf("请输入的值范围在0~40之内");
	}
	return 0;
}

3. 程序员学长上班
程序员学长在上班途中, 可以选择走路和骑车两种方式
但他不清楚哪种方式比较快, 因为骑车需要找车, 开锁, 停车 需要耽搁很多时间.
设找到自行车, 开锁, 骑上自行车需要花27秒, 停车需要花23秒
步行每秒1.2米, 骑车每秒3.0米
给出程序员学长距离公司的距离, 请问是骑车快还是走路快.
输入一个整数n, 表示到公司的距离
如果骑车快, 输出"骑车"
如果走路快, 输出"走路"
如果一样快, 输出"一样快"

样例输入:
60
样例输出:
走路

#include <stdio.h>
int main()
{
	int n = 0;// n为距离
	scanf("%d", &n);
	// 骑车
	float bike = 0;
	float v1 = 3.0;
	float t1 = 0.0;
	t1 = n / 3.0 + 27 + 23;
	// 走路
	float walk = 0.0;
	float v2 = 1.2;
	float t2 = 0.0;
	t2 = n / 1.2;
	// 判断
	if (t1 > t2)
	{
		printf("走路");
	}
	else if (t1 < t2)
	{
		printf("骑车");
	}
	else
	{
		printf("一样快");
	}
	return 0;
}

简单循环

1. 求平均年龄
学校有学长若干名, 给出每个学长的年龄, 求该学校学长的平均年龄, 保留小数点后两位
输入:
第一行: 整数n(1<n<100), 表示人数
之后n行: 每行一个整数a(15<a<55), 表示第n个学长的年龄
输出:
一个浮点数, 保留两位小数. 表示01星球学长平均年龄

样例输入:
3
18
18
17
样例输出:
17.67

#include <stdio.h>
int main()
{
	int age = 0;
	int n = 0;
	float sum = 0;
	int i = 0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		scanf("%d\n", &age);
		sum += age;
	}
	float avg = 0.0;
	avg = sum / n;
	printf("%.2f",avg);
	return 0;
}

2. 张三上课时走神, 在作业上写了很多222222222222222 结果被老师发现了
张三连忙掩饰说自己在算2+22+222+2222+22222的和,
老师很欣慰, 问他算出来没有
张三很困扰, 因为草稿纸写满了2 已经不够用了
大家快帮帮张三吧
设计一个程序, 输入n和a 求Sn
Sn = a + aa + aaa + … + aaaaa(n个a)

输入: 两个整数n, a
(1<n<9), (1<=a<=9)
输出:
Sn的值
样例输入:
5 2
样例输出:
24690
样例解析: Sn = 2 + 22 + 222 + 2222 + 22222 = 24690

#include <stdio.h>
#include <math.h>
int main()
{
	int a = 0, n = 0;
	scanf("%d %d", &n, &a);
	int i = 0;
	int Sn = 0;
	int mid = a;
	for (i = 1; i <= n; i++)
	{
		if (i == 1)
		{
			Sn = a;
		}
		else
		{
			mid = a + mid * pow(10, 1);
			Sn += mid;
		}
	}
	printf("%d", Sn);
	return 0;
}

3. super家养了一对刚出生的兔子, 兔子出生第2月后每月都会生一对小兔子, 小兔子出生后同样第2月后也
会每月生一对兔子
super想知道 如果兔子不死 n月后家里会有多少对兔子
设计一个程序: 输入n, 输出兔子数量
(2<n<30)

样例输入: 7
样例输出:13
样例输入: 12
样例输出: 144

// 数兔子
void Demo33() {
//--变量声明--
// 用户输入值 月数
int n;
// 用于存储当月 以及前1,2个月的兔子数
int m1 = 1, m2 = 1, m3 = 0;;
//--接收输入--
scanf_s("%d", &n);
//--数据处理--
//前两个月不生兔子
// 每个月的兔子数量 = 上一个月兔子数 + 上上一个月兔子数
n -= 2;
while (n--) {
m3 = m1 + m2;
m1 = m2;
m2 = m3;
}
//--输出--
printf("%d", m3);
}

4. 程序员学长为了探究神秘的物理现象, 从高楼抛下一个弹球 但由于高空抛物被警察抓了, 请各位小伙伴完
成他未完成的心愿

小球从某一高度落下,每次落地后反跳回原来高度的一半,再落下。
输入弹球的初始高度M和回弹次数N, 输出弹球第N次回弹后的高度 和达到该高度后所经过的距离(保留两位小
数)
(0<M<1000, 0<N<50)

样例输入
1000 5
样例输出
31.25
2906.25

#include <stdio.h>
int main()
{
	int i = 0,  n = 0;
	double h = 0.0, H = 0.0,m=0.0 ;
	scanf("%lf %d", &m, &n);
	for (i = 0; i < n; i++)
	{
        m = m / 2;
		H += m*2;
	}
	H = H + 1000 - m;
	printf("%.2f\n%.2f", m, H);
	return 0;
}

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

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

相关文章

chatgpt赋能python:Python三次方函数介绍

Python三次方函数介绍 Python是一种流行的编程语言&#xff0c;用于各种应用程序&#xff0c;包括数据分析和机器学习。Python三次方函数是Python语言中的一个内置函数&#xff0c;可用于计算一个数字的三次方。本文将介绍Python三次方函数的相关内容并提供一些示例。 Python…

chatgpt赋能python:Python三个数相加的方法与应用

Python三个数相加的方法与应用 在现代编程语言中&#xff0c;Python是一个非常流行的语言。Python语言的的特点是易学易用、功能强大、语法简洁等。在Python中&#xff0c;运算也是非常方便的&#xff0c;特别是对于数值计算。本文将讨论如何在Python中实现三个数的加法运算&a…

LeetCode高频算法刷题记录11

文章目录 1. 最大正方形【中等】1.1 题目描述1.2 解题思路1.3 代码实现 2. 在排序数组中查找元素的第一个和最后一个位置【中等】2.1 题目描述2.2 解题思路2.3 代码实现 3. 搜索二维矩阵 II【中等】3.1 题目描述3.2 解题思路3.3 代码实现 4. 翻转二叉树【简单】4.1 题目描述4.2…

POWERLINK协议在stm32单片机+w5500移植成功经验分享

连续折腾了多个晚上&#xff0c;又趁周末又花了一天时间&#xff0c;终于把powerlink协议移植成功到单片机上啦。本想放弃&#xff0c;但想了下不管我能不能用上&#xff0c;结个尾吧&#xff0c;分享给有需要的人。放弃并不难&#xff0c;但坚持一定很酷。为了移植测试这个协议…

Arcgis小技巧【13】——和数据统计相关的各种工具

在Arcgis中可以通过属性表中字段的【统计】功能或使用统计相关的工具对属性表进行数据统计。 在Arcgis工具箱中有一组【统计分析】工具集&#xff0c;不仅包含对属性数据执行标准统计分析&#xff08;例如平均值、最小值、最大值和标准差&#xff09;的工具&#xff0c;也包含…

表的增删改查

目录 表的增删改查create(创建)单行数据 全列插入多行数据 指定列插入插入否则更新替换 retrieve(读取)SELECT 列全列查询指定列查询查询字段为表达式为查询结果指定别名结果去重 WHERE 条件英语不及格的同学及英语成绩 ( < 60 )&#xff08;<&#xff09;语文成绩在 […

个人博客-SpringBoot+Vue3项目实战(6)- 二次封装Axios

目录 前言新建axiosUtil.js 文件基本配置统一URL.env文件与环境变量示例参考资料 请求头超时时间 request 拦截器response 拦截器统一Api管理测试 前言 在上文中&#xff0c;我们封装了统一的后端数据返回结果&#xff0c;有了标准化的接口数据&#xff0c;我们就可以针对它&a…

【Linux性能优化】你知道什么是平衡负载么

什么是平衡负载 首先大家思考一下&#xff0c;当你发现自己的服务变慢时&#xff0c;你会首先使用什么命令来排查&#xff1f;我通常做的第一件事&#xff0c;就是执行top或者uptime命令来了解系统的负载情况。比如像下面这样&#xff0c;我在命令行里输入top命令&#xff0c;…

Springboot +spring security,创建SpringSecurity项目

一.简介 搭建第一个Spring Security项目&#xff0c;看看如何利用Spring Security来保护Java Web项目。 二. 创建SpringSecurity项目 我们这边使用idea进行创建。 2.1创建一个基于Maven的Project项目。 2.2设置项目名称和存储位置 2.3添加项目依赖 在pom.xml文件中&#x…

LeetCode 128 最长连续序列

LeetCode 128 最长连续序列 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/longest-consecutive-sequence/description/ 博主Github&#xff1a;https://github.com/GDUT-Rp/LeetCode 题目&#xff1a; 给定一个未排…

【双系统ubuntu安装指引】配置一个顺手的深度学习环境

文章目录 前言1. 前置安装 前言 版本&#xff1a;ubuntu20.04 桌面版 normal安装 第一件事&#xff0c;切换源&#xff1a;换成阿里源 https://blog.csdn.net/u010092716/article/details/125832062 第二件事输入法安装&#xff0c;指引在这里 https://blog.csdn.net/q54434431…

JMeter性能测试:JMeter多用户并发模拟及压测结果分析

目录 JMeter设置 JMeter线程组 JMeter压测实例 View Results Tree Aggregate Report 命令行方式执行压测 jtl文件解析 JMeter多用户并发模拟 JMeter设置 多用户并发数的多少与计算机内存有关&#xff0c;设置 jmeter.bat (Windows) 或者 jmeter.sh (Linux)&#xff1a;…

chapter6:SpringBoot与Docker

1. 简介 Docker是一个开源的轻量级应用容器引擎, 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到Linux机器中实现虚拟化。(沙箱机制) Docker支持将软件编译成一个镜像&#xff1b;然后在镜像中各种软件做好配置&#xff0c;将镜像…

《数据库系统概论》期末考试手写笔记汇总+考试注意事项+反思(超全整理总结!!!)

&#xff08;一&#xff09;期末考试手写笔记汇总 笔记内容为期末考试前整理&#xff08;结合测试题PPT作业题目课本&#xff09; 很多内容为纯手写&#xff0c;非常的全乎&#xff0c;预祝你期末可以考个好成绩&#x1f339; 第二章第三章&#xff08;25分&#xff09; (…

JS 深度克隆的实现方法

方法一&#xff1a;正统做法&#xff08;扩展性高&#xff0c;推荐&#xff09; function test() { this.a 1; this.b 2; } test.prototype.c 3; // 原型上的属性 const obj new test(); console.log("原对象", obj); console.log("克隆后的对象", dee…

Flume系列:案例-Flume负载均衡和故障转移

目录 Apache Hadoop生态-目录汇总-持续更新 逻辑&#xff1a; 2&#xff1a;案例需求-实现故障转移 3&#xff1a;实现步骤&#xff1a; 2.1&#xff1a;实现flume1.conf 2.2&#xff1a;实现flume2.conf - 端口4141 2.3&#xff1a;实现flume3.conf - 端口4142 3&#…

NIO编程总结

NIO&#xff08;Non-blocking I/O&#xff0c;在Java领域&#xff0c;也称为New I/O&#xff09;&#xff0c;是一种同步非阻塞的I/O模型&#xff0c;也是I/O多路复用的基础&#xff0c;已经被越来越多地应用到大型应用服务器&#xff0c;成为解决高并发与大量连接、I/O处理问题…

【如何在Java中使用ForkJoinPool】

目录 背景1.使用ForkJoinPool的线程池2.工作窃取算法3.ForkJoinPool的主要类4.使用递归操作5.资源任务6.何时使用ForkJoinPool7.总结 背景 使用ForkJoinPool去分解计算密集型任务且且并行地执行他们以获得更好的Java应用程序的性能。 ForkJoinPool是一个功能强大的Java类&…

程序员进银行科技岗——简单总结

银行的分类 Top0—中央银行&#xff1a; 仅有一家&#xff0c;即中国人民银行。 Top1—政策性银行&#xff1a; 国家开发银行、中国进出口银行、中国农业发展银行 Top2—国有商业银行&#xff1a; 国有六大行&#xff08;中国工商银行、中国农业银行、中国银行、中国建设…

【计算机网络】前后端分离,HTTP协议,网络分层结构,TCP

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 前后端分类HTTP协议HTTP组成HTTP的版本HTTP的请求方式HTTP请求头HTTP 响应状态码 AJAX发送请求 …