华为机试再回忆--第二题
2015-08-24 17:30
232 查看
题目如下:
题目:选定数组最大最小元素位置并输出
描述:输入一组10个整数的数组(数组元素之间用逗号分隔),最大的与最后一个元素交换,最小的与第一个元素交换,输出交换前与交换后的数组
例如:输入:56,23,45,0,122,26,53,100,2,32
输出:56,23,45,0,122,26,53,100,2,32;0,23,45,56,32,26,53,100,2,122
说明:1.数组元素之间用逗号,数组交换前后两项用分号分隔
2.当输入的数组中的元素不是整数时,则输出:input error,当输入数组元素个数不是10时则输出:input error
本题比较简单:需要的注意的是把输入的字符串转换为整型数组以及边界条件的判断
代码如下:
运行截图:
题目:选定数组最大最小元素位置并输出
描述:输入一组10个整数的数组(数组元素之间用逗号分隔),最大的与最后一个元素交换,最小的与第一个元素交换,输出交换前与交换后的数组
例如:输入:56,23,45,0,122,26,53,100,2,32
输出:56,23,45,0,122,26,53,100,2,32;0,23,45,56,32,26,53,100,2,122
说明:1.数组元素之间用逗号,数组交换前后两项用分号分隔
2.当输入的数组中的元素不是整数时,则输出:input error,当输入数组元素个数不是10时则输出:input error
本题比较简单:需要的注意的是把输入的字符串转换为整型数组以及边界条件的判断
代码如下:
#include <iostream> #include <string> using namespace std; #define ArraySize 10 int main() { string s; cin>>s; for(int i=0;i<s.length();i++) { if(s[i]=='.') { cout<<"input error"<<endl; return 0; } } int *InputArray=new int[ArraySize]; for(i=0;i<ArraySize;i++) { InputArray[i]=0; } int count=0; int sum=0; i=0; int temp; while(true) { if(s[i+1]!=','&&(i+1)!=s.length()) { sum=sum*10+(s[i]-'0')*10; } else { sum=sum+(s[i]-'0'); temp=sum; InputArray[count++]=sum; if(i==s.length()-1) { break; } sum=0; i=i+2; continue; } i++; } if(count!=10) { cout<<"input error"<<endl; return 0; } for(i=0;i<ArraySize;i++) { if(i!=(ArraySize-1)) cout<<InputArray[i]<<","; else cout<<InputArray[ArraySize-1]<<";"; } int MaxIndex=0; int MinIndex=0; for(i=1;i<ArraySize;i++) { if(InputArray[i]>=InputArray[MaxIndex]) { MaxIndex=i; } if(InputArray[i]<=InputArray[MinIndex]) { MinIndex=i; } } int temp1,temp2; temp1=InputArray[MinIndex]; InputArray[MinIndex]=InputArray[0]; InputArray[0]=temp1; temp2=InputArray[MaxIndex]; InputArray[MaxIndex]=InputArray[ArraySize-1]; InputArray[ArraySize-1]=temp2; for(i=0;i<ArraySize;i++) { if(i!=(ArraySize-1)) cout<<InputArray[i]<<","; else cout<<InputArray[ArraySize-1]; } cout<<endl; delete[] InputArray; InputArray=NULL; return 0; }
运行截图:
![](http://images0.cnblogs.com/blog2015/653903/201508/241729587186172.jpg)
相关文章推荐
- 详解Linux系统中的守护进程
- android XML文件注释
- Web App与Native App
- Linux内核设计与实现--学习笔记--第三章- 1(task_struct等)
- HDU 4407 Sum(容斥原理+质因数分解)
- POJ-1260-Pearls-动规
- 关于Flex 4&ActionScript 3和JavaScript的交互
- GDB使用指南
- Android4.4+ 外置SD卡不能写入 获取外置SD卡路径解决方案
- C# 工厂设计模式
- django模板变量直接显示html代码的问题
- iOS--开发文本输入框遇到的一些问题
- J-6 面向对象
- Nginx模块参考手册:HTTP核心模块
- centos(7.0) 上 crontab 计划任务
- POJ3122------Pie
- jquery中html、text、val的区别
- iOS7 Navgation的手势滑动返回功能
- 句号压缩过滤器
- 查询组列表时直接显示需要的组内成员