16年只有两道题。
1.给定一个数n,将这个数的各位顺序颠倒,成为逆序数m。
例如1234的逆序数是4321.
如果m是n的k倍(k为整数),那么输出n*k=m
例如输入1089
输出1089*9=9801
如果m不是n的整数倍,那么输出n和m的逆序数
例如输入1234
输出1234 4321
例如输入23200
输出23200 00232
已知输入开头不包括多余的零
#include "stdafx.h"
#include <iostream>
#include <string>
#include "math.h"
#include "stdio.h"
#include "string.h"
#include <vector>
#include <queue>
#include <map>
#include <algorithm>
using namespace std;
int max(int x,int y){
return x>y?x:y;
}
int main(int argc, char* argv[])
{
int n1,n2;
int tmp;
char str1[100]={0};
char str2[100]={0};
scanf("%d",&n1);
//cout<<n1<<endl;
itoa(n1,str1,10);
//cout<<str1<<endl;
reverse(str1,str1+strlen(str1));
//cout<<str1<<endl;
n2=atoi(str1);
//cout<<n2<<endl;
if(n2%n1==0){
printf("%d*%d=%s",n1,n2/n1,str1);
}else{
printf("%d %s",n1,str1);
}
return 0;
}
2.给一个c语言的enum定义语句,输出enum中规定的各项及其对应的数值。
输入 enum BOOL{true,false};
输出
true 0
false 1
输入 enum date{JAN=1,FEB,MAR,APR,MAY,JUN,JULY,AUG,SEP,OCT,NOV,DEC,MON=1,TUE,WED,THU,FRI,SAT,SUN,found=1949};
输出
JAN 1
FEB 2
MAR 3
APR 4
MAY 5
JUN 6
JULY 7
AUG 8
SEP 9
OCT 10
NOV 11
DEC 12
MON 1
TUE 2
WED 3
THU 4
FRI 5
SAT 6
SUN 7
found=1949
#include "stdafx.h"
#include <iostream>
#include <string>
#include "math.h"
#include "stdio.h"
#include "string.h"
#include <vector>
#include <queue>
#include <map>
#include <algorithm>
using namespace std;
int main(int argc, char* argv[])
{
char inputArr[100];
string str,sub,newcountstr;
int startindex,endindex,equalindex,count;
bool stop=0;
gets(inputArr);
str=inputArr;
startindex=0;
startindex=str.find("{",startindex)+1;
count=0;
while(!stop){
endindex=str.find(",",startindex);
if(endindex!=string::npos){
sub=str.substr(startindex,endindex-startindex);
startindex=endindex+1;
equalindex=sub.find('=');
if(equalindex==string::npos){
cout<<sub<<count<<endl;
count++;
}else{
newcountstr=sub.substr(equalindex+1);
count=atoi(newcountstr.c_str());
sub.erase(sub.begin()+equalindex,sub.end());
cout<<sub<<count<<endl;
}
}else{
endindex=str.find("}",startindex);
sub=str.substr(startindex,endindex-startindex);
equalindex=sub.find('=');
if(equalindex==string::npos){
cout<<sub<<count<<endl;
count++;
}else{
newcountstr=sub.substr(equalindex+1);
count=atoi(newcountstr.c_str());
sub.erase(sub.begin()+equalindex,sub.end());
cout<<sub<<count<<endl;
}
stop=1;
}
}
return 0;
}