二年级小学生的题目
来源:互联网 发布:vscode怎么移除文件夹 编辑:程序博客网 时间:2024/04/19 08:58
两个二年级小朋友在一起玩游戏,小明给出一堆不超过两位的正整数和运算要求(+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。
输入:
用逗号分隔的不超过两位的正整数序列,及其运算符和等号
输出:
最大数 op 最小数=结果
- 1,2,3,4,5,+,=↵
- 5+1=6↵
- 1,0,/,=↵
- Error!↵
- 0,0,0,0,0,%,=↵
- Error!↵
- 10,2,3,6,76,88,88,99,10,*,=↵
- 99*2=198↵
- 10,20,30,60,76,80,80,99,*,=↵
- 99*10=990↵
思路: 我的基本做法是将输入作为一整个字符串输入,然后一遍循环进行遍历,如果碰到数字,则存到新开辟的数组中去;如果碰到',',则存储数字的数组下标加1,以准备存取下一个数;否则碰到的一定是运算符,此时,可以找出数组中最大和最小的数,然后做运算,代码如下:
#include<stdio.h>#include<string.h>int main(){int a[50]={0},i=0,j=0,k,max,min;char s[100];scanf("%s",s);while(1){if(s[i]>='0'&&s[i]<='9'){a[j] = 10*a[j] + s[i]-'0'; }else if(s[i]==','){j++;}else{max = min = a[0];for(k=1;k<j;k++){if(a[k]>max)max = a[k];if(a[k]<min)min = a[k];}switch(s[i]){case '+':printf("%d+%d=%d\n",max,min,max+min);break;case '-':printf("%d-%d=%d\n",max,min,max-min);break;case '*':printf("%d*%d=%d\n",max,min,max*min);break;case '/':if(min==0)printf("Error!\n");elseprintf("%d/%d=%d\n",max,min,max/min);break;case '%':if(min==0)printf("Error!\n");elseprintf("%d/%d=%d\n",max,min,max/min);break;}break;}i++;}}
- 二年级小学生的题目
- 数组---二年级小学生的题目
- 五年级小学生的题目
- 一张小学二年级的请假条
- 感情日记: 一个二年级的数学题
- 大学二年级
- 回忆录-----小学 二年级
- 二年级开学倒计时
- 研究生二年级的上学期思想上的一些改变
- 题目74 小学生算术
- 小学生算术--题目74
- 题目74-小学生算术
- 看看我们小学二年级是不是混过来的
- 一个二年级菜鸟对于面向对象的一些感悟
- nyoj题目74:小学生算术
- 南阳题目74-小学生算术
- ACM题目_小学生统计数字
- 大学二年级本科生——我的大学两年的总结
- dynamic_cast和static_cast
- java 多线程
- JAVA.集合类: 说明与区别
- Struts1.x和Struts2.x的区别
- Hibernate类映射选项
- 二年级小学生的题目
- 想去谷歌工作?15个面试问题据说难倒天才!
- C++学习随笔之(四)异常处理
- 非VC下如何获取文件名列表
- Android应用的自动升级、更新模块的实现
- 美國佬的操作系統調試器的專利實在太狠了
- 使用raw文件模拟硬盘
- 黑马程序员----继承
- Linux下搭建Android开发环境