题目:http://acm.gdufe.edu.cn/Problem/read/id/1019
Problem Description:
For this problem, you will write a program that takes a string of characters, S, and creates a new string of characters, T, with each character repaeated R times. That is, R copies of the first character of S, followed by R copies of the second character of S, and so on. Valid characters for S are the QR Code "alphanumeric" characters: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z $ % * + - . / :
Input:
The first line of input contains a single integer P,(1 <= P <= 1000), which is the number of data sets that follow. Each data set is a single ling of input consisting of the data set number N, followed by a space, followed by the repeat count R, (1 <= R <= 8), followed by a space , followed by the string S. The length of string S will always be at least one and no more than 20 characters. All the characters will be from the set of characters shown above.
Output:
For each data set there is one ling of output. It contains the data set number, N, followed by a single space which is then followed by the new string T, which is made of each character in S repeated R times.
Sample Input:
2 1 3 ABC 2 5 /HTP
Sample Output:
1 AAABBBCCC 2 /////HHHHHTTTTTTPPPPP
思路:做一个循环,把单个字符循环输出R遍。
复杂度分析:不算难题,但要用到字符串和循环,对于初学者来说还是有点难度的。
代码:
#include<stdio.h>
int main()
{
int P,N,R,i,j,a,b;
char S[100];
while(scanf("%d",&P)!=EOF)
{
for(b=0;b<P;b++)
{
scanf("%d%d",&N,&R);
scanf("%s",S);
i=0;
printf("%d ",N);
while(S[i]!=' ')
i=i+1;
for(j=0;j<i;j++)
for(a=1;a<=R;a++)
printf("%c",S[j]);
printf("
");
}
}
return 0;
}