题目要求:

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

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

输出样例
100
0
4

[cpp] view plaincopy
  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. }

转载于:https://www.cnblogs.com/xhyzjiji/p/3712739.html

CSDN第四届在线编程大赛2014初赛:带通配符的数相关推荐

  1. 超级码力在线编程大赛初赛 第2场 题解

    超级码力在线编程大赛初赛 第2场 题解 题目出的对退役老年选手很友好,拿个T恤跑路- 下面的题解仅代表个人观点,出了问题,概不负责. 比赛链接:https://tianchi.aliyun.com/o ...

  2. 超级码力在线编程大赛初赛 第2场 1.三角魔法

    超级码力在线编程大赛初赛 第2场 1.三角魔法 题目链接 描述 小栖必须在一个三角形中才能施展魔法,现在他知道自己的坐标和三个点的坐标,他想知道他能否施展魔法 −1e9≤xi,yi≤1e9-1e9\l ...

  3. 超级码力在线编程大赛初赛第1场-1-树木规划题解

    目录 题目描述 示例 输入 输出 说明 分析 代码 动规 贪心 其他题目 题目描述 在一条直的马路上,有n棵树,每棵树有一个坐标,代表它们距离马路起点的距离. 如果每相邻的两棵树之间的间隔不小于d,那 ...

  4. 超级码力在线编程大赛初赛 第3场 1.最大公倍数

    超级码力在线编程大赛初赛 第3场 1.最大公倍数 题目链接 描述 小栖有一个区间,他准备从中取三个数,他想知道如何取才能使得它们的最小公倍数最大 请直接告诉小栖最小公倍数是多少. 示例 输入: a = ...

  5. 英雄会第一届在线编程大赛解题思路

    其实往往看到编程题目,作为一个java程序员,往往觉得语言不占优势,好像写了也没什么机会,我个人觉得其实在快慢效率上,真正的还是思想,大胆写,java有那么好的api,java源代码,好的开源社区,写 ...

  6. 首届英才在线编程大赛-编程题回顾-java实现

    参见了中华英才网的编程大赛,算法题很简单,但还是做的不熟,一道用BigInteger的没有AC 下面是三道题的题目和程序 问题1:求小于n的自然数中,17或者18的倍数和 java 有一点需要注意的是 ...

  7. nyoj985带通配符的数

    题目链接:  http://acm.nyist.net/JudgeOnline/problem.php?pid=985 或者: http://115.159.40.116/problem_show ...

  8. 阿里云 超级码力在线编程大赛初赛 第4场 题目3. from start to end

    文章目录 1. 题目 2. 解题 1. 题目 样例1: 输入: "abcd" "bcda" 输出: true样例2: 输入: "abcd" ...

  9. 阿里云 超级码力在线编程大赛初赛 第3场 题目2. 房屋染色(DP)

    文章目录 1. 题目 2. 解题 1. 题目 有n个房子在一列直线上,现在Bob需要给房屋染色,共有k种颜色. 每个房屋染不同的颜色费用也不同,Bob希望有一种染色方案使得相邻的房屋颜色不同. 但Bo ...

最新文章

  1. 5G 标准的走向,为何越来越不同寻常?
  2. SSM格式化导出报表时间的格式
  3. 了解 64 位 Office
  4. 27_线程安全操作及其案例
  5. Selenium WebDriver-通过键盘事件操作浏览器
  6. Illustrator 教程,如何在 Illustrator 中创建和编辑作品?
  7. 设计模式(1)-- 七大软件设计原则-开闭原则
  8. pwdx与netstat、lsof结合查找进程号是由哪个程序启动的
  9. uint16 java_java解析UINT16
  10. 软件开发工具【十】 之 调试程序
  11. 学生上课睡觉班主任怎么处理_学生上课睡觉,老师该怎么处理?
  12. 胶囊网络之 Found a Reason for me? Weakly-supervised Grounded Visual Question Answering using Capsules论文笔记
  13. Ios 公司申请苹果账号
  14. 计算机方向键是哪个键,你可能从来没碰过的键,电脑键盘方向键上面的3个按键有什么用?...
  15. python实验过程心得体会_python学习心得
  16. 7-1 统计字符串中不同种类的字符个数 (10 分)
  17. 在设备上开启telnet服务
  18. 数据采集需要学习哪些东西
  19. 利用coding 部署项目环境
  20. 什么是(抽象方法,普通方法,抽象类、接口),区别又是什么?

热门文章

  1. 开源GIS(十九)——WKT、WKB与GeoJSON
  2. 开源GIS(四)——openlayers中geoserver发布的WMS与WFS加载
  3. html——inline、block与block-inline区别
  4. 缓冲区分析—ArcGIS API for JavaScript
  5. pppoe 服务器 无线,centos搭建pppoe拨号服务器
  6. java一个引用多大_为什么Java 8为方法引用引入了一个新的“::”运算符?
  7. hiberanate 主键查询慢_hibernate 新加数据 查询 缓存 变慢
  8. Python 之 模块和包
  9. arcgis人口空间化_数据福利|全球人口密度数据汇总与共享
  10. kuka的备选安装包有什么功能_机械臂的软浮动功能