A. 按要求输出
运行时间限制: 1000 运行内存限制: 65536
作者: scsyuanbaoku 是否specialjudge: False
题目描述
首先请实现如下两个函数(要自己写代码完成,不允许直接调用库函数):
int myStrLen(char *s);
该函数功能为求字符串s的长度。
void myStrConcat(char *string1, char *string2);
该函数的功能为将字符串string2拼接至字符串string1后边。注意:该函数的两个参数,在调用时有可能会指向同一个字符串,函数需要在这种情况下能正确完成指定的功能。
主函数要求使用以上两个函数实现如下功能:
输入:
第一行为三个整数n(0<n<10),a,b, 第二行为n个整数,后边为n行字符串,每个字符串长度不超过20。
输出:
要求首先将第b行字符串拼接至第a行的字符串后再输出。
第一行为n个用单个空格分隔的整数(最后一个数后无空格),为按各字符串的输入次序输出的各字符串的长度。
后边n行为将输入的字符串按输入的第2行给出的顺序依次输出。
输入保证合法且字符串中不包含空格。
输入样例
2 0 1
1 0
Hello
World
输出样例
10 5
World
HelloWorld
#include<stdio.h>
int myStrLen(char *s);
void myStrConcat(char *string1, char *string2);
int main()
{
int n=0,a=0,b=0;
char str[10][42]={}; //注意字符串相加后的长度
int x[10]={};
scanf("%d%d%d", &n, &a, &b);
for(int i=0; i<n; i++){
scanf("%d",&x[i]); //&不能省略
}
for(int i=0; i<n; i++){
scanf("%s",str[i]);
}
myStrConcat(str[a],str[b]);
for( int i=0;i<n;i++){
printf("%d ",myStrLen(str[i]));
}
printf("\n");
for(int i=0;i<n;i++){
printf("%s\n",str[x[i]]);
}
return 0;
}
void myStrConcat(char *string1, char *string2)
{
int l1=0;
int l2=0;
int i=0;
l1=myStrLen(string1);
l2=myStrLen(string2);
for(i=0;i<l2;i++){
string1[i+l1]=string2[i];
}
}
int myStrLen(char *s)
{
int l=0;
for(l=0;s[l]!='\0';l++);
return l;
}
#include<stdio.h>
#include<string.h>
int main()
{
char s1[100]={};//必须定义大小
char s2[100]={};
char k;
int l1=0;
int l2=0;
int i=0;
gets(s1);
gets(s2);
scanf("%c",&k);
l1=strlen(s1);
l2=strlen(s2);
for(i=0; i<l1; i++){
if(k==s1[i])
break;
}
for(int j=l1; i<j; j--){
s1[j+l2-1]=s1[j-1];
}
for(int j=0; j<l2; j++){
s1[i]=s2[j];
i++;
}
puts(s1);
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
char str[6]={};
int n=0;
int sum=0;
int sum1=1;
scanf("%s",&str);
n=strlen(str);
if(n==1){
sum=str[0]-'A';
}
else{
for(int i=0; i<n-1; i++){
for(int j=0; j<n-1-i; j++){
sum1*=26;
}
sum=sum+sum1*(str[i]-'A');
sum1=1;
}
sum=sum+str[n-1]-'A';
}
printf("%d",sum);
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
char str[50]={};
char str1[51]={};
char x;
int n=0;
scanf("%s", &str );
n=strlen(str);
for(int i=0; i<n/2; i++){
x=str[i];
str[i]=str[n-1-i];
str[n-1-i]=x;
}
for(int i=0; i<n-1; i++){
str1[0]=str[n-1];
str1[1+i]=str[i];
}
printf("%s",str1);
return 0;
}