这是Codewar的挑战。该函数将字符串作为参数,并返回分数格式的字符串。如果输入字符在“ a”和“ m”之间,则应认为该状态为“无错误”状态,否则为错误消息。
示例:aaab
应该返回0/4
,其中分子是错误代码的数量,分母是字符串长度减去前导NULL字符。
xxa
将返回2/3
。
我的问题是如何将整数放入char数组中?如您所见,我正在向整数添加'0'
,该整数适用于数字0-9,但对于较大的数字,它会打印其他字符。
我正在使用Xcode作为我的IDE。
代码如下:
#include <stdio.h>
#include <string.h>
char* printerError(char *s)
{
int i, string_size, error_total;
unsigned long int size = strlen(s);
char status[3];
char *ptr;
string_size = error_total = 0;
for (i=0; i<size; i++)
{
if (s[i] != '\0' && s[i] != EOF)
{
string_size++;
if (s[i] > 'm')
error_total++;
}
}
status[0] = error_total + '0';
status[1] = '/';
status[2] = string_size + '0';
ptr = status;
printf("%s\n", status);
return ptr;
}
int main(void) {
printf("error code: %s\n", printerError("aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmxyz"));
return 0;
}