按顺序输出字符串问题

问题:

Input

The input consists of one or more sets of strings, followed by a final line containing only the value 0. Each set starts with a line containing an integer, n, which is the number of strings in the set, followed by n strings, one per line, sorted in nondescending order by length. None of the strings contain spaces. There is at least one and no more than 15 strings per set. Each string is at most 25 characters long.

Output

For each input set print "SET n" on a line, where n starts at 1, followed by the output set as shown in the sample output.

Sample Input

7

Bo

Pat

Jean

Kevin

Claude

William

Marybeth

6

Jim

Ben

Zoe

Joey

Frederick

Annabelle

5

John

Bill

Fran

Stan

Cece

0

Sample Output

SET 1

Bo

Jean

Claude

Marybeth

William

Kevin

Pat

SET 2

Jim

Zoe

Frederick

Annabelle

Joey

Ben

SET 3

John

Fran

Cece

Stan

Bill

回答:

#include <iostream>

#include <string>

using namespace std;

int main()

{

int n, t = 0, i, j, k;

string word1[16], word2[16];

while(cin >> n && n){

j = k = 0;

for(i=0; i<n; i++)

cin >> word1[i];

for(i=0; i<n; i++)

if(i%2==0){

word2[j] = word1[i];

j++;

}

else {

word2[n-k-1] = word1[i];

k++;

}

cout << "SET " << ++t << endl;

for(i=0; i<n; i++)

cout << word2[i] << endl;

}

return 0;

}

时间: 2024-10-29 02:35:55

按顺序输出字符串问题的相关文章

【C语言】用指针数组完成:将若干字符串安字母顺序输出

//用指针数组完成:将若干字符串安字母顺序输出 #include <stdio.h> #include <string.h> void print(char * name[],int n) //char * name[],指针数组,每个数组元素是一个char*(即字符串)类型 { int i; for(i=0;i<n;i++) { printf("%s\n",name[i]); } } void sort(char *name[],int n) { cha

编程题:指针数组实现,将多个字符串按字母顺序输出。

#include<stdio.h> void sort(char *str[],int n) { char *temp;int i,j,k; for(i=0;i<n-1;i++) {k=1; for(j=i+1;j<n;j++) if(strcmp(str[k],str[j])>0) k=j; if(k!=i) {temp=str[i];str[i]=str[k];str[k]=temp;} } } void main() { int i,n=4; char *string[

将字符串&quot;BASIC&quot;按照相反顺序输出

将字符串"BASIC"按照相反顺序输出. 程序1:用cout.put输出单个字符的成员函数put #include<iostream> using namespace std; int main() { char *p = "BASIC"; int i = 0; for (i = 4; i >= 0; i--) { cout.put(*(p + i)); } cout.put('\n'); system("pause"); re

输入3个字符串,按字符串由短到长的顺序输出

输入3个字符串,按字符串由短到长的顺序输出,要求使用指针. #include "stdafx.h" #include<iostream> #include<string.h> #include<stdio.h> using namespace std; char a[80],b[80],c[80]; char *p1,*p2,*p3; //输入三个字符串,三个字符型指针分别三个字符串 int _tmain(int argc, _TCHAR* argv

ytu 1064: 输入三个字符串,按由小到大的顺序输出(水题,字符串处理)

1064: 输入三个字符串,按由小到大的顺序输出Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 471  Solved: 188[Submit][Status][Web Board] Description 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. Input 3行字符串 Output 按照从小到大输出成3行.由指针方式实现. 按照从小到大输出成3行.由引用方式实现. Sample In

OJ刷题之《输入三个字符串,按由小到大的顺序输出》

题目描述 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. 输入 3行字符串 输出 按照从小到大输出成3行.由指针方式实现. 按照从小到大输出成3行.由引用方式实现. 样例输入 cde afg abc 样例输出 abc afg cde abc afg cde 提示 主函数已给定如下,提交时不需要包含下述主函数 /* C++代码 */ int main() { void sort1(char *,char *,char *); void so

一些项目——输入三个字符串,按由小到大的顺序输出

Description 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. Input 3行字符串 Output 按照从小到大输出成3行.由指针方式实现. 按照从小到大输出成3行.由引用方式实现. Sample Input cde afg abc Sample Output abc afg cde abc afg cde 代码 #include <iostream> #include <cstring> using namesp

字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人

输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 b= 9 c=30 a>b 交换 a=9 b=18 可不可以用选择法?可不可以用冒泡法?但是这里用不着 例题: string1 string2 string3 temp a=18 b= 9 c=30 b>c? 交换 b中放的是b 和 c 中小的数,c中放的是bc中大的数. 如果a<b,则输出

顺序输出其中的元音字母

题目描述 写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出. 输入 一行字符串 输出 顺序输出其中的元音字母(aeiou) 样例输入 abcde 样例输出 ae #include <iostream>#include <string.h>using namespace std;int main(){ int c,i; char a[1000]; gets(a); c=strlen(a); for(i=0;i<c;i++)  if(a[i]=='a'||a[i]=