您的位置:首页 > 其它

lrj 竖式问题

2016-05-21 01:59 204 查看
#include <stdio.h>

#include <string.h>

int main()

{

int count=0;

char s[20],buf[99]={0};

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);

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;

}

(1).strchr()

char *strchr(const char* _Str,int _Val)

char *strchr(char* _Str,int _Ch)

头文件:#include <string.h>

功能:查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回NULL。

返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL

(2).strlen()

老熟人了,但是有些东西要注意,strlen(s)返回的就是结束标记之前的字符个数,所以s[strlen(s)]正是字符串结束标记'\0'。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: