⑴ c语言编程,高手进。。。(反序输出一行英文单词)
#include
#include
#define
N
100
int
main(int
argc,
char
**argv)
{
char
str[N];
int
i;
gets(str);
for(i=(strlen(str)-2);
i>=0;
i--)
printf("%c",
str[i]);
return
0;
}
自己调试通过。
程序简单,但是完全满足你的要求。
⑵ 如何在C语言里面输入特定的单词,然后输入单词的倒序(如图片)
单词倒序输出?
简单点写个小函数
方便点写个栈,出入依次进栈,这样不用做处理,依次出栈就ok了
⑶ C语言逆序输出单词问题
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(void)
{
char*p;
charc[]="";
chars[1024],*t,z[1024];
intflag=1;
while(gets(s)){
if(s[0]=='#'){
}
elseif(s[0]!='#'){
p=strtok(s,c);
while(p){
t=strrev(p);
strcat(z,t);
strcat(z,"");
p=strtok(NULL,c);
}
strcat(z," ");
}
}
printf("%s",z);
}
⑷ c语言如何将字符串反序排列
"for(i=0,j=strlen(str);i<(strlen(str)/2;i++,j--)这个地方解释下 ~~ i<(strlen(str)/2;i++,j--)的意思"
i<(strlen(str)/2 //限定i的范围是字符串长度的一半,作为循环的退出条件.
i++,j--) // i++ 是循环的一部分,这个你应该能理解,j--为的是跟++i 对称起来,这是为了达到 字符串反序排列 的效果,j是从最后一位开始减的,也就是字符串的长度
str[i]=str[j-1];这里为什么j-1???
假如你这个字符串的长度是 6, 那么j一开始是6,
数组长度是6,那么最后一个数组元素是 a[5],因为是从a[0]开始的.
a[0]是第一个
a[5]是第6个,
⑸ 如何用c语言将一个句子中的每个单词倒序,如I evol uoy 变为I love you,注意不用链表
#include<stdio.h>
#include<string.h>
void fun(char *s,char *t)
{int i,s1;
s1=strlen(s);
for(i=0;i<=s1;i++)
t[i]=s[i];
for(i=0;i<s1;i++)
t[s1+i]=s[s1-i-1];
t[2*s1]='\0';
}
void main()
{char s[100],t[100];
printf("input s string:");
scanf("%s",s);
fun(s,t);
printf("result is :%s",t);
getch();
}
⑹ c语言单词反转,比如i love u ,怎么通过函式和数组 (function 和array ) 完成反转u love i
#include <stdio.h>
void ReverseWord(char* p, char* q)
{
while(p < q)
{
char t = *p ;
*p++ = *q ;
*q-- = t ;
}
}
void ReverseSentence(char *s)
{
char *p = s ;
char *q = s ;
while(*q != '\0')
{
if (*q == ' ')
{
ReverseWord(p, q - 1) ;
q++;
p = q;
}
else
q++ ;
}
ReverseWord(p, q - 1) ;
ReverseWord(s, q - 1) ;
}
int main(int agrc, char **argv)
{
char arr[30];
gets(arr);
ReverseSentence(arr);
printf("%s", arr);
return 0;
}
⑺ c语言 单词倒序输出
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void fun(char a[],char b[])
{int i;
for(i=strlen(a)-1;i>=0;i--)
if((i==0||!isalpha(a[i-1]))&&isalpha(a[i]))
{strcat(b,&a[i]);
strcat(b," ");
if(i)
a[i-1]=0;
}
}
void main(){
char a[]="i am you"; (这里的单词可以改为需要的)
char b[10];
int i;
for(i=0;i<10;i++)
b[i]=0;
puts(a);
fun(a,b);
puts(b);
}
⑻ C语言怎么反序输出
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
inti,j,k;
charstr[80];
//for(i=0;i<80;i++)
//{
//scanf("%c",&str[i]);
//}t
//注意你的输入有问题
gets(str);
//for(i=0,j=strlen(str)-1;i<j;i++,j--)
//{
//k=i;
//i=j;
//j=k;
//}
for(i=strlen(str)-1;i>=0;i--)//改改循环体即可
{
printf("%c",str[i]);
}
}
⑼ C语言把单词顺序倒置 比如see you later 编程later you see 我这个怎么不行
你的思路不对啊,这样的话太繁琐的过程了,你先把字符串全部逆序,然后遇到空格再把一个单词逆序,虽然可以达到目的,但是明显,重复劳动了呀。
建议思路:
一个字符串,直接根据空格、逗号、句号直接对字符串进行切割。切割成单个单个的单词,比如单词A,B,C。如果从字符串的尾部开始切割,那么直接将这些单词保存到一个字符串里就行了。
函数建议:strrchr()函数