#include<stdio.h> //头文件
#include<string.h> //头文件
#include<stdlib.h> //头文件
#define MAX_LEN 100 //宏定义MAX_LEN为100
char *inverted(char *str ) //反转函数
{
int i; //定义一个变量用作循环
int len = strlen(str); //定义一个变量为字符串的长度
char *tmp = (char *) malloc (sizeof (char) * MAX_LEN); //赋值分配
if( tmp == NULL) //检测是否赋值成功
{
printf(" malloc error!\n"); //输出赋值失败
exit(1); //强制退出
}
memset(tmp , 0 ,sizeof(char) * MAX_LEN); //空间初始化
for( i = len - 1; i >= 0 ; i--) //从末尾开始循环
{
*(tmp + i) = *str; //转移字符
str++; //移位
}
*(tmp + len) = '\0'; //结束移位
return tmp; //返回字符串
}
int main() //主函数
{
char str[MAX_LEN]; //定义一个数组
char *temp = (char *) malloc (sizeof (char) * MAX_LEN); //赋值分配
if( temp == NULL) //检测是否赋值成功
{
printf(" malloc error!\n"); //打印复制错误
exit(1); //强制退出
}
memset(temp , 0 ,sizeof(char) * MAX_LEN); //空间初始化
printf("please input the string: \n"); //提示输入字符串
scanf("%s",str); //输入字符串
temp = inverted(str); //调用反转函数
printf("the result is: %s\n",temp); //输出反转结果
return 0; //返回置零
}
#include<stdio.h> //头文件
#include<string.h> //头文件
#include<stdlib.h> //头文件
#define MAX_LEN 100 //宏定义
char *inverted(char *str ) //反转函数
{
int i; //定义一个变量用作循环
int len = strlen(str); //定义一个变量为字符串的长度
char *tmp = (char *) malloc (sizeof (char) * MAX_LEN); //赋值分配
if( tmp == NULL) //检测是否赋值成功
{
printf(" malloc error!\n"); //输出赋值失败
exit(1); //强制退出
}
memset(tmp , 0 ,sizeof(char) * MAX_LEN); //空间初始化
for( i = len - 1; i >= 0 ; i--) //从末尾开始循环
{
*(tmp + i) = *str; //转移字符
str++; //移位
}
*(tmp + len) = '\0'; //结束移位
return tmp; //返回字符串
}
char *my_switch( int a) //转换函数
{
char *temp = (char *) malloc (sizeof( char ) * MAX_LEN); //赋值
if( temp == NULL) //检查赋值是否成功
{
printf(" malloc error !\n"); //错误提示
exit(1); //强制退出
}
memset( temp , 0 ,sizeof(char) * MAX_LEN); //空间初始化
char *t_tmp = temp; //中间指针变量
while(a != 0) //循环
{
*t_tmp = a % 10 + '0'; //取余
t_tmp++; //移位
a = a / 10 ; //降位
}
*t_tmp = '\0'; //结束指针
return temp; //返回中间变量
}
int main() //主函数
{
int a; //定义一个整形变量
char *str = (char *) malloc (sizeof( char ) * MAX_LEN); //赋值
char *ptr = (char *) malloc (sizeof( char ) * MAX_LEN); //赋值
if( str == NULL || ptr == NULL) //检查赋值是否成功
{
printf(" malloc error !\n"); //赋值失败,输出赋值错误
exit(1); //强制退出
}
memset( str , 0 ,sizeof(char) * MAX_LEN); //空间初始化
memset( ptr , 0 ,sizeof(char) * MAX_LEN); //空间初始化
printf("please input the int: \n"); //提示输入整数
scanf("%d",&a); //输入整数
//printf("%d\n",a);
str = my_switch(a);// 调用交换函数
printf("the first result is : %s\n",str); //输出反向结果
ptr = inverted(str); //逆向函数
printf("the last result is : %s\n",ptr); //输出正向结果
free(str); //释放内存
str = NULL; //地址置为空
return 0; //返回置零
}
#include<stdio.h> //头文件
#include<string.h> //头文件
#include<stdlib.h> //头文件
#define MAX_LEN 100 //宏定义
int switch_2(char *str) //转换函数
{
int i = 0; //定义一个变量,循环
int j = 0; //定义一个变量,循环
int k = 0; //定义一个变量,循环
int result = 0; //定义一个变量,输出结果
int num_temp[15]; //定义一个中间变量数组
while(*str != '\0') //当指针结束前
{
num_temp[i] = *str - '0'; //字符串转化为整形
str++; //字符串移位
i++; //字符移位
}
while(i != 0) //当i不等于零时
{
for(j = 0; j < i - 1; j++) //根据i循环记录
{
num_temp[k] = num_temp[k]*10; //进位
}
result = result + num_temp[k]; //录入结果
k++; //移位
i--; //移位
}
return result; //返回结果
}
int main() //主函数
{
char str[MAX_LEN]; //定义一个数组
printf("please input the string:\n"); //提示输入字符串
scanf("%s",str); //输入字符串
int num = switch_2(str); //调用转换函数
printf("the result is: %d\n",num); //输出结果
return 0; //返回置零
}
#include<stdio.h> //头文件
#include<string.h> //头文件
void turn( char *str) //定义一个转换函数
{
char temp; //定义一个中间变量字符串
char *start =str; //定义单词的开头
char *end = str; //定义单词的结尾
char *p = str; //定义指针进行转换
while(*p++ != '\0') //当字符串未结束时
{
if(*p == ' ' || *p == '\0') //当字符串结束时
{
end = p - 1; //得到结尾的地址
while(end > start) //当结尾大于开头时
{
temp = *start; //中间变量
*start = *end; //开头换位结尾
*end = temp; //结尾换位开头
start++; //进位
end--; //退位
}
start = end = p + 1; //切换到下一个单词
}
}
start = str; //单词开头
end = p - 2; //结尾移位得字母
while(end > start) //当结尾大于开头时
{
temp = *start; //中间变量
*start = *end; //开头换位结尾
*end = temp; //结尾换位开头
start++; //进位
end --; //退位
}
}
int main() //主函数
{
char str[] = {"I am from shanghai "}; //定义一个题目要求的数组
printf("the main string is:%s\n",str); //打印数组中的数值
turn(str); //调用转换函数对字符串进行转换
printf("the turn string is:%s\n",str); //输出转换后的字符串
return 0; //返回置零
}