原题链接——
Description
学习C语言的时候,printf五花八门的输出方式一定让大家纠结过。但后来做题的时候,如此丰富的使用方法却也给了我们很多惊喜。
在这里一起复习一下吧。
Input
每行一个合法的printf语句,格式为printf("/*输出方法的内容*/", a, b, c);
a,b,c为三个int型十进制整数。数据保证引号内没有转义字符,且可以合法使用a,b,c三个参数。
每行输入不超过80个字符。
Output
每组数据对应一行输出这个printf语句应该输出的内容。
Sample Input
printf("%*d%d", 1, 5, 3);
printf( "%x%.2d%d", 11, 3, 2) ;
Sample Output
53
b032
#include<cstdio>
#include <cstdlib>
#include<string.h>
#include <ctime>
using namespace std;
int main(){
char ss[100]="%d%d",ch='^',mm[100];
int a[100];
while(scanf("%c",&ch)!=EOF)
{
while(scanf("%c",&ch)&&ch!='\"') ;
for(int i=0;i<=80;i++)
{
scanf("%c",&ss[i]);
if(ss[i]=='\"'&&ss[i-1]!='\\')
{
ss[i]='\n';
ss[i+1]='\0';
break;
}
}
for(int i=1;i<=80;i++)
{
scanf(" %c",&ch);
if(ch!=',')
{
scanf("%s",mm);
break;
}
scanf("%d",&a[i]);
}
printf((const char*)ss,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22],a[23],a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31],a[32],a[33],a[34],a[35],a[36],a[37],a[38],a[39],a[40],a[41],a[42],a[43],a[44],a[45],a[46],a[47],a[48],a[49],a[50],a[51],a[52],a[53],a[54],a[55],a[56],a[57],a[58],a[59],a[60],a[61],a[62],a[63],a[64],a[65],a[66],a[67],a[68],a[69],a[70],a[71],a[72],a[73],a[74],a[75],a[76],a[77],a[78],a[79],a[80],a[81],a[82],a[83],a[84],a[85],a[86],a[87],a[88],a[89],a[90]);
}
return 0;
}