前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >竖式问题

竖式问题

作者头像
Cloud-Cloudys
发布2020-07-07 15:45:40
5860
发布2020-07-07 15:45:40
举报

字符串处理函数strchr() && 竖式问题

竖式问题

题目描述

找出所有形如abc*de(三位数乘两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。

输入:

输入一个数字集合(相邻数字之间没有空格)

输出:

输出所有竖式.每个竖式前应该编号,之后应该有一个空行。最后输出解的总数。

样例输入:

2357

样例输出:

(1)  775x  33—– 23252325 —–25575The number of solution = 1

分析

小学的乘法运算

#include<stdio.h>
#include<string.h> 
int main()
{
    int count;
	char s[20],buf[99];
	scanf("%s",s);
	for(int abc = 111;abc <= 999;abc++)
	{
		for(int de = 11;de <= 99;de++)
		{
			int x = abc*(de%10),y = abc*(de/10),z = abc*de;
			sprintf(buf,"%d%d%d%d%d",abc,de,x,y,z);
			/*
			- 使用sprintf()把信息输出到字符串 
			- strchr()函数的作用是在一个字符串中查找单个字符 
			*/
			int ok = 1;
			for(int i = 0;i<strlen(buf);i++)
			{
				if(strchr(s,buf[i])==NULL) ok = 0;
			}
			if(ok)
			{
				printf("(%d)\n",++count);
				printf("%5d\nx%4d\n-----\n%5d\n%4d\n-----\n%5d\n\n",abc,de,x,y,z);
			}
		}
	}
	printf("The number of solutions = %d\n",count);
	return 0;
}

字符处理函数strchr()

strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str, int c);

  • strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。
  • 如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
#include<stdio.h>
#include<string.h>
int main()
{
	char *s="666shansan";
	char *p;
	p = strchr(s,'s');
	printf("%s",p);
	return 0;
}

输出结果

shansan
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年10月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符串处理函数strchr() && 竖式问题
  • 竖式问题
    • 分析
      • 字符处理函数strchr()
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档