题目:
输入一个字符串s(长度不超过1000)表示网址,网址以cn或者com结尾,现在需要你将网址中除了www与域名(cn或者com)以外的部分,以分隔符点(.)为单位,每段单独反转。比如网址s = "www.baidu.zhidao.com" 反转后的结果为"www.udiab.oadihz.com".请输出反转之后的结果。(网址除了末尾不会出现包含cn或者com的字母)
输入格式:
输入一个字符串,字符串长度不超过1000
输出格式:
分段反转之后的结果
输入样例1:
www.baidu.zhidao.com
输入样例2:
www.com
输出样例1:
www.udiab.oadihz.com
输出样例2:
www.com
代码:
#include<stdio.h>
#include<String.h>
int main(){
int i,j=0,len,len2;//注意点j=0不可以放在数组b里面,否则会被覆盖,永远都是在0开始
//在写题的时候尽量用printf来检查语句是否有错误 (我自己写完删掉了,为了符合题目输出)
char t;
int b[1000];
char a[1000];
gets(a);
len=strlen(a);
for(i=0;i<len;i++){
if(a[i]=='.'){
len2++;
b[j]=i; //注意这里是被赋值 ,找到符号‘.’的位置
j++ ;
}
}
if(len2>1){
for(j=0;j<len2-1;j++){
int n;//问题二;n应该局部初始化 ,不要放在最上面
for(n=1;n<=(b[j+1]-b[j]-1)/2;n++){
t=a[b[j]+n];
a[b[j]+n]=a[b[j+1]-n];
a[b[j+1]-n]=t;
}
}
}
puts(a);
}