1.将放在字符串数组中的M(M<=5)个字符串(每串的长度不超过N(N<=10)),按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串为{"AAAA","BBBBBBB","CC"}则合并后的字符串内容应该是"AAAABBBBBBBCC"
#include"stdio.h"
int main()
{
char a[5][10];
char b[100];
int i,M,j,k=0;
scanf("%d",&M);
for(i=0;i<M;i++)
scanf("%s",&a[i]);
for(i=0;i<M;i++)
for(j=0;a[i][j]!='\0';j++)
b[k++]=a[i][j];
b[k]='\0';
puts(b);
}```
2.在形参ss所指字符串数组中,将所有串长超过k(K<=N)。的字符串中后面的字符删除,只保留前面的k个字符。ss所指字符串数组中共有M(M<=5)个字符串,且串长小于N(N<=10)。
```cpp
#include"stdio.h"
int main()
{
char a[5][10];
char b[100];
int i,M,j,k=0,N;
scanf("%d",&M);
scanf("%d",&N);
for(i=0;i<M;i++)
scanf("%s",&a[i]);
for(i=0;i<M;i++)
a[i][N]='\0';
for(i=0;i<M;i++)
puts(a[i]);
}```
3.对形参ss所指字符串数组中的M(M<=5)个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长小于N。(N<=10)
```cpp
#include<stdio.h>
#include<string.h>
int main()
{
char a[5][10];
char b[100];
int i,k,j,M;
scanf("%d",&M);
for(i=0;i<M;i++)
scanf("%s",&a[i]);
for(i=0;i<M-1;i++)
for(j=0;j<M-i-1;j++)
if(strlen(a[j])>strlen(a[j+1]))//冒泡排序
{
strcpy(b,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],b);
}
for(i=0;i<M;i++)
puts(a[i]);
}
4.#include"stdio.h"
include"string.h"
int main()
{
char ss[100];
int i;
gets(ss);
if(ss[0]>='a'&&ss[0]<='z')
ss[0]=ss[0]-32;
for(i=0;ss[i]!='\0';i++)
if(ss[i]==' '&&ss[i+1]!=' ')
{if(ss[i+1]>='a'&&ss[i+1]<='z')
ss[i+1]=ss[i+1]-32;
}
puts(ss);
}#include"stdio.h"
include"string.h"
int main()
{
char ss[100];
int i;
gets(ss);
if(ss[0]>='a'&&ss[0]<='z')
ss[0]=ss[0]-32;
for(i=0;ss[i]!='\0';i++)
if(ss[i]==' '&&ss[i+1]!=' ')
{if(ss[i+1]>='a'&&ss[i+1]<='z')
ss[i+1]=ss[i+1]-32;
}
puts(ss);
}
网友评论