1、 编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。(不得调用任何字符串处理函数,包括strlen)
例如:输入hello world 输出dlrow olleh
2、 编写程序:对键盘输入的两个字符串进行连接。(尽管我们知道strcat()可以简单完成此任务,本题仍然规定不得调用任何字符串处理函数,包括strlen)。
例如:输入hello<CR>world<CR>,输出helloworld
3、 编写程序:对从键盘任意输入的字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母,其它字符不变。(不调用任何字符串处理函数)
例如:输入:Hello World!输出:hELLO wORLD!
4、 编写程序:从键盘输入4个字符串(长度<20),存入二维字符数组中。然后对它们进行排序(假设由小到大顺序),最后输出排序后的4个字符串。(允许使用字符串函数)
提示:字符串比较可以用strcmp函数实现,排序方法可以选择法或冒泡法。
要最好的方法!
我来回答下面的问题吧。
2
#include "stdio.h"
#include "conio.h"
main()
{ char a[20];
char b[20];
int i,j;
gets(a);
gets(b);
for(i=0;a[i]!='\0';i++)
a[i]=b[i];
for(j=0;b[j]!='\0';j++)
a[i+j]=b[j];
a[i+j]='\0';
puts(a);
printf("Hello, world\n");
getch();
}
3
#include "stdio.h"
#include "conio.h"
main()
{ char a[20];int i;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
else if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
}
puts(a);
getch();
}
4
#include<stdio.h>
#include<string.h>
main()
{int i,j;
char a[5][20];
for(i=0;i<4;i++)
scanf("%s",a[i]);
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
if(strcmp(a[i],a[j])>0)
{
a[4][20]=0;
strcpy(a[4],a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],a[4]);
}
printf("排序后的结果是:\n");
for(i=0;i<4;i++)
printf("%s\n",a[i]);
}
1.
#include<stdio.h>
int main()
{
char str[100];
int len,i=0;
gets(str);
while(str[i]!='\0')
i++;
len=i;
for(i=len-1;i>=0;i--)
printf("%c",str[i]);
printf("\n");
return 0;
}