现在海外做的比较好一点的网站有哪些,数据库和网站,wordpress个性时光轴主题,网站建设以及seo1009. 说反话 (20)给定一句英语#xff0c;要求你编写程序#xff0c;将句中所有单词的顺序颠倒输出。 输入格式#xff1a;测试输入包含一个测试用例#xff0c;在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成#xff0c;其中单词是由英文字母要求你编写程序将句中所有单词的顺序颠倒输出。 输入格式测试输入包含一个测试用例在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成其中单词是由英文字母大小写有区分组成的字符串单词之间用1个空格分开输入保证句子末尾没有多余的空格。 输出格式每个测试用例的输出占一行输出倒序后的句子。 输入样例 Hello World Here I Come 输出样例 Come I Here World Hello 分析这串字符串中的每个单词之间都有一个空格可以通过空格来判断单词的分割。记录每一个空格出现的位置。 然后颠倒去输出单词即可。做法是给开头和末尾也模拟一个空格使得每一个单词都包含的两个空格之间使得程序可以统一去处理这些单词的输出。而不用考虑开头和结尾的特殊情形。 代码如下 #includestdio.h
#includestring.h#define size 81void print(int a ,int b,char *p);//打印函数int main(void)
{char temp[size];gets(temp);int num[size];int k 1;num[0] -1;//由于空格不输出因此这里设置为-1把初始位置当做一个空格。for(int i 0; i strlen(temp);i){ if( temp[i]){num[k] i;//记录空格位置}}num[k] strlen(temp);//把最后的末位置也当做一个空格//到此为止我们num数组之中记录的都是空格的位置而且开头和结尾也都包含着两个空格之间。for(int i k; i 1; i--){print(num[i-1] 1,num[i] - 1,temp);}return 0;
}
void print(int a ,int b,char *p)
{for(int i a; i b ; i){printf(%c,p[i]);}if(0 ! a)//最后一个单词后面不能有空格。{printf(%c, );}
} 转载于:https://www.cnblogs.com/zy666/p/10504364.html