SWUST OJ 171字符串的倒序
要求:
设计函数,实现字符串的倒序输出。
输入
输出
样例输入
Tomorrow
Yesterday
Today
Tomorrowisantherday!
Debug\ee.exe
ee-MicrosoftVisualC+±[ee.cpp]
样例输出
worromoT
yadretseY
yadoT
!yadrehtnasiworromoT
exe.ee\gubeD
]ppc.ee[-++ClausiVtfosorciM-ee
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void ss(char str[100])//构造一个函数用来进行字符串的反转,并将数组str作为变量传入到这个构造函数中
{
int a,i,j,len;//定义一些整数型的变量,用来进行后面的判断和循环
char str1[100]={0};//定义一个字符型数组,并将它进行初始化
len=strlen(str);//调用strlen函数求传入的字符串的长度
j=len-1;
for(i=0;i<len;i++)//用一个for循环,将str数组倒序存入str1数组中,从而实现字符串的倒序
{
str1[j]=str[i];//str数组中的第一个字符成为了str1数组中的最后一个字符
j--;
}
strcpy(str,str1);//利用strcpy()函数将str1复制到str中
}
int main(int argc, char *argv[]) {
char str[100];//首先要先定义一个数组用来存放数据
scanf("%s",str);//输入中式“%s”,所以可以不用循环输入,直接输入多个字符
ss(str);//调用函数ss进行字符串的倒序
printf("%s\n",str);//输出数组(字符串)str
return 0;
}
注意
1: strlen(str)是常用的字符串处理函数。
这个函数的功能是:
求字符串的长度。由函数值返回字符串str的实际长度,既不包括’\0’在内的实际字符的个数。
!!!!在本题中,我尝试用for循环来计算数组的长度,但是发现不可以!!!!!
2:在进行数组的输入时,一般会选择的是用for循环来进行输入。字符型的数组可以被认为是字符串类型从而不用for循环输入,但是整数型就要用for循环来进行输入了。
常用的字符串处理函数
1:strlen(str):求字符串的长度。
2:strcpy(str1,str2):字符串的复制。
3:strcmp(str1,str2):字符串比较。
4:strcat(str1,str2):字符串链接。
5:strncpy(str1,str2,n):“n族”字符串复制。
6:strncmp(str1,str2,n):“n族”字符串比较。
7:strncat(str1,str2,n):“n族”字符串连接。