• 竖式问题——巧用字符数组


    竖式问题

    题目:

    找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。

     

    样例输入:

    2357

    样例输出:

    <1>

    ..775

    X..33

    -----

    .2325

    2325.

    -----

    25575

    The number of solutions = 1

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char s[20],buf[99];//用于接受输入数字串
     6     int a,b,c,Count = 0;
     7     scanf("%s",s);//注意此处不需要取地址&
     8     for(int i=111;i<=999;i++)//遍历所有的三位数
     9     {
    10         for(int j=11;j<=99;j++)//遍历所有的两位数
    11         {
    12             a = i*(j%10);//上面的乘数
    13             b = i*(j/10);//下面的乘数
    14             c = i*j;//结果
    15             //进行是否满足要求的判断
    16             sprintf(buf,"%d%d%d%d%d",i,j,a,b,c);//将整型数存入字符数组buf
    17                                                     //便于进行判断
    18             int ok = 1;
    19             for(int k=0;k<strlen(buf);k++)
    20                 if(strchr(s,buf[k])==NULL) ok = 0;
    21             if(ok)
    22             {
    23                 Count++;
    24                 printf("<%d>
    ",Count);
    25                 printf("%5d
    x%4d
    -----
    %5d
    %4d
    -----
    %5d
    ",i,j,a,b,c);
    26             }
    27         }
    28     }
    29     printf("The number of the solutions = %d",Count);
    30     return 0;
    31 }

     

    说明:

    1. 在C语言中,字符串其实就是字符数组——可以像处理普通数组一样处理字符串,只需要注意输入输出和字符串函数的使用。
    2.  strchr  在字符串中查找单个字符

        函数原型:extern char *strchr(char *str,char character)

        参数说明:str为一个字符串的指针,character为一个待查找字符。

      所在库名:#include <string.h>
         函数功能:从字符串str中寻找字符character第一次出现的位置。

        返回说明:返回指向第一次出现字符character位置的指针,如果没找到则返回NULL。

      3.  printf输出到屏幕,fpringf输出到文件,sprintf输出到字符串

      4.  字符串只能用strcpy(a,b),strcmp(a,b),strcat(a,b)来执行“赋值”、“比较”和“连接操作”,上述函数都在string.h中声明

     

  • 相关阅读:
    springboot应用docker部署调用phantomjs出现permission denied修复方法
    vue某单元格设置背景色
    vue编辑当行数据,弹窗赋值
    vue使用element-ui的el-input监听不了键盘事件解决
    js获取当前域名
    Jedis Redis 模糊匹配 取得 key 列表
    电脑启机时出windowssystem32driversootsafe64.sys
    Vue子组件调用父组件的方法
    Docker 连接mongodb
    Unsatisfied dependency expressed through field 'mongoTemplate'
  • 原文地址:https://www.cnblogs.com/yxh-amysear/p/7300658.html
Copyright © 2020-2023  润新知