我是一名新的C程序员。 我被要求输入一个ID号作为输入,如果ID长度<9,则需要在该数字前加上“ 0”。 例: 输入:12345 输出:000012345
我可以使用以下库:stdio,stdlib,字符串,数学和时间。
答案 0 :(得分:0)
答案 1 :(得分:0)
这里有一个简单的解决方案。
但是,如果您想要一个困难的解决方案,在其中杂乱地处理字符串等,您可以执行以下操作:
将您的id转换为字符串(如果还不是一个,但是argv默认情况下应为字符串)
通过执行9-idString Length
创建一个“缓冲区”字符串变量
for从0到9-idString的循环,并使用strcat在缓冲区字符串中添加“ 0”。
使用strcat将ID添加到缓冲区字符串中
示例代码如下:
int id = 12345;
char idstring[10];
char buffer[10];
sprintf(idstring, "%d", id);
int missingZerosCount = 9 - strlen(idstring);
strcpy(buffer, "");
while (missingZerosCount > 0) {
strcat(buffer, "0");
missingZerosCount--;
}
strcat(buffer, idstring);
argv变体:
char idstring[10];
char buffer[10];
sprintf(idstring, "%s", argv[1]);
int missingZerosCount = 9 - strlen(idstring);
strcpy(buffer, "");
while (missingZerosCount > 0) {
strcat(buffer, "0");
missingZerosCount--;
}
strcat(buffer, idstring);