zoukankan      html  css  js  c++  java
  • 竖式问题

     1 /*
     2 竖式问题 输入一个特定的数字集合,计算并输出所有满足要求的竖式。要求是abc*de(一个三位数乘以一个二位数)的竖式中
     3 出现的所有数字均在集合中。输出时要个按照格式。 
     4 解题思路 首先读入数字集合,枚举每个三位数乘以每个二位数,如果满足条件输出并计数。 
     5 
     6 另外读书总结
     7     int cou=0;
     8     printf("%d %d %d
    ",cou++,cou++,cou++);//输出结果为2 1 0,编译原理something..  
     9 */
    10 #include<cstdio>
    11 #include<cstring>
    12 int ok(char *s,char *buf);
    13 
    14 int main()
    15 {
    16     char s[25],buf[50];
    17     int abc,de,d,e,x,y,z,t=1,cou;
    18     while(scanf("%s",s) != EOF){
    19         //puts(s);
    20         printf("<%d>
    ",t);
    21         cou=0;
    22         for(abc=100; abc<=999; abc++){
    23             for(de=10;de<=99;de++){
    24                 d=de/10;
    25                 e=de%10;
    26                 x=abc*e;
    27                 y=abc*d;
    28                 z=abc*de;
    29                 sprintf(buf,"%d%d%d%d",abc,de,x,y,z);//sprintf函数的使用 
    30                 if(ok(s,buf)){
    31                     cou++;
    32                     //格式控制 
    33                     printf("%5d
    X%4d
    -----
    %5d
    %4d
    -----
    %5d
    
    ",abc,de,x,y,z);
    34                 }
    35             }
    36         }
    37         printf("在该数字集合下总共有%d种结论
    ",cou);
    38         t++;
    39     } 
    40     return 0;    
    41 } 
    42 
    43 int ok(char *s,char *buf)
    44 {
    45     int i,l=strlen(buf);
    46     for(i=0;i<l;i++){
    47         if(strchr(s,buf[i]) == NULL)//strchr的使用 
    48             return 0;
    49     }
    50     return 1;
    51 }
  • 相关阅读:
    每日日报31
    每日日报30
    每日日报29
    《精益软件开发管理之道》阅读笔记03
    每日日报28
    ip地址访问vue项目
    eslint prettier vetur eslint
    线上环境去除console
    vue 多环境打包
    2申请高德地图key 初始化地图
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/8782343.html
Copyright © 2011-2022 走看看