英雄会第四届在线编程大赛·线上初赛:带通配符的数
2014-03-17 02:19
267 查看
给定一个带通配符问号的数W,问号可以代表任意一个一位数字。
再给定一个整数X,和W具有同样的长度。
问有多少个整数符合W的形式并且比X大?
输入格式
多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同。在[1..10]之间.
输出格式
每行一个整数表示结果。
答题说明
输入样例
36?1?8
236428
8?3
910
?
5
输出样例
100
0
4
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
static char TPF='?';
double NumberCount(char val[100],char pattern[100]);
int main()
{
char val[100]={'\0'};
char pattern[100]={'\0'};
double num=0;
while(scanf("%s\n%s",pattern,val)!=EOF)
{
num=NumberCount(val,pattern);
printf("%.0lf\n",num);
}
return 0;
}
double NumberCount(char val[100],char pattern[100])
{
int pn=0;
double num=0;
int i=0;
int j=0;
char cp,cn;
for (i=0;i<strlen(pattern);i++)
{
if(pattern[i]==TPF) pn++;
}
for(j=0;j<strlen(pattern);j++)
{
cp=pattern[j];
cn=val[j];
if(cp==TPF)
{
pn--;
num+=pow(10.0,pn)*('9'-cn);
}
else if(cp<cn) return num;
else if(cp>cn) return num+pow(10.0,pn);
}
return num;
}
再给定一个整数X,和W具有同样的长度。
问有多少个整数符合W的形式并且比X大?
输入格式
多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同。在[1..10]之间.
输出格式
每行一个整数表示结果。
答题说明
输入样例
36?1?8
236428
8?3
910
?
5
输出样例
100
0
4
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
static char TPF='?';
double NumberCount(char val[100],char pattern[100]);
int main()
{
char val[100]={'\0'};
char pattern[100]={'\0'};
double num=0;
while(scanf("%s\n%s",pattern,val)!=EOF)
{
num=NumberCount(val,pattern);
printf("%.0lf\n",num);
}
return 0;
}
double NumberCount(char val[100],char pattern[100])
{
int pn=0;
double num=0;
int i=0;
int j=0;
char cp,cn;
for (i=0;i<strlen(pattern);i++)
{
if(pattern[i]==TPF) pn++;
}
for(j=0;j<strlen(pattern);j++)
{
cp=pattern[j];
cn=val[j];
if(cp==TPF)
{
pn--;
num+=pow(10.0,pn)*('9'-cn);
}
else if(cp<cn) return num;
else if(cp>cn) return num+pow(10.0,pn);
}
return num;
}
相关文章推荐
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 【Java】 英雄会第四届在线编程大赛·线上初赛:带通配符的数 Java实现
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- csdn 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- CSDN英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 用python实现csdn第四届在线编程大赛·线上初赛:带通配符的数
- 第四届在线编程大赛·线上初赛:带通配符的数-我的解题方法
- csdn第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第四届在线编程大赛·线上初赛:带通配符的数
- 英雄会第二届在线编程大赛·线上初赛:AB 题解
- 英雄会第二届在线编程大赛·线上初赛:AB数
- 庞果英雄会第二届在线编程大赛·线上初赛:AB数
- CSDN第四届在线编程大赛2014初赛:带通配符的数
- 【思考题】CSDN第四届在线编程大赛2014初赛:带通配符的数