当前位置: 首页 > wzjs >正文

网站开发执行文档安卓开发自学教程

网站开发执行文档,安卓开发自学教程,招聘网最新招聘信息网,汉阳网站推广公司每日习题分享。 字符串函数的运用 首先回顾一下字符串函数。 字符串长度 strlen(const char *s);功能:计算字符串的长度,不包含终止符\0。 字符串连接 char *strcat(char *dest, const char *src); char *strncat(char *dest, const char *src, si…

每日习题分享。

字符串函数的运用

首先回顾一下字符串函数。

字符串长度

strlen(const char *s);

功能:计算字符串的长度,不包含终止符\0

字符串连接

char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, size_t n);

功能:将src追加到dest后。strncat最多追加n个字符。

字符串连接

char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, size_t n);

功能:将src追加到dest后。strncat最多追加n个字符。

字符串比较

int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);

功能:比较字符串。返回值为 0 表示相等,<0 表示s1小于s2,>0 表示s1大于s2strncmp最多比较n个字符。

字符串分割

char *strtok(char *str, const char *delim);

功能:将字符串按分隔符delim分割成多个子串。(例如 ,.)

习题一 

 

#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
int main()
{char s[MAXLEN + 1], t[MAXLEN + 1];int len_s, len_t;if(fgets(s, sizeof(s), stdin) != NULL){// 去掉末尾的换行符len_s = strlen(s);if (len_s > 0 && s[len_s - 1] == '\n') {s[len_s - 1] = '\0';len_s--;}}if (fgets(t, sizeof(t), stdin) != NULL){len_t = strlen(t);if (len_t > 0 && t[len_t - 1] == '\n'){t[len_t - 1] = '\0';len_t--;}}// 检查连接后的字符串长度是否超过1000个字符if (len_s + len_t > MAXLEN){printf("错误:连接将导致字符串长度超限。\n");printf("%s\n", s);}else {// 连接字符串 t 到 s 的末尾strcat(s, t);printf("%s\n", s);}return 0;}

本题其实没有任何难度,但是仅仅使用strcat函数的话是不会通过的。需要考虑众多的因素。

例如:
这里把考虑长度的部分删除,直接strcat,输出。

 

习题二

 

#include <stdio.h>
#include <string.h>int main() 
{char s[1001];int pos, len;// 读取字符串(包含空格)if (fgets(s, sizeof(s), stdin) == NULL) {return 1;}// 移除换行符size_t len_s = strlen(s);if (len_s > 0 && s[len_s - 1] == '\n') {s[--len_s] = '\0';}// 读取位置和长度if (scanf("%d %d", &pos, &len) != 2) {return 1;}// 调整为0-based索引pos--;// 检查位置有效性if (pos >= len_s) {printf("%s\n", s);return 0;}// 计算实际删除长度int delete_len = (pos + len > len_s) ? len_s - pos : len;// 移动剩余字符覆盖删除部分memmove(s + pos, s + pos + delete_len, len_s - (pos + delete_len) + 1);// 输出结果printf("%s\n", s);return 0;
}

习题三

首先我们需要考虑下标与位置的关系,由题目可知 6指的是下标5。易错点

其他的在按题目要求来书写。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>#define MAX_LEN 1000int main() 
{char s[MAX_LEN + 2]; // 主串缓冲区,足够容纳输入和换行符fgets(s, sizeof(s), stdin); // 读取主串// 去除末尾的换行符size_t len_s = strlen(s);if (len_s > 0 && s[len_s - 1] == '\n'){s[len_s - 1] = '\0';len_s--;}int pos, len;scanf("%d %d", &pos, &len); // 题目保证参数合法,无需检查// 直接截取并输出,无需调整int i;
for (i = 0; i < len && (s + pos - 1)[i] != '\0'; i++)
{putchar((s + pos - 1)[i]);
}
putchar('\n');return 0;
}

习题四

 这是一道题的测试点,如果提交后没有通过,需要通过这些来修改代码。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>char* insertString(char* s, char* t, int pos) {int len_s = strlen(s);int len_t = strlen(t);// Check if pos is validif (pos < 1 || pos > len_s + 1) {return NULL;}// Allocate memory for the new stringchar* result = (char*)malloc((len_s + len_t + 1) * sizeof(char));if (result == NULL) {return NULL;}// Copy the first part of s to resultstrncpy(result, s, pos - 1);result[pos - 1] = '\0';// Append t to resultstrcat(result, t);// Append the remaining part of s to resultstrcat(result, s + pos - 1);return result;
}int main() {char s[1000], t[1000];int pos;// Read the input strings and positionfgets(s, sizeof(s), stdin);s[strcspn(s, "\n")] = 0; // Remove newline characterfgets(t, sizeof(t), stdin);t[strcspn(t, "\n")] = 0; // Remove newline characterscanf("%d", &pos);// Insert t into s at position poschar* result = insertString(s, t, pos);if (result == NULL) {printf("错误:指定插入位置不存在。\n");printf("%s\n", s);} else {printf("%s\n", result);free(result);}return 0;
}

 

http://www.dtcms.com/wzjs/541899.html

相关文章:

  • 深圳网站设计按天收费wordpress 加入代码
  • 广州网站建设定制价格国内做网站网站代理
  • 浙江平湖建设局网站唐山制作网站公司
  • 有口碑的宁波网站建设营销是什么意思
  • 企业网站空间选择设计软件有几种
  • 建设农家书屋官方网站温州建设信息港网站
  • 电商网站架构网页设计首页制作
  • 网站优化软件破解版小程序开发教程pdf
  • 中小企业电子商务网站建设如何创建网站平台
  • 西宁网站制作哪家公司好上海做网站天锐
  • 手机网站怎么建设大连网站建设领超最好
  • 继续接入备案 增加网站 区别怎么做简历的网站
  • idea做一个自己的网站教程建立网站三大基础
  • 网站建设佰金手指科杰十三河南网站建设推广
  • 前端用什么框架做网站最好看免费观看高清大全老师补课中国
  • 西安网站建设公司 云阔wordpress更换域名图片不显示
  • 做公司网站时的英文简介高端企业网站建设公司怎么做实用性
  • 网站建设哪个遵化网站开发
  • 南山网站建设哪家好济南网站建设济南
  • 在线直播教学网站是怎么做的上海市建设安全协会网站孟 侠
  • 织梦网站建设深圳展览展示公司排行
  • 自己做的网站怎么设置地址站长做什么网站赚钱
  • 用vue element-ui做的网站商城购物网站有哪些模块
  • 政务网站建设的三大核心功能是什么wordpress自定义搜索页面
  • 最专业微网站首选公司集团网站设计案例
  • 济南网站设计哪家好今天发生的新闻
  • 灯具做外贸的网站有哪些如何让百度快照找到自己的网站
  • 自己申请一个网站怎么做从化建设局网站关停
  • 做网站应该做哪方面的wordpress 显示代码
  • 广州网站建设公司兴田德润怎么样普陀做网站价格