插入字符串(不知道哪里错了)
来源:互联网 发布:淘宝摄影棚实景布置图 编辑:程序博客网 时间:2024/05/20 13:37
字符串
第8题
第8题
【描述】
有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
【输入】
输入包括若干行,每一行为一组测试数据,格式为
str substr
【输出】
对于每一组测试数据,输出插入之后的字符串。
【输入示例】
abcab eee
12343 555
【输出示例】
abceeeab
12345553
#include<stdio.h>#include<string.h>int main(){char str[100]={0},substr[4];int i,l,max,j,t=0;char ch=0;while(scanf("%s",str)!=EOF&&scanf("%s",substr)!=EOF){l=strlen(str);str[l]=0; str[l+3]='\0'; //可以用这种赋值\0的方式设置断点! for(i=0;i<l;i++){if(str[i]>ch){ch=str[i];max=i;}} //小心,!!!这里的i已经没用了,下面要用max! for(j=max+4;j<l+3;j++){ //这里原来变成了j<max+6,这样就只是三个元素后移三位了! //为什么输入azabcdef 222时,会错误输出az222abcabc str[j]=str[j-3];}for(j=max+1;j<=max+3;j++){str[j]=substr[t];t++;}printf("%s\n",str);t=0;ch=0; //一开始t,和ch都忘记初始化了!! max=0; }}
<span style="font-size:32px;"></span>相似度0.89
未知错误!
//思路2,/* 先输出str前半部分,再输出substr,最后输出str后半部分 */
#include<stdio.h>#include<string.h>int main(){char str[15],substr[4];int i,l,max,j,t=0;char ch=0;while(scanf("%s",str)!=EOF&&scanf("%s",substr)!=EOF){l=strlen(str);for(i=0;i<l;i++){if(str[i]>ch){ch=str[i];max=i;}} //小心,!!!这里的i已经没用了,下面要用max!for(i=0;i<=max;i++){printf("%c",str[i]);}printf("%.3s",substr);for(i=max+1;i<l;i++){ //i<l一开始变成了i<=max+3 printf("%c",str[i]);}printf("\n"); //不要把换行加到上面循环中,那样会输出多个换行 ch=0;}return 0;}
正确
解决了
:
#include<stdio.h>#include<string.h>int main(){char str[100]={0},substr[4];int i,l,max,j,t=0;char ch=0;while(scanf("%s",str)!=EOF&&scanf("%s",substr)!=EOF){char str2[100];l=strlen(str);str[l]=0; str2[l+3]='\0'; //可以用这种赋值\0的方式设置断点! for(i=0;i<l;i++){if(str[i]>ch){ch=str[i];max=i;}} //小心,!!!这里的i已经没用了,下面要用max! for(j=max+4;j<l+3;j++){ //这里原来变成了j<max+6,这样就只是三个元素后移三位了! //为什么输入azabcdef 222时,会错误输出az222abcabc str2[j]=str[j-3];}for(j=max+1;j<=max+3;j++){str2[j]=substr[t];t++;}for(j=0;j<=max;j++){str2[j]=str[j];}printf("%s\n",str2);t=0;ch=0; //一开始t,和ch都忘记初始化了!! max=0; }}
解决方案:在循环内部设立新数组,来存放最终数组
0 0
- 插入字符串(不知道哪里错了)
- 真心不知道哪里错了 。。。
- 不知道哪里错了,求指导
- 求助数据类型转换不知道错哪里了
- POJ 3009 原来写的不知道哪里错了。
- 不知道哪里错了?请大家帮忙……
- 不知道这个索引错在哪里了?
- 自己写的strcamp函数不知道哪里错了
- 不知道错在了哪里,请求帮忙,谢谢
- 郁闷,不知道错在哪里
- 我找不出自己的代码哪里错了你知道吗
- POJ1269(WA)实在不知道问题在哪里了。。。麻烦帮看。。
- log不知道打到哪里去了?
- 一个小程序不知道哪里出问题了,python
- 唉,小心和开心都不知道跑哪里去了,不回来了。
- JSP新手。。简单的问题,不知道哪里错了。。急急急。 下面是源码。麻烦帮看一下
- strong与copy,用错了,有时候还会崩溃,不知道问题出在哪里,有时候就有这里
- 电子工程师的出路在哪里?干了两年电子工程师(硬件开发),不知道以后方向在哪里,挺迷茫!
- 第一章LINUX内核设计与实现(第2版) 第一章
- typedef 用法总结
- C/C++ static 用法总结
- 接口的概念
- 如何去掉linux 开机屏幕的字符信息?
- 插入字符串(不知道哪里错了)
- 使用Java扩展机制加载所有JAR包
- json工具处理对象属性时,该属性需要特殊处理时,例如时间本来是yyyy/MM/dd你想转换为yyyy-MM-dd
- C#学习笔记 自定义事件
- 安卓设置某个按钮与顶部的距离是屏幕高度的八分之一
- java抽象类和接口的区别,使用场景
- SQL Server 存储过程
- 智能指针的死穴 -- 循环引用
- Java中强制类型转换的实现机制