(题目来自庞果网)
给定一个带通配符问号的数W,问号可以代表任意一个一位数字。
再给定一个整数X,和W具有同样的长度。
问有多少个整数符合W的形式并且比X大?
输入格式
多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同。在[1..10]之间.
输出格式
每行一个整数表示结果。
#include
#include
#define MAX 10
short count(char * cW)//计算'?'的个数 {
short temp=0;
while(*cW){
if(*cW=='?')
temp++;
cW++;
}
return temp;
}
short getAmount(char* w,char *x)//获取比X大的W的个数 {
while(*w){
if(*w=='?')
return (short)(('9'-*x)*pow(10,count(++w)));
else if(*w>*x)
return (short)pow(10,count(w));
else if(*w<*x)
return 0;
w++;
x++;
}
}
int main(int argc,char** argv){
char w[10],x[10];
char result[MAX];
short j,i=0;
short count=0;
while(scanf("%s%s",w,x)!=EOF)//Ctrl+Z 结束输入
result[i++]=getAmount(w,x);
for(j=0;j