c语言字符串经典例题含解答共5道
当提到经典的 C 语言字符串例题时,通常涉及字符串的基本操作、处理、以及一些算法。以下是其中的5道经典例题及其解答:
1. 逆序输出字符串
题目: 编写一个程序,输入一个字符串,然后逆序输出该字符串。
解答:
```c
#include <stdio.h>
#include <string.h>
int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    printf("Reversed string: ");
    for (int i = strlen(str) - 1; i >= 0; i--) {
        printf("%c", str[i]);
    }
    return 0;
}
```
2. 统计字符串中的字符个数
题目: 编写一个程序,输入一个字符串,统计其中字母、数字和其他字符的个数。
解答:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    int letters = 0, digits = 0, others = 0;
    for (int i = 0; str[i] != '\0'; i++) {
        if (isalpha(str[i]))
            letters++;
        else if (isdigit(str[i]))
c语言游戏编程题经典100例            digits++;
        else
            others++;
    }
    printf("Letters: %d\n", letters);
    printf("Digits: %d\n", digits);
    printf("Other characters: %d\n", others);
    return 0;
}
```
3. 查字符串中的子字符串
题目: 编写一个程序,输入一个主字符串和一个子字符串,判断子字符串是否在主字符串中,并输出匹配位置。
解答:
```c
#include <stdio.h>
#include <string.h>
int main() {
    char mainStr[100], subStr[50];
    printf("Enter the main string: ");
    gets(mainStr);
    printf("Enter the sub string: ");
    gets(subStr);
    char *position = strstr(mainStr, subStr);
    if (position != NULL) {
        printf("Substring found at position: %ld\n", position - mainStr);
    } else {
        printf("Substring not found.\n");
    }
    return 0;
}
```
4. 检查回文字符串
题目: 编写一个程序,判断输入的字符串是否是回文字符串(正着读和倒着读都一样)。
解答:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
    int left = 0;
    int right = strlen(str) - 1;
    while (left < right) {
        if (str[left] != str[right]) {
            return 0;  // Not a palindrome
        }
        left++;
        right--;
    }
    return 1;  // Palindrome
}
int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    if (isPalindrome(str)) {
        printf("Palindrome\n");
    } else {
        printf("Not a palindrome\n");
    }
    return 0;
}
```
5. 替换字符串中的空格
题目: 编写一个程序,输入一个字符串,将其中的空格替换为"%20"。
解答:
```c
#include <stdio.h>
#include <string.h>
int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] == ' ') {
            // Replace space with "%20"
            printf("%%20");
        } else {
            printf("%c", str[i]);
        }
    }
    return 0;
}
```
这些例题覆盖了字符串的一些基本操作和常见问题,希望它们有助于你加深对 C 语言字符串处理的理解。请注意,其中一些函数(如`gets`)在实际开发中可能会有安全性问题,更好的替代方案是使用安全的输入函数(例如`fgets`)和库函数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。