sprinf函数
程序员文章站
2022-06-03 21:10:09
...
头文件:#include <stdio.h>
sprintf()函数用于将格式化的数据写入字符串,其原型为:
int sprintf(char *str, char * format [, argument, …]);
【参数】str为要写入的字符串;format为格式化字符串,与printf()函数相同;argument为变量。
除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数–格式化字符串–上。 printf()和sprintf()都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。
应用
uva 725
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int n,t = 0;
char s[12];
while(cin >> n && n){
if(t++ > 0) printf("\n");
int cnt = 0;
for(int i = 1234 ; ;i++){
int x = i * n;
if(x > 98765) break;
sprintf(s,"%05d%05d",i,x);
sort(s,s+10);
bool flag = true;
for(int i = 0 ; i < 9 ; i++){
if(s[i] == s[i+1]){
flag = false;
}
}
if(flag){
cnt++;
printf("%05d / %05d = %d\n",x,i,n);
}
}
if(!cnt) printf("There are no solutions for %d.\n",n);
}
}