现在的位置: 首页 > 基础课程 > 正文

C语言课程期终复习(下)

2011年06月11日 基础课程 ⁄ 共 1623字 ⁄ 字号 暂无评论

5-C【strlen 字符串的长度】

1
2
3
4
5
6
7
void reverse(char s[])                  /* (char *s) */
{
    int c, i, j;
    for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
        c = s[i];  s[i] = s[j];  s[j] = c;
    }
}

5-D【字符串复制 strcpy】

1
2
3
4
5
6
7
void reverse(int v[], int n)
{
    int c, i, j;
    for (i = 0, j = n-1; i < j; i++, j--) {
        c = v[i];  v[i] = v[j];  v[j] = c;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void itoa(int n, char s[])       /*  -123 ->  “-123” */
{
    int i = 0, sign;
 
    if ((sign = n) < 0) 
        n = -n;
 
    do {               /* get digits in reverse order */
        s[i++] = n % 10 + '0'; 
    } while ((n /= 10) > 0); 
 
    if (sign < 0)
        s[i++] = '-';
    s[i] = '\0';
    reverse(s);
}

5-E【字符串比较 strcmp】

1
2
3
4
5
6
7
8
9
10
int trim(char s[])
{
    int n;
 
    for (n = strlen(s)-1; n >= 0; n--)
        if (s[n] != ' ' && s[n] != '\t' && s[n] != '\n')
            break;
    s[n+1] = '\0';
    return n;                       /* the length of s */
}
1
2
3
4
5
6
7
int strcmp(char *s, char *t)
{
    for (  ;  *s == *t ;  s++, t++)
        if (*s == '\0')
            return 0;
    return *s - *t;
}

抱歉!评论已关闭.