提交时间:2025-07-11 12:34:03
运行 ID: 330929
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main() { // 文件输入输出(示例) // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); // 1. 字符串输入(字符数组) char s[1000]; printf("输入带空格的字符串(使用fgets,遇回车结束):"); fgets(s, sizeof(s), stdin); s[strcspn(s, "\n")] = 0; // 移除fgets可能读取的换行符 // 2. 整型转字符串 int num = 12345; char str[20]; sprintf(str, "%d", num); printf("整型转字符串: %s\n", str); // 3. 字符串转整型 char int_str[] = "67890"; int int_val = atoi(int_str); printf("字符串转整型: %d\n", int_val); // 4. 翻转字符串 char rev_str[] = "abcdefg"; int len = strlen(rev_str); for (int i = 0; i < len / 2; i++) { char temp = rev_str[i]; rev_str[i] = rev_str[len - i - 1]; rev_str[len - i - 1] = temp; } printf("翻转字符串: %s\n", rev_str); // 5. 字符串查找 char haystack[] = "hello world"; char *pos = strstr(haystack, "world"); if (pos) { printf("字符串查找位置: %ld\n", pos - haystack); } // 6. 字符串裁剪(复制子串) char src[] = "abcdef"; char dest[10]; int start = 2, length = 3; strncpy(dest, src + start, length); dest[length] = '\0'; // 手动添加字符串结束符 printf("字符串裁剪: %s\n", dest); // 7. 字符串替换(示例:替换第一个匹配) char replace_str[] = "hello world"; char old_word[] = "world"; char new_word[] = "doubao"; char *p = strstr(replace_str, old_word); if (p) { memmove(p + strlen(new_word), p + strlen(old_word), strlen(p + strlen(old_word)) + 1); memcpy(p, new_word, strlen(new_word)); } printf("字符串替换: %s\n", replace_str); // 8. 字符串转大写 char upper_str[] = "hello"; for (int i = 0; upper_str[i]; i++) { upper_str[i] = toupper(upper_str[i]); } printf("转大写: %s\n", upper_str); // 9. 字符串转小写 char lower_str[] = "HELLO"; for (int i = 0; lower_str[i]; i++) { lower_str[i] = tolower(lower_str[i]); } printf("转小写: %s\n", lower_str); // 10. 字符数组转字符串(C语言中字符数组即字符串) char arr[10] = "abccba"; printf("字符数组: %s\n", arr); return 0; }