C语言实用算法系列之DOS传参“加减乘除计算器”
简介
主要采用str族函数实现字符检测,只能用DOS传参进行计算,详见运行结果。
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>/*
int main(int argc, char** argv)
{
int i=0;
printf("总共有%d条有效字符串\n",argc);
while(argv[i])
puts(argv[i++]);
return 0;
}*/void Calc(char* str)
{char* pRes = strpbrk(str, "+-*/%");if (!pRes){puts("本软件支持+-*/,请按格式输入,例如:输入xx 1+2 回车"); //xx表示程序名return ;}char c = *pRes;double result = 0;double left = atof(str);double right = atof(pRes + 1);switch (c){case '+':printf("=%lf\n", left + right);break;case '-':printf("=%lf\n", left - right);break;case '*':printf("=%lf\n", left * right);break;case '/':printf("=%lf\n", left / right);break;case '%':printf("=%d\n", (int)left % (int)right);break;}
}int main(int count, char** ps)
{if (count<2){puts("本软件支持+-*/,请按格式输入,例如:输入xx 1+2 回车");return -1;}//假设输入:DOS 33+52char s[64] = { 0 };int i = 0;while (ps[++i])strcat(s, ps[i]);Calc(s);//字符串查找函数 strchr strpbrk strtok strstrreturn 0;
}
运行结果
C语言实用算法系列之DOS传参“加减乘除计算器”相关推荐
- 【总结】C语言实用算法系列之知识点梳理_附学生管理系统各模块代码
1.内存四区特点 a)全局区变量空间缺省每个字节为00,栈空间缺省是cc,堆缺省是cd b)堆.全局区(静态区).字符串常量区,与栈区空间的位置距离很大,栈区访问速度可能最快: 2.C语言与C++编译 ...
- C语言实用算法系列之学生管理系统_单向链表内操作_提取排序规则
代码 后续文章的排序均采用速度较快的选择排序算法. #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <strin ...
- C语言实用算法系列之时间族函数、目录遍历
时间族函数测试 代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <stdlib.h> #includ ...
- 【终极完美高效】C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针_函数指针数组
代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <st ...
- C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针_函数指针+switch
函数指针简介 #include <stdio.h>int add(int a, int b) {return a + b; }int dec(int a, int b)
- C语言实用算法系列之行指针
代码 #include <stdio.h>void Test(double (*a)[3]) {printf("sizeof(a)=%d\n", sizeof(a)); ...
- C语言实用算法系列之二级指针用法简介
一.几个知识点 内存四区:栈.全局(静态),常量区,除此以外剩余的空间暂时不能随意使用:除此以外剩余的空间只要通过malloc函数申请一下,就可以使用了: 申请一个堆上的单个int变量的方法:int* ...
- C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针
代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <st ...
- C语言实用算法系列之学生管理系统_单向链表外排序_栈内数组存储链表节点指针
代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <st ...
最新文章
- 0x01 念念Python,必有回响
- 小程序上拉加载,下拉刷新
- C++中判断在字符串中是否存在空格 以及 如何输入带空格的字符串
- sqlite 查询 支持多用户同时_SQLite支持多进程同时操作数据库文件吗?
- 同步请求和异步请求的区别
- Java 网络编程(超级详细)
- VS.左侧_蓝黄绿_竖线
- xp虚拟服务器设置,VMWare的XP虚拟机网络设置
- 【B/S】java(4)
- python打印json_Python漂亮打印JSON
- 【UVA1599】Ideal Path理想路径--两种约束条件(!!双向bfs+非简单图的最短路+无向图邻接记录法)
- 如何用excel批量生成word文档,并且命名?
- 8g内存和16g内存区别 mac_8G和16GB内存,体验差异大吗?实测新版M1处理器苹果MacBook...
- contiki CC2530 CC2430例子描述
- vuex存储什么数据_Redis除了存储数据以外还能做什么?
- 想要顺利携号转网?让你少跑弯路的小贴士!
- 计算机原理课堂,计算机原理课堂测验题集.ppt
- 哈工大本部2022计算机组成原理期末试题回忆版
- 鸿蒙系统玩游戏要分区么,虽然还没办法上手体验鸿蒙,但可以先试试这款国产操作系统...
- 标准体重和身高的对应关系
热门文章
- Spring Data Solr教程:Solr简介
- java.util.concurrent.Future基础
- JavaOne正在重建动力
- 红帽Openshift:入门–云中的Java EE6
- 局域网网管软件_网管软件有哪些?那些不同之处
- Linux命令之 users -- 显示当前登录的用户
- 解决阿里云 ssh 远程连接短时间没操作就会断掉的问题
- mysql(待完善)
- 显微镜自动聚焦原理是什么_什么是共聚焦显微镜?你了解过共聚焦显微镜吗?...
- node 安装_VUE项目迁移之node.js的安装