转载请注明:http://blog.csdn.net/ydm2011/article/details/11683325
本文试题权利华为公司所有,若侵犯权利,请通知,本人立即删除!
1. 输入正整数,把其中的‘0’~‘9’转换为a~j;(不用检测异常输入,保证输入无异常)
例如:输入:123
输出:bcd
2.假设n人,编号为:1,2,3,。。。n;循环报数,每次报数为m的出列,求最后出列的人的编号;异常返回-1;
例如,输入:10,10
输出:8
3;球输入表达式的值,*和/的优先级大于+和-;
例如,输入:2+3-5*13;
输出:-60
本人作对了两题,第三题提交了,但是答案错误,没有得到分,这是因为时间太紧,没有时间来得及调试!
第一题:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cin>>str;
char* p = new char[str.size()+1];
for(int i=0;i<str.size();i++)
{
p[i] = str[i]-'0' + 'a';
}
p[str.size()] = '\0';
cout<<p<<endl;
delete[] p;
}
第二题:
#include<cstdio>
int main()
{
int n,m;
scanf("%d,%d",&n,&m);
if(n<=0||m<=0)
{
return -1;
}
int last=1;
for(int i=2;i<=n;i++)
{
last = (last+m)%i;
if(last==0)
last=i;
}
printf("%d",last);
return 0;
}