C++经典编程题#4:单词翻转

总时间限制: 
1000ms 
内存限制: 
65536kB
描述

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
输出
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
样例输入
hello world
样例输出
olleh dlrow代码如下:
#include<stdio.h>
#include<string.h>
int main(){
	char str[510],ctr[510];
	int j=0;
	gets(str);
	int n=strlen(str);
	str[n]=‘ ‘;
	str[n+1]=‘\0‘;
	memset(ctr,‘\0‘,sizeof(ctr));
	for(int i=0;i<n+1;i++){
		if(str[i]!=‘ ‘){
			ctr[j++]=str[i];
		}
		else{
			for(int k=j-1;k>=0;k--){
				printf("%c",ctr[k]);
			}
			j=0;
			memset(ctr,‘\0‘,sizeof(ctr));
			if(i!=n){
				printf(" ");
			}
			else printf("\n");
		}
	}
}

  以上代码本人亲测!请用心感悟!希望可以帮到初学的您!!分享也是一种快乐!!!请接力。。。

时间: 2024-07-31 04:43:18

C++经典编程题#4:单词翻转的相关文章

程序设计入门—Java语言 第六周编程题 1 单词长度(4分)

第六周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 1 单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如"it's"算一个单词,长度为4.注意,行中可能出现连续的空格. 输入格式: 输入在一行中给出一行文本,以'.'结束,结尾的句号不能计算在最后一个单词的长度内. 输出格式: 在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后

ACM编程题之矩阵翻转

题目: 晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的. 于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分. 输入第一行包括由空格分开的整数M.N.T(0<M<200,0<N<200,T=0或1), 其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转. 之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据. 输出包括M行N列,每个数字之间用一个空格分隔,表示的是按照要求翻转后的矩阵. 样例输

Java经典编程题50道之四十六

编程实现两个字符串的连接. public class Example46 {    public static void main(String[] args) {        addString("hello"," world!");    }    public static void addString(String s1,String s2){        String s3=s1+s2;        System.out.println("

Java经典编程题50道之五十

有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud"中. public class Example50 {    public static void main(String[] args) {        stud();    } public static void stud() {        Scanner ss = new Scanner(System.in); 

Java经典编程题50道之九

一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. public class Example09 {    public static void main(String[] args) {        number();    } public static void number() {        int count = 0;        for (int i = 1; i <= 1000; i++) {     

Java经典编程题50道之五

利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. public class Example05 { public static void main(String[] args) {        score(90);    } public static void score(int n) {        char s = n >= 90 ? 'A' : (n < 60 ? 'C' : 'B');        Sys

Java经典编程题50道之十七

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,而且又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,就只剩下一个桃子了.求第一天共摘了多少个桃子. public class Example17 {    public static void main(String[] args) {        int sum = peach(1);        System.out.println("第一天共摘

Java经典编程题50道之十八

两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人,以抽签决定比赛名单.有人向队员打听比赛的名单:a说他不和x比,c说他不和x. z比.请编程序找出三队赛手的名单. public class Example18 {    public static void main(String[] args) {        vs();    } public static void vs() {        char[] m = { 'a', 'b', 'c' };      

Java经典编程题50道之十六

输出九九乘法表. public class Example16 {    public static void main(String[] args) {        table(9);    } public static void table(int n) {        for (int i = 1; i <= n; i++) {            for (int j = 1; j <= i; j++) {                System.out.print(j +