简单的编程题,解决就给分

micmingboy 2003-10-19 03:58:05
要求编写一函数,传入一个字符串,如果字符串长度小于7,把字符串左边用'0'补上,返回新字符串,比如abc,输出0000abc
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fatwave 2003-10-19
  • 打赏
  • 举报
回复
楼上说的是用C写的,用BCB不用这样啊!!用AnsiString类型更简单,
哪就看楼主喜欢用哪种!!

//放到.h中,默认为7,也可改为其它的数
AnsiString checkstr(AnsiString stmp, int isen = 7);

AnsiString checkstr(AnsiString stmp, int isen)
{
int i;
i = stmp.Length();
i = isen - i;
while ( i > 0)
{
stmp = "0" + stmp;
i--;
}
return stmp;
}
佣工7001 2003-10-19
  • 打赏
  • 举报
回复
无语
netsys2 2003-10-19
  • 打赏
  • 举报
回复
//楼上的稍微复杂了点,且没有错误判断:

//输入:源字符串,输出长度
//输出:新字符串,返回NULL表示错误
char outbuf[80];
char *func(char *src,int outlen)
{
memset(outbuf,'0',80);
int srclen = strlen(src);
if( srclen > outlen || srclen>79)
return NULL;
strcpy(outbuf+outlen-srclen,src);
return outbuf;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ShowMessage(AnsiString(func("abc",7)));
}
神医CL 2003-10-19
  • 打赏
  • 举报
回复
这个。。。
void FitToAll(char *s,int result,int length)//将s[]不足length的前面填0
{
AnsiString ss;
int resultlength,i;
ss=IntToStr(result);
resultlength=ss.Length();
for (i=0;i<length-resultlength;i++) s[i]='0';
for (i=length-resultlength;i<length;i++) s[i]=ss[i-length+resultlength+1];
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧