⑴ 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()函數