您的位置:首页 > 其它

《c 和指针》第9章第16题——数字字符串格式化输出

2012-07-13 02:06 323 查看
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int format(char *format_string,char const *digit_string)
{
char *p = format_string + strlen(format_string);
char *p2 = (char *)digit_string + strlen(digit_string);
char *flag = format_string;

if(*digit_string == NULL)
return 0;
while(*flag!= 0)
{
if(*flag == '.')
break;
flag++;
}
for(;p2 >= digit_string && p >= format_string;)
{
if(*--p == '#')
{
*p = *--p2;
}
}

while(p != format_string - 1)
{
if(*flag != 0)
{
while(p >= flag - 1)
{
if(*p == '#')
*p = '0';
--p;
}
}
*p-- = 1;
}
puts(format_string);
return 1;
}

int main(void)
{
char str[] = "###,###,###.##";
char str1[] = "2343";

format(str,str1);

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string c include system null