c++怎么实现单词翻转? 单词翻转c语言
- 如何用C++实现单词字母顺序的反转:例如:将Hello world!变为:olleH dlrow!
- C语言中“reverse”反转字符串怎么用?
- 如何编辑c语言程序把一个单词译成另一个单词
- C语言输入一串英文句子,怎么让单词顺序不变,再倒序输出 例如:I love you ,输出为,y
如何用C++实现单词字母顺序的反转:例如:将Hello world!变为:olleH dlrow!
#include <stdio.h>
#include <string.h>
#define N 100
//设置全局变量 一般 倒转 这种 最好用堆栈 来做 因为是先进后出 先把前面的字母放进去 然后最好弹出最先放出的字母
char stack[N];
int top=-1;
void push(char ch)
{
stack[++top]=ch;
}
int pop(void)
{
return stack[top--];
}
int main ()
{
char Input[]="Hello World! good ";
int length,i;
int j=-1;
length = strlen(Input);
printf("length is %d",length);
// char temple[length+1]; // strlen (Input)得到的是 除了 字符串结束符的 字符个数 所以要加上1
for(i=0;i<length+1;i++)
{
if((Input[i]==' ')||i==length) //假设空格 来区分单词 It's 算一个单词
{
while(top!=-1)
{
j++;
Input[j]=pop();
}
j++;
}
else
push(Input[i]);
}
printf("\n");
printf("%s",Input);
getchar();
return 0;
}
C语言中“reverse”反转字符串怎么用?
有2处错误,在注释中显示
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int n;
char *p;
puts("请输入您要输入字符串的字符个数:");
scanf("%d",&n);
//既然用char*,应统一,不能使用sizeof(int)
p = (char*)malloc(n*sizeof(char));
for(int i=0;i<n;i++)
{
scanf("%c",&p[i]);//用%c接收字符
}
printf("输出reverse后的字符串:");
for(i=n-1;i>=0;i--)
{
printf("%c \t",p[i]);
}
free(p);
system("PAUSE");
return 0;
}
如何编辑c语言程序把一个单词译成另一个单词
main()
{
char c1,c2,c3,c4,c5,d1,d2,d3,d4,d5;
c1=C;
c2=h;
c3=i;
c4=n;
c5=a;
d1=c1+4;
d2=c2+4;
d3=c3+4;
d4=c4+4;
d5=c5+4;
printf("%d%d%d%d%d",d1,d2,d3,d4,d5);
}
只要ASCII码加4就可以了,哪里不懂再问我,QQ:527709313
C语言输入一串英文句子,怎么让单词顺序不变,再倒序输出 例如:I love you ,输出为,y
//希望我的回答对你的学习有帮助
#include
#include
typedef struct Stack{
int top;
char c[100000];
}Stack;
void init(Stack &s){
s=0;
}
void push(Stack &s,char c){
s.c[s++]=c;
}
int pop(Stack &s,char *p){
int i=0;
while(s>0&&(*p++=s.c[--s])!=' ') {
i++;
}
return i-1;
}
void rev(Stack &s){
char c[100];
while(s>0){
int i=pop(s,c);
for(;i>=0;i--){
printf("%c",c[i]);
}
printf(" ");
}
printf("\n");
}
int main(){
Stack s;
init(s);
char c[1000];
gets(c);
for(int i=0;i push(s,c[i]); rev(s); return 0; }