c语言怎么把“abc”变成“bcd"
答案:5 悬赏:30 手机版
解决时间 2021-03-22 23:50
- 提问者网友:欲望失宠
- 2021-03-22 11:51
写出程序
最佳答案
- 五星知识达人网友:思契十里
- 2021-03-22 12:26
没有必要转换为int,然后再转换回来,直接加1即可。
//---------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
void ne(char *a)
{
int i,len=strlen(a);
for (i = 0; i<len; i++)
a[i]++;
}
int main(void)
{
char str[80];
scanf("%s",str);
ne(str);
printf("%s\n",str);
return 0;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
void ne(char *a)
{
int i,len=strlen(a);
for (i = 0; i<len; i++)
a[i]++;
}
int main(void)
{
char str[80];
scanf("%s",str);
ne(str);
printf("%s\n",str);
return 0;
}
//---------------------------------------------------------------------------
全部回答
- 1楼网友:春色三分
- 2021-03-22 16:07
#include <stdio.h>
int main()
{
char sz[4] = {"abc"};
for( int i=0;i<3;++i )
{
(*(sz+i))++;
}
printf("%s",sz);
return 0;
}
- 2楼网友:深街酒徒
- 2021-03-22 14:39
你好,代码修改如下,望采纳,你比较一下不同之处。
#include
int main()
{
int i=0,n=0;
char puzzle[10];
printf("please input n:");
scanf("%d",&n);//输入移位个数
printf("please input puzzle:");
scanf("%s",puzzle);//这里在循环外输入,采用%s格式输入
for (i=0;i<10;i++)
{//去掉while循环,会让程序死循环
if (puzzle[i]>='a'+n && puzzle[i]<='z' || puzzle[i]>='a'+n && puzzle[i]<='z')//a+n到z,或a+n到z
puzzle[i]=puzzle[i]-n;//转换为前n个字母
else if (puzzle[i]>='a'&& puzzle[i]<'a'+n || puzzle[i]>='a' && puzzle[i]<'a'+n)
puzzle[i]=puzzle[i]+26-n;//转换为其后第26-n个字母/
}
printf("%s\n",puzzle);
return 0;
}
- 3楼网友:街头电车
- 2021-03-22 14:15
#include "stdio.h"
main()
{
char ch[4]={'a','b','c','\0'};
int i;
for(i=0;i<3;i++)
{
ch[i]=(char)((int)ch[i]+1);
}
printf("%s",ch);
}
解释:
分别将abc转换称int型的数值,然后分别加1就变成了bcd
- 4楼网友:青灯有味
- 2021-03-22 13:30
不用那么麻烦 直接+1就行了
根据楼上兄弟的代码更改
#include "stdio.h"
main()
{
char ch[4]={'a','b','c','\0'};
int i;
for(i=0;i<3;i++)
ch[i]=ch[i]+1;
printf("%s",ch);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯