首页 > 编程语言 > 详细

明解C语言 入门篇 第九章答案

时间:2019-11-23 17:44:48      阅读:179      评论:0      收藏:0      [点我收藏+]

练习9-1

/*
    将字符串存储在数组中并显示(其2:初始化)
*/

#include <stdio.h>

int main(void)
{
    char str[] = "ABC\0DEF";        

    printf("字符串str为\"%s\"。\n", str);    /* 显示 */

    return 0;
}

练习9-2

/*
    将字符串存储在数组中并显示(其2:初始化)
*/

#include <stdio.h>

int main(void)
{
    char str[] = "ABC";
    *str = 0;

    printf("字符串str为\"%s\"。\n", str);    /* 显示 */

    return 0;
}

练习9-3

#include<stdio.h>
#define NUM 3

int main(void)
{
    int i;
    char s[NUM][128];
    for (i = 0; i < NUM; i++)
    {
        printf("s[%d]:", i);
        scanf("%s", s[i]);
        if (strcmp(s[i], "$$$$$") == 0)
            break;
    }
    for (i = 0; i < NUM; i++)
    {
        if (strcmp(s[i], "$$$$$") == 0)
            break;
        else
            printf("s[%d] = \"%s\"\n", i, s[i]);
    }

    return 0;

}

练习9-4

#include<stdio.h>


void null_string(char s[]) {
    *s = 0;
}
int main() {
    char s[] = "asd";
    null_string(s);
    printf("%s", s);

}

练习9-5

#include<stdio.h>
#define num 128

int str_char(const char s[], int c) {
    int i;
    for (i = 0; i < num; i++) {
        if (*s++ == c) {
            return  i;
        }
    }
    return -1;
    
}

int main() {
    char c = c;
    char x[num];
    printf("请输入字符串:");
    scanf("%s", x);

    printf("%s", x);
    putchar(\n);
    printf("%d", str_char(x, c));
    
}

练习9-6

#include<stdio.h>
#define num 128

int str_chnum(const char s[], int c) {
    int i;
    int cnt = 0;
    for (i = 0; i < num; i++) {
        if (*s++ == c) {
            cnt++;
        }
    }
    return cnt;
    
}

int main() {
    char c = c;
    char x[num];
    printf("请输入字符串:");
    scanf("%s", x);

    printf("%s", x);
    putchar(\n);
    printf("%d", str_chnum(x, c));
    
}

练习9-7

#include<stdio.h>
#define num 128

void put_stringn(const char s[], int n) {
    int i=0;
    int j;
    for (j = 0; j < n; j++) {
        while (s[i]) {
            putchar(s[i++]);
        }
        i = 0;
    }
}
int main() {
    
    char x[num];
    int n;
    printf("请输入字符串:");
    
    scanf("%s", x);

    printf("%s", x);
    printf("显示次数:");
    scanf("%d", &n);
    putchar(\n);

    put_stringn(x, n);
    
}

练习9-8

#include<stdio.h>
#define num 128

void put_stringr(const char s[]) {
    int g = strlen(s);
    int i;
    char m[num];
    for (i = 0; i < g; i++) {
        m[i] = s[g -i- 1];
        putchar(m[i]);
    }
    

}
int main() {
    
    char x[num];
    printf("请输入字符串:");
    scanf("%s", x);
    printf("%s", x);
    putchar(\n);
    put_stringr(x);

    
}

练习9-9

#include<stdio.h>
#define num 128

void rev_string(char s[]) {
    int i;
    int g = strlen(s);
    for (i = 0; i < (g/2); i++) {
        int tem = s[i];
        s[i] = s[g - i - 1];
        s[g - i - 1] =tem;
        
    }
    int j = 0;
    while (s[j])
    {
        putchar(s[j++]);

    }
}
int main() {
    
    char x[num];
    printf("请输入字符串:");
    scanf("%s", x);
    printf("%s", x);
    putchar(\n);
    rev_string(x);


    
}

练习9-10

#include <stdio.h>
#define num 128
void del_digit( char s[]) {
    int i=0;
    while(s[i] != \0) {
        if (s[i] >= 0 && s[i] <= 9) {
            s[i++];
        }
        else
        {
            putchar(s[i]);
            i++;
        }
    }
 }

int main() {
    char s[num];
    printf("输入字符串:");
    scanf("%s", s);
    printf("%s\n", s);
    del_digit(s);

}

练习9-11

#include <stdio.h>
#define num 5
#define number 6
/*--- 显示字符串数组 ---*/
void put_strary(const char* s[number], int n)
{
    int i;
    for (i = 0; i < n; i++) {
        if (strcmp(s[i], "$$$$$") == 0) {
            break;
        }
        printf("s[%d] = \"%s\"\n", i, s[i]);
        
    }
}

int main(void)
{
    char* cs[number] = { "Turbo", "NA", "DOHC","$$$$$","EWGEWGE" };

    put_strary(cs, num);

    return 0;
}

练习9-12

#include <stdio.h>

void rev_string(char s[][128], int n) {
    int i, j;
    for (i = 0; i < n; i++) {
        int j = 0;
        int g = strlen(s[i]);
        printf("s[%d]=\"", i);
        while (s[i][j])
        {
            
            putchar(s[i][(g - (j++) - 1)]);
        }puts("\"");
    }
}

int main() {
    int n;
    printf("将字符串逆向显示的个数:");
    scanf("%d", &n);
    char s[][128] = { "asdg","abc","cba","gfdaa" };
    rev_string(s,n);
}

 

明解C语言 入门篇 第九章答案

原文:https://www.cnblogs.com/nightswatch-candle/p/11917062.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!