C 库函数 int sprintf(char *str, const char *format, …) 发送格式化输出到 str 所指向的字符串。
int sprintf(char *str, const char *format, ...)
例:把整数变为字符串
#include <stdio.h>
int main()
{
char a[3] ;
int m = 110;
sprintf(a,"%d",m);
printf("%c",a[0]); //结果为1
return 0;
}
应用:判断一个整数中某一位是否含有的某一个数
蓝桥杯校内模拟赛
在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算时只是算一个数。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
代码
#include <stdio.h>
#include <string.h>
#define N 2019
int check(int i) {
char s[5];
sprintf(s, "%d", i);
for (int j = 0; j < strlen(s); ++j) {
if(s[j]=='9')return 1;
}
return 0;
}
int main() {
int ans = 0;
for (int i = 9; i <= N; ++i) {
if (check(i)){
ans++;
}
}
printf("%d\n",ans);
return 0;
}