❶ 计算机c语言编程问题"单词倒置"
两层循环,第一层循环指定开始标记例如[t] 第二层循环寻找结束标记例如[\t]
找到即为正确格式
❷ C语言把单词顺序倒置 比如see you later 编程later you see 我这个怎么不行
你的思路不对啊,这样的话太繁琐的过程了,你先把字符串全部逆序,然后遇到空格再把一个单词逆序,虽然可以达到目的,但是明显,重复劳动了呀。
建议思路:
一个字符串,直接根据空格、逗号、句号直接对字符串进行切割。切割成单个单个的单词,比如单词A,B,C。如果从字符串的尾部开始切割,那么直接将这些单词保存到一个字符串里就行了。
函数建议:strrchr()函数
❸ C语言问题:字符串(单词)反转,例如:I am boy,反转为 I ma yob 简单实用,指针操作
#include <stdio.h>
int isSlipChar(char c) //非单词字符返回1
{
static char slipchar[]=" \t\n,;.<>\\/?:'\"|~`!@#$%^&*()-+{}[]";//自定义所有的可出现又不做单词的字符
char *p=slipchar;
while(*p)if(*p++==c)return 1;
return 0;
}
char* strReverse(char*s)//反转单词
{
if(!s||!*s) return s;
char *p1,*p2,*p3;
p3=s;
while(*p3){ //Agan://昨天的写法,接受网友的建议,改为模块化代码
while(isSlipChar(*p3)) p3++;//跳过不是单词的内容
p1=p2=p3;
while(*p2&&!isSlipChar(*p2)) p2++;
p3 = p2--;
while(p1<p2) {char c=*p1;*p1=*p2;*p2=c;p1++;p2--;}
} //if(*p3) goto Agan;//goto循环改为while循环了
return s;
}
//测试用例:
void main()
{
char buf[250];
printf("输入一个串:\n");gets(buf);
printf("反转后:\n%s",strReverse(buf));
}
//测试结果:
D:\Hwm\VC7\test1\Debug>test1.exe
输入一个串:
I am boy, you are a girl;
反转后:
I ma yob, uoy era a lrig;
D:\Hwm\VC7\test1\Debug>
❹ c语言单词翻转例如happy变成yppah
存放到数组里
然后从数组最后向前访问就好了
❺ C语言输出一行将所有的单词的位置翻转过来,最后出现的单词最先输出,每
#include<stdio.h>
#include<string.h>
intmain()
{
chara[100];
intk,i,j,p;
gets(a);
k=strlen(a);
j=k;
for(i=k-1;i>=0;i--)
{
if(a[i]=='')
{
p=i;//先保存当前要输出的位置
while(a[i-1]=='')i--;//跳过多余的空格
for(;p<j;p++)
{
printf("%c",a[p+1]);//输出单词中的各字母
}
j=i;//记录下当前结束位置
}
}
for(i=0;i<j;i++)
{
printf("%c",a[i]);
}
printf(" ");//换行
return0;
}
❻ C语言每个句子的每一个单词 倒置
给出一个句子,把每一个字母倒置,但不改变单词的顺序。
输入:
这个题有多个CASE。第一行给出一个正整数N(N<500),然后紧接着一个空行,再紧接着N个数据块,。每一个数据块,包括一个正整数T与T行英语句子。句子总长不超过300。每两个数据块之间有一个空行。每个句子只包含大写字母与小写字母。
输出:
对于每个数据块 一行一句输出。每两个数据块之间用一个空行分隔。
输入样例:
1
3
I am happy today
To be or not to be
I want to win the practice contest
输出样例:
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
❼ C语言单词素数反转
因为你最多就只有500个单词,所以你可以将所有的素数用一个数组记录下来。然后使用strtok函数,以空格为分隔符进行分割,当分割出的第i个字符(i为素数时),就将该单词反转输出,其他的直接输出即可。
❽ 怎样用c语言表示 翻转的数 比如把81 翻转为18
用c语言表示翻转的数可以参考下面的代码:
#include <stdio.h>
int main()
{int C,D,S;
scanf("%d",&C);
D=(C%10)*10+C/10;
S=C+D;
printf("S=%d",S);
}
(8)c语言单词反转扩展阅读:
scanf()是C语言中的一个输入函数。
与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。
(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
❾ 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>
voidf(char*s)
{
if(*s)
{
f(s+1);
putchar(*s);
}
}
main()
{
chars[100];
printf("请输入一个单词:");
gets(s);
f(s);
printf(" ");
}