C语言练习题:编写函数,该函数的功能是:移动字符串中的内容,移动的规则如下::把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串原有的内容为ABCDEFGHI,m的值为4,移动后,字符串中的内容应该是EFGHIABCD
2012-08-16 10:15
429 查看
下面是我自己写的一种方法,防止自己忘记:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define M 100
char *mov(char str1[],int m)
{
char *str2 = "";
int i=0,j=0,n=0;
n=strlen(str1);
str2=(char *)malloc(M);//malloc (n);
for (i=m;i<n;i++)
str2[j++] = str1[i];
for (i=0;i<m;i++)
str2[j++] = str1[i];
return str2;
}
int main ()
{
char str1[M] = "abcdefghijklmn";
char *str2 = "";
int m = 0, n =0;
str2=(char *)malloc(M);
n = strlen (str1);
printf("Please input a num you want insert:");
scanf("%d",&m);
if ( m < n) //this is a judge
{
str2=mov(str1,m);
printf ("output is %s\n",str2);
}
else //if the input "m" > n,exit
printf("input error,exit\n");
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define M 100
char *mov(char str1[],int m)
{
char *str2 = "";
int i=0,j=0,n=0;
n=strlen(str1);
str2=(char *)malloc(M);//malloc (n);
for (i=m;i<n;i++)
str2[j++] = str1[i];
for (i=0;i<m;i++)
str2[j++] = str1[i];
return str2;
}
int main ()
{
char str1[M] = "abcdefghijklmn";
char *str2 = "";
int m = 0, n =0;
str2=(char *)malloc(M);
n = strlen (str1);
printf("Please input a num you want insert:");
scanf("%d",&m);
if ( m < n) //this is a judge
{
str2=mov(str1,m);
printf ("output is %s\n",str2);
}
else //if the input "m" > n,exit
printf("input error,exit\n");
return 0;
}
相关文章推荐
- 请编写函数fun(char *s),其功能是:删除字符串中的数字字符。主函数中输入字符串,调用函数,并输出结果字符串。例如若输入的字符串是:34AB9C6DE, 则应输出:ABCDE
- 编写函数fun(char *s),其功能是:把字符串中所有字符前移一个位置,串中的第1个字符移到最后。 例如,若输入字符串为:ABC123xyz ,则应输出字符串: BC123xyzA 。
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 规定输入的字符串中,只能包含字母和*号,编写函数fun(char *a),其功能是:将字符串前、后的连续*号全部删除。主函数中输入字符串,调用函数,并输出结果字符串。例如:若字符串中的内容为: ***
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- C语言:编写reverse_string(char * string)(递归实现)函数,将参数字符串中的字符反向排列
- 为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数
- 【C语言】编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
- 【编程之法】如何最快的判断出短字符串b中的所有字符是否都在长字符串a中?编写函数bool StringContain(string&b,string&a)实现此功能。
- 用C语言编写函数,实现strlen计算字符串长度的功能
- 编写函数void count(char a[],char w[][10],int n,int b[])。功能是:统计w指向的数组中的n个单词在a指向的字符串中各自出现的次数(将非字母字符看作单词分
- C语言 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列
- C语言:有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
- C语言编程练习5——编写函数void change(char *a,char *b,char*c)。 函数功能是首先把b指向的字符串逆向存放
- 22. 编写函数:移动字符串中的内容
- 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中
- 编写函数void count(char a[],char w[][10],int n,int b[])。功能是:统计w指向的数组中的n个单词在a指向的字符串中各自出现的次数(将非字母字符看作单词分
- 【c语言】编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。
- C语言 编写一个函数,将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数,