C 库函数 int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串。
用法实例:
#include <stdio.h>
#include <math.h>
int main()
{
char str[80];
sprintf(str, "Pi 的值 = %f", M_PI);
puts(str);
return(0);
}
C 库函数 char *strchr(const char *str, int c) 在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。
用法实例:
#include <stdio.h>
#include <string.h>
int main ()
{
const char str[] = "http://www.runoob.com";
const char ch = '.';
char *ret;
ret = strchr(str, ch);
printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);
return(0);
}
ac代码:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
char s[20],buffer[99];
cin >> s;
int count = 0;
//在此处书中写的是从111开始
//100*10 = 1000 数字集合为10 原代码会遗漏
for(int abc = 100; abc < 999; abc++)
{
for(int de = 10; de < 99; de++)
{
int x = abc * (de % 10);
int y = abc * (de / 10);
int z = abc * de;
sprintf(buffer,"%d%d%d%d%d",abc,de,x,y,z);
int flag = 1;
for(int i = 0; i < strlen(buffer); i++)
{
if(strchr(s,buffer[i]) == NULL)
{
flag = 0;
break;
}
}
if(flag == 1)
{
printf("<%d>\n",++count);
printf("%5d\nX%4d\n-----\n%5d\n%4d\n-----\n%5d\n\n",abc,de,x,y,z);
}
}
}
cout << count << endl;
return 0;
}