一、
sprintf:
输出到字符串。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。
函数原型:int sprintf( char *buffer, const char *format, [argument,...] ); buffer是字符数组名;format是格式化字符串。
返回值:s printf的返回值是字符数组中字符的个数,即字符串的长度,不用再调用strlen(s)求字符串的长度。
函数原型:int sprintf( char *buffer, const char *format, [argument,...] ); buffer是字符数组名;format是格式化字符串。
返回值:s printf的返回值是字符数组中字符的个数,即字符串的长度,不用再调用strlen(s)求字符串的长度。
二、strchr:在字符串中查找单个字符。
函数原型:char *strchr(char const *str,int ch);
返回值:strchr函数找到后返回一个指向该位置的指针,如果不存在,返回一个NULL指针 。
返回值:strchr函数找到后返回一个指向该位置的指针,如果不存在,返回一个NULL指针 。
举例:
#include<stdio.h> #include<string.h> int main() { int count = 0; 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); 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; }
运行结果: