c语言四则运算小程序
- 本文源程序代码来源于csdn一位博主:

文章链接:http://t.csdnimg.cn/L29fs
原程序简洁凝练,以简短的代码写出了一个加法运算器。 - 以下是运行结果(本文全程用visual studio 2022进行代码的编写与运算):

- 通过对该代码的运算,我个人认为有以下问题:
(1)尽管该代码简洁明了,但只有加法运算,缺少减、乘、除的运算。
(2)算法集中于主函数,未在外设立单独的函数。
(3)没有相应的提升语句,使用者可能不清楚如何使用。
针对以上问题,我对代码进行了改进,加入了减、乘、除三则运算,加入了提升语句,在主函数外编写加减乘除的四则运算函数。 - 以下是修改后的代码:
点击查看代码
#include <stdio.h>
// 加法函数
int add(int a, int b) {
return a + b;
}
// 减法函数
int subtract(int a, int b) {
return a - b;
}
// 乘法函数
int multiply(int a, int b) {
return a * b;
}
// 除法函数
float divide(int a, int b) {
if (b != 0)
return (float)a / b;
else {
printf("错误:除数不能为零\n");
return 0.0;
}
}
int main() {
int first, second;
char operator; // 用于存储运算符
// 提示用户输入两个数字和运算符
printf("请输入两个数字和运算符(+、-、*、/),用空格分隔:");
// 读取输入的数字和运算符
scanf_s("%d %c %d", &first, &operator, sizeof(operator), &second);
// 根据运算符执行相应的操作并输出结果
switch (operator) {
case '+':
printf("结果:%d\n", add(first, second));
break;
case '-':
printf("结果:%d\n", subtract(first, second));
break;
case '*':
printf("结果:%d\n", multiply(first, second));
break;
case '/':
printf("结果:%f\n", divide(first, second));
break;
default:
printf("错误:不支持的运算符\n");
break;
}
return 0;
}
5.修改后运行截图如下:




6.总结:
(1)首次对原程序的复制粘贴后,始终运行不了,仔细检查后发现是scanf未替换成scanf_s,替换后正常运行,在高版本的vs中scanf被认为是不安全的函数,因此运行会报错。
(2)过对该程序的改写,尽管代码量并不多,但运用的知识还是不少的,在对程序编写的同时也可以对自己的知识进行巩固。
(3)以上改写代码可能还有不足之处,请指出以改进。
c语言四则运算小程序的更多相关文章
- 300道随机四则运算小程序(java编写)
这是由Java编写的300道随机四则运算小程序, 运算数范围为0~100(不包括100),运算结果保留两位小数. 程序代码: import java.util.*; class Yunsuan{ pu ...
- 任务04——对四则运算小程序的进一步改进,并学习 Git 中 Branch 的用法
https://github.com/jinxiaohang/Operation/tree/test01 对于任务2的代码进行优化修改感觉很麻烦,所以直接选择重写代码完成任务四, 任务四很早就发布了, ...
- 任务02——安装 Intellj IDEA,编写一个简易四则运算小程序,并将代码提交到 GitHub
github地址:https://github.com/ErhuoHome/First.git 安装jdk与intellij idea没有太大问题,以前安装过eclipse 在程序方面,由于对真分数的 ...
- c语言经典小程序
1:题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. mai ...
- 四则运算小程序测试--c++--软件工程课
一.测试内容: 1.生成题目数是否准确?2.打印方式(列数l.行间距jj)是否准确?3.有无乘除法cc是否准确?4.数的范围fw是否准确?5.除法有无余数c是否准确?6.加减有无负数f是否准确? 二. ...
- 微信小程序常见问题集合(长期更新)
最新更新: 新手跳坑系列:推荐阅读:<二十四>request:fail错误(含https解决方案)(真机预览问题 跳坑指南<七十>如何让微信小程序服务类目审核通过 跳坑六十九: ...
- 微信小程序之菜鸟选手入门教学(一)
1. 小程序的优缺点优点:不需下载.卸载 使用方便缺点:嵌套在微信中,属于微信的子应用2. 使用的技术实际上是Hybrid技术的应用Hybrid App (混合模式移动应用),使用网页语言和程序语言共 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉
前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05-日历组件的实现 4. 微信小程序开发04-打造自 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
随机推荐
- 2020美亚个人赛wp
案例背景 2020年9月,数名信用卡持有人向警方报案,指他们的信用卡被不知名人士在一家本地网上商店购买手机.订单大部分来自海外的网络地址,但有一宗订单来自本地.警方经调查后发现该本地网络地址的注册地址 ...
- YiGo学习(一)YiGo介绍
YiGo是一种开发语言,是一种面向业务人员进行管理信息系统开发的特定领域语言,属于第五代计算机语言.它可以在图形化界面上进行选择.拖拽等动作进行管理业务建模,通过建立对系统需求的描述模型由计算机自动生 ...
- 【3】opencv_contrib 4.3.0库配置+opencv安装
相关文章: [1]windows下安装OpenCV(4.3)+VS2017安装+opencv_contrib4.3.0配置 [2]Visual Studio 2017同时配置OpenCV2.4 以及O ...
- OpenSSH 服务配置与管理
SSH 是一种以安全的方式提供远程登陆的协议,也是目前远程管理Linux系统的首选方式,SSH由IETF的网络小组所制定,SSH为建立在应用层基础上的安全协议,SSH是目前较可靠,专为远程登录会话和其 ...
- 记录一下配置mysql高可用(MHA)的过程及踩到的坑
记录一下搭建MHA主从的完整过程,同时也把自己部署过程中遇到的坑写进来 参考链接: https://blog.csdn.net/m0_49526543/article/details/10948365 ...
- 将Windows系统设置为NTP服务器之NetTime
之前写过一个将Windows系统设置NTP服务器的随笔,是通过修改Windows的注册表来实现NTP服务器,现在有个更简单的方式,安装一个小插件即可将Windows设置为NTP服务器. 插件 NetT ...
- 目录 - JavaScript指南
目 录 第一章. JavaScript概述 第二章. JavaScript语法基础 第三章. JavaScript编程规范 第四章. JavaScript工具集合 第五章. JavaSc ...
- 使用DoraCloud搭建支持统信UOS桌面的信创云桌面系统
信创云桌面 信创云桌面采用国产的芯片,支持国产的桌面操作系统.本方案采用海光CPU的服务器,运行DoraCloud云桌面系统.可以支持统信UOS桌面系统和麒麟桌面操作系统. 环境准备 服务器:海光 5 ...
- 编译Assimp时出现“warning C4819”的解决方案
最近又重新捣鼓起了OpenGL, 使用Assimp库加载3D模型,最新(2023/12/9)的版本是5.3.1. 使用cmake编译本是一件简单的事情: cmake . cmake --build ...
- [奶奶看了都会]ChatGPT接入企业微信成为聊天机器人
1.聊天效果 上次给大家讲了ChatGPT接入个人微信的方法,但是个人微信容易被封号.这次就教大家接入企业微信,不会再被封号哦~ 话不多说,直接看机器人的聊天效果.基本能实现ChatGPT的聊天效果了 ...