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小时内删除。
发表评论