题目要求:

输入参数:参数A,含有任意个数的?的数值字符串,如:12?4,?代表一位任意数
             参数B,不含?的数值字符串,长度与参数A一致
输出结果:参数A比参数B大的可能数值个数

输入样例
36?1?8
236428
8?3
910
?
5

输出样例
100
0
4

  1. #define num_max_length 20
  2. int main(void)
  3. {
  4. char num1[num_max_length];
  5. char num2[num_max_length];
  6. int result_temp=0, result=0;
  7. int num_length=0, num_index=0;
  8. int flag=0;
  9. while(1){
  10. memset(num1, 0, num_max_length);
  11. memset(num2, 0, num_max_length);
  12. result_temp=0;
  13. result = 0;
  14. flag = 0;
  15. printf("参数A:");
  16. fgets(num1, num_max_length, stdin);
  17. if(memcmp(num1, "end", 3)==0) break;
  18. printf("参数B:");
  19. fgets(num2, num_max_length, stdin);
  20. if(memcmp(num2, "end", 3)==0) break;
  21. if((num_length=strlen(num1))!=strlen(num2)){
  22. printf("num1 num2 length not match\n");
  23. break;
  24. }
  25. for(num_index=0; num_index<num_length; num_index++){
  26. if(num1[num_index]=='?'){
  27. if(flag == 0)
  28. result_temp = (int)('9'-num2[num_index])+result_temp*10;
  29. else
  30. result_temp = result_temp*10;
  31. }
  32. else{
  33. if(num1[num_index]==num2[num_index]){
  34. continue;
  35. }
  36. else if(num1[num_index]<num2[num_index]){
  37. //break;
  38. if(flag == 0){
  39. flag = 1;
  40. }
  41. }
  42. else{
  43. if(flag == 0){
  44. flag = 1;
  45. result_temp += 1;
  46. }
  47. }
  48. }
  49. }
  50. printf("参数A比参数B大有%d种可能\n", result_temp);
  51. }
  52. printf("用户终止程序\n");
  53. system("pause");
  54. return 0;
  55. }

CSDN第四届在线编程大赛2014初赛:带通配符的数的更多相关文章

  1. 【思考题】CSDN第四届在线编程大赛2014初赛:带通配符的数

    题目要求: 输入参数:参数A,含有任意个数的?的数值字符串,如:12?4,?代表一位任意数                     参数B,不含?的数值字符串,长度与参数A一致 输出结果:参数A比参数 ...

  2. [转]微软联合CSDN英雄在线编程大赛

    2014 新年将至,微软联合CSDN英雄会共同举办本次第三届在线编程大赛,题目详情如下: 有一个字符串"iinbinbing",截取不同位置的字符‘b’.‘i’.‘n’.‘g’组合 ...

  3. csdn第五届在线编程大赛-全然平方

    题目详情 给定整数区间[A,B]问当中有多少个全然平方数. 输入格式: 多组数据,包括两个正整数A,B 1<=A<=B<=2000000000. 输出格式: 每组数据输出一行包括一个 ...

  4. 算法与数据结构(2)--英雄会第三届在线编程大赛:几个bing

    基础知识的回顾不再写到这里面了,会写一些算法算法的解答或者读一些相关书籍的笔记. 今天做了一道算法题,来自微软必应·英雄会第三届在线编程大赛:几个bing? 做出来了...但不知道为啥执行测试用例失败 ...

  5. 第四届58topcoder编程大赛--地图路径规划

    layout: post title: 第四届58topcoder编程大赛 subtitle: 58ACM catalog: true tags: - A* 算法 - C++ - 程序设计 问题及背景 ...

  6. 庞果英雄会第二届在线编程大赛·线上初赛:AB数

    题目链接 给定两个正整数a,b,分别定义两个集合L和R, 集合L:即把1~a,1~b中整数乘积的集合定义为L = {x * y | x,y是整数且1 <= x <=a , 1 <= ...

  7. Python超级码力在线编程大赛初赛题解

    P1 三角魔法 描述小栖必须在一个三角形中才能施展魔法,现在他知道自己的坐标和三个点的坐标,他想知道他能否施展魔法 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后, ...

  8. 微软必应·英雄会第三届在线编程大赛:几个bing?

    发布公司:微软亚太研发集团 有 效 期:2013-12-31至2014-02-01 难 度 等 级: 答 题 时 长:120分钟 编程语言要求:C C++ Java C# 悬赏详情 一等奖 : 价值2 ...

  9. 【结果发布】第六届SeedCoder编程大赛初赛结果发布

    微软俱乐部科技文化月seedcoder2014编程大赛已经初审完成. 评审小组选出最棒的作品进入决赛(现场答辩+陈述环节,由评委现场打分).终于排名由"初赛分数+现场答辩分"决定. ...

随机推荐

  1. oracle中 connect by prior 递归算法

    Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename sta ...

  2. WPF中判断组合键

    1.写在主窗口,private void window_KeyDown(object sender, KeyEventArgs e) 事件中,2.如果是弹出窗口,那么在生成弹出窗口的代码中frm.Ke ...

  3. SSO跨域解决方案

    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可 以将 ...

  4. ZOJ 3511 不相交切切多边形 线段树求最大边数

    题意: n多凸边形 m刀 (把n切m刀,问切完后的图形中 最多的边数 是多少) 切a点-b点 数据保证切的刀不会相交 思路: 2点之间的剩余点数就是边数, 把a-b距离 近 排序 切完一刀就统计一下切 ...

  5. 【JavaScript】轻易改变的背景和字体颜色页面

    JavaScript,点击button改变页面背景和字体颜色,网页有N颜色的变化button.点击不同button,网页字体和背景将被改变为不同的颜色. 非常easy的JavaScript小程序. 一 ...

  6. hdu4893Wow! Such Sequence! (线段树)

    Problem Description Recently, Doge got a funny birthday present from his new friend, Protein Tiger f ...

  7. js身份证验证代码

    var idCardNoUtil = { provinceAndCitys: {11:"北京",12:"天津",13:"河北",14:&qu ...

  8. sql server 系统表系统视图 及作用说明

    sql server 系统视图,可分为: 目录视图   兼容性视图    动态管理视图和函数    信息架构视图    复制视图 系统表: sysaltfiles主数据库 保存数据库的文件 sysch ...

  9. VS2013服务器资源管理器添加Mysql数据源

    如何为VS2013服务器资源管理器添加Mysql数据源,如图: 接下来就看下如何添加 1.需要下载安装Mysql for Visual Studio 1.1.1 下载位置:http://downloa ...

  10. JS简单实现图片切换

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...