C语言经典例题-9

1.简单计算器

题目描述:

KK实现一个简单计算器,实现两个数的“加减乘除”运算,用户从键盘输入算式“操作数1运算符操作数2”,计算并输出表达式的值,如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalidoperation!”。当运算符为除法运算,即“/”时。如果操作数2等于0.0,则输出“Wrong!Division by zero!”

输入描述:

多组输入,一行,操作数1运算符操作数2(其中运算符号包括四种:+、-、*、/)。

输出描述:

针对每组输入,输出为一行。如果操作数和运算符号均合法,则输出一个表达式,操作数1运算符操作数2=运算结果,各数小数点后均保留4位,数和符号之间没有空格。如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。当运算符为除法运算,即“/”时。如果操作数2等于0.0,则输出“Wrong!Division by zero!”。

输入:

1.0+3.0

1.0;4.0

44.0/0.0

输出:

1.0000+3.0000=4.0000

Invalid operation!

Wrong!Division by zero!

参考代码:

#include <stdio.h>int main()
{double x1 = 0;double x2 = 0;char ch = 0;while (scanf("%lf%c%lf", &x1, &ch, &x2) != EOF){switch (ch){case '+':printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1+x2);break;case '-':printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1- x2);break;case '*':printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1 * x2);break;case '/':if (x2 == 0.0){printf("Wrong!Division by zero!\n");break;}printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1 / x2);break;default:printf("Invalid operation!\n");break;}}return 0;
}
2.获得月份天数

题目描述:

KK想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。

输入描述:

多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。

输出描述:

针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。

输入:

2008 2

输出:

29

参考代码:

#include <stdio.h>int main()
{int year = 0;int month = 0;int days[12] = { 31,28,31,30,31,30,31,31,30,31,30,31};while (scanf("%d %d", &year, &month) != EOF){int day = days[month - 1];if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){if (month == 2){day += 1;}}printf("%d\n", day);}return 0;
}
3.HTTP状态码

题目描述:

KK访问网站,得到HTTP状态码,但他不知道什么含义,BoBo老师告诉他常见HTTP状态码:

200(OK,请求已成功),202(Accepted,服务器已接受请求,但尚未处理。)400(Bad

Request,请求参数有误),403(Forbidden,被禁止),404(Not Found,请求失败),

500(Internal Server Error,服务器内部错误),502(Bad Gateway,错误网关)。

输入描述:

多组输入,一行,一个整数(100~600),表示HTTP状态码。

输出描述:

针对每组输入的HTTP状态,输出该状态码对应的含义,具体对应如下:

200-OK

202-Accepted

400-Bad Request

403-Forbidden

404-Not Found

500-Internal Server Error

502-Bad Gateway

输入:

200

输出:

OK

参考代码:

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){switch (n){case 200:printf("OK\n");break;case 202:printf("Accepted\n");break;case 400:printf("Bad Request\n");break;case 403:printf("Forbidden\n");break;case 404:printf("Not Found\n");break;case 500:printf("Internal Server Error\n");break;case 502:printf("Bad Gateway\n");break;default:break;}}
}
4. 图像相似度

题目描述:

给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。若两幅图像在相同位置上的像素

点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。

输入描述:

第一行包含两个整数m和n,表示图像的行数和列数,用单个空格隔开。1≤m≤100, 1≤n≤100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。

输出描述:

一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。

输入:

3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1  

输出:

44.44

参考代码:

#include <stdio.h>int main()
{int m = 0;int n = 0;int a[100][100] = { 0 };int b[100][100] = { 0 };float count = 0.0;int i = 0;int j = 0;scanf("%d %d", &m, &n);for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &a[i][j]);}}for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &b[i][j]);}}for (i = 0; i < m; i++){for (j = 0; j < n; j++){if (a[i][j] == b[i][j]){count++;}}}printf("%.2f\n", 100.0 * count / (m*n));return 0;
}
5.有序序列插入一个数

题目描述:

有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。

输入描述:

第一行输入一个整数(0≤N≤50)。第二行输入N个升序排列的整数,输入用空格分隔的N个整数。第三行输入想要进行插入的一个整数。

输出描述:

输出为一行,N+1个有序排列的整数。

输入:

5

1 6 9 22 30

8

输出:

1 6 8 9 22 30

参考代码:

    #include <stdio.h>int main(){int n = 0;int m = 0;int arr[50] = { 0 };int i = 0;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &arr[i]);}scanf("%d", &m);for (i = n; i > 0; i--){if (arr[i-1] > m){arr[i] = arr[i - 1];}else{arr[i] = m;break;}}if (i == 0){arr[0] = m;}for (i = 0; i < n + 1; i++){printf("%d ", arr[i]);}return 0;}

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

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

相关文章

Navicat Premium安装pojie版

下载、安装mysql&#xff0c;环境变量配置 1、官网下载mysql&#xff1a;https://www.mysql.com/downloads/ 下载成功&#xff0c;进行安装 一直点下一步 验证&#xff0c;开始中搜索mysql 说明安装成功 环境变量配置 默认安装路径C:\Program Files\MySQL …

向量检索和关键字检索的区别?

向量检索&#xff08;Vector Retrieval&#xff09;和关键字检索&#xff08;Keyword Retrieval&#xff09;是信息检索领域中常见的两种检索方法&#xff0c;它们有一些显著的区别&#xff1a; 1、检索方式&#xff1a; 向量检索&#xff1a;向量检索是基于文档和查询之间的相…

Kafka和Spark Streaming的组合使用学习笔记(Spark 3.5.1)

一、安装Kafka 1.执行以下命令完成Kafka的安装&#xff1a; cd ~ //默认压缩包放在根目录 sudo tar -zxf kafka_2.12-2.6.0.tgz -C /usr/local cd /usr/local sudo mv kafka_2.12-2.6.0 kafka-2.6.0 sudo chown -R qiangzi ./kafka-2.6.0 二、启动Kafaka 1.首先需要启动K…

计算机毕业设计Python地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Flink Hadoop 深度学习 机器学习 人工智能 知识图谱

学生信息 姓名&#xff1a;  祁浩 题目&#xff1a; 基于Python的中国地震数据分析与可视化系统的设计与实现 学号&#xff1a; 2020135211 班级&#xff1a; 20大数据本科2班 指导教师&#xff1a; 刘思思 答辩过程 学生开题陈述 为了让学习者更好的了解了解地震…

Coze扣子开发指南:AI零代码编程创建插件

在Coze扣子中创建插件&#xff0c;有两种方式&#xff0c;一是用API&#xff0c;具体方式参照上一篇文章《Coze扣子开发指南&#xff1a;用免费API自己创建插件》&#xff0c;还有一种方式就是编程&#xff0c;不过有了AI的帮助&#xff0c;即使不会编程的人&#xff0c;也可以…

HarmonyOS开发案例:【生活健康app之获取成就】(3)

获取成就 本节将介绍成就页面。 功能概述 成就页面展示用户可以获取的所有勋章&#xff0c;当用户满足一定的条件时&#xff0c;将点亮本页面对应的勋章&#xff0c;没有得到的成就勋章处于熄灭状态。共有六种勋章&#xff0c;当用户连续完成任务打卡3天、7天、30天、50天、…

用大于meilisearch-java-0.7.0.jar的报错的解决

Elasticsearch 做为老牌搜索引擎&#xff0c;功能基本满足&#xff0c;但复杂&#xff0c;重量级&#xff0c;适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求&#xff0c;极快&#xff0c;单文件&#xff0c;超轻量。 所以&#xff0c;对于中小型项目来说…

阿里云服务器在线安装nginx

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《nginx实战》 目录 内容简介 安装步骤 1.root用户登录连接阿里云服务器 2.在usr/local下新建nginx目录 3.安装 1安装下载工具 2下载nginx压缩包 3解压 4安装nginx依赖的库 5编译并安装 6启动nginx 7开启…

蓝桥杯-递增三元组(三种解法,二分, 双指针, 前缀和)

给定三个整数数组 A[A1,A2,…AN], B[B1,B2,…BN], C[C1,C2,…CN], 请你统计有多少个三元组 (i,j,k) 满足&#xff1a; 1≤i,j,k≤N Ai<Bj<Ck 输入格式 第一行包含一个整数 N。 第二行包含 N 个整数 A1,A2,…AN。 第三行包含 N 个整数 B1,B2,…BN。 第四行包含 N …

【图像畸变校正】

接上篇文章&#xff1a;【鱼眼&#xff0b;普通相机】相机标定 附代码&#xff1a; 方法一&#xff1a; 使用cv2.undistort """Create May 11, 2024author Wang Jiajun """import cv2 import numpy as npdef correct(img,camera_fileE:/cali…

怎么使用远程桌面传输文件?

微软提供的远程桌面功能是一项强大的工具&#xff0c;可让您在同一网络下远程访问和管理其他计算机。除了远程控制&#xff0c;它还支持文件传输功能&#xff0c;为Windows用户提供了极大的便利。在接下来的内容中&#xff0c;我们将介绍如何使用远程桌面传输文件。 如何从远程…

PADS:生成自交叉平面区域

根据板外形铺铜方法&#xff1a; pads根据板外形铺铜_铺铜如何根据板子形状改变-CSDN博客 根据板外形创建平面区域出现问题&#xff1a; 解决方法&#xff1a;去找结构&#xff0c;让他把出图之前把线合并了

【数据结构】顺序栈

顺序栈 一、相关概念 栈和队列是操作受限的线性表&#xff0c;是限定性的数据结构&#xff1b;栈分为顺序栈和链式栈栈只能在一端进行操作&#xff08;插入、删除&#xff09;栈是限定仅在表尾进行插入或删除操作的线性表&#xff0c;因此&#xff0c;对栈来说&#xff0c;表…

https免费证书获取

获取免费证书的网址&#xff1a; Certbot 1. 进入你的linux系统&#xff0c;先安装snapd&#xff0c; yum install snapd 2. 启动snapd service snapd start 3.安装 Certbot snap install --classic certbot 注意如下出现此错误时&#xff0c;需要先建立snap 软连接后&am…

山东大学软件学院创新项目实训开发日志——第11周

山东大学软件学院创新项目实训开发日志——第11周 项目名称&#xff1a;ModuFusion Visionary&#xff1a;实现跨模态文本与视觉的相关推荐 -------项目目标&#xff1a; 本项目旨在开发一款跨模态交互式应用&#xff0c;用户可以上传图片或视频&#xff0c;并使用文本、点、…

Golang | Leetcode Golang题解之第84题柱状图中最大的矩形

题目&#xff1a; 题解&#xff1a; func largestRectangleArea(heights []int) int {n : len(heights)left, right : make([]int, n), make([]int, n)for i : 0; i < n; i {right[i] n}mono_stack : []int{}for i : 0; i < n; i {for len(mono_stack) > 0 &&am…

SQLite索引名称重复(index already exists)

文章目录 概述报错信息解决方案 概述 SQLite中创建单列索引的方式&#xff0c;跟MySQL类似&#xff1a; CREATE INDEX index_name ON table_name (column_name);但是也有不同的地方&#xff1a; MySQL中索引名称在表内部不重复即可。 SQLite中索引名称在整个库中必须是不重复…

整理项目中经常用到的正则

目录 1、手机号码 2、Email 邮箱 3、QQ 号码 4、非零正整数 5、URL 地址 6、身份证号 项目中难免会经常使用到表单&#xff0c;而表单项校验就需要用到正则&#xff0c; 所以整理总结一下自己项目中使用比较频繁的一些正则校验逻辑。 正则表达式 是由一些具有特殊含义的…

JavaScript之数据类型(3)——object进阶

前言&#xff1a; 利用基础知识来构建对象会发现十分复杂&#xff0c;我们可以结合其他的知识点来为我们object的构建进行优化。 <1>工厂法&#xff1a; 基本格式&#xff1a; function creatObject(属性值1,属性值2,属性值3,...,属性值n) {var 对象名 new Object();对…

在IDEA中使用 Spring Initializr 新建 spring boots 项目

【在IDEA中使用 Spring Initializr 新建 spring boots 项目 - CSDN Apphttp://t.csdnimg.cn/mVs5P Spring Initializr 创建spring boots项目 添加到pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connec…