函数fun:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

请编写函数fun,该函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为ABCDEFGHIJK, m的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。
要求不用输入,字符串在程序里面
输出:原字符串,移动后的字符串
最新回答
鸢尾*

2024-10-16 05:27:12

#include<stdio.h>

#include<string.h>

void fun(char N[],int m,int num);

#define Max 1024

void main()

{

 int k,num,i;

 

 char N[Max]={"ABCDEFGHIJK"};

 num=strlen(N);  // 调用strlen函数 计算字符串的长度;

    for(i=0;i<num;i++)

  printf("%c",N[i]); 

 printf("\n");

 printf("请输入平移的个数:\n");

 scanf("%d",&k);

    fun(N,k,num);

 for(i=0;i<num;i++)

  printf("%c",N[k+i]);

 printf("\n");

}

void fun(char N[],int m,int num)

{

int i;

for(i=0;i<m;i++)  //算法很简单 原来用了num个字符 ,如果你平移m 那么你就把

   N[num+i]=N[i]; //前m个字符复制到原来num个字符后面,输出的时候就重第m个开始

                  //这样就行了

}

本人已死,有事烧纸

2024-10-16 07:02:07

char a[N];
int i;
for(i=0;i<m;i++) a[i]=w[i];
while(w[i]) { w[i-m]=w[i]; i++;}
i--;m--;
for(;m>=0;m--,i--) w[i]=a[m];
茶丸软卷

2024-10-16 06:24:13

类型转换函数
1、 Int(x):求不大于自变量x的最大整数
2、 Fix(x):去掉一个浮点数的小数部分,保留其整数部分
3、 Hex$(x):把一个十进制数转换为十六进制数
4、 Oct$(x):把一个十进制数转换为八进制数
5、 Asc(x$):返回字符串x$中第一个字符的ASCII字符
6、 CHR$(x):把x的值转换为相应的ASCII字符
7、 Str$(x):把x的值转换为一个字符串
8、 Cint(x):把x的小数部分四舍五入,转换为整数
9、 Ccur(x):把x的值转换为货币类型值,小数部分最多保留4 位且自动四舍五入
10、 CDbl(x):把x值转换为双精度数
11、 CLng(x):把x的小数部分四舍五入转换为长整数型数
12、 CSng(x):把x值转换为单精度数
13、 Cvar(x):把x值转换为变体类型值
14、 VarPtr(var):取得变量var的指针
? 数学函数
1、 Sin(x):返回自变量x的正弦值
2、 Cos(x): 返回自变量x的余弦值
3、 Tan(x): 返回自变量x的正切值
4、 Atn(x): 返回自变量x的反正切值
5、 Abs(x): 返回自变量x的绝对值
6、 Sgn(x): 返回自变量x的符号,即当x为负数时,返回-1;当x为0时,返回
0;当x为正数时,返回1
7、 Sqr(x):返回自变量x的平方根,x必须大于或等于0
8、 Exp(x):返回以e为底,以x为指数的值,即求e的x次方
? 日期与时间函数
1、 Day(Now):返回当前的日期
2、 WeekDay(Now):返回当前的星期
3、 Month(Now):返回当前的月份
4、 Year(Now):返回当前的年份
5、 Hour(Now):返回小时(0~23)
6、 Minute(Now):返回分(0~59)
7、 Second(Now):返回秒 (0~59)
? 随机数函数
1、 Rnd[(x)]:产生一个0~1之间的单精度随机数
2、 Randmize[(x)]:功能同上,不过更好
? 字符串函数
1、 LTrim$(字符串):去掉字符串左边的空白字符
2、 Rtrim$(字符串):去掉字符串右边的空白字符
3、 Left$(字符串,n):取字符串左部的n个字符
4、 Right$(字符串,n):取字符串右部的n个字符
5、 Mid$(字符串,p,n):从位置p开始取字符串的n个字符
6、 Len(字符串):测试字符串的长度
7、 String$(n,字符串):返回由n个字符组成的字符串
8、 Space$(n):返回n个空格
9、 InStr(字符串1,字符串2):在字符串1中查找字符串2
10、 Ucase$(字符串):把小写字母转换为大写字母
11、 Lcase$(字符串):把大写字母转换为小写字母
? 窗体输入输出函数
1、 Print(字符串):在窗体输出字符串,可以用””对变量进行连接后输出
2、 Tab(n):把光标移到该行的n开始的位置
3、 Spc(n):跳过n个空格
4、 Cls:清除当前窗体内的显示内容
5、 Move 左上角x,左上角y,宽度,高度:移动窗体或控件
6、 InputBox(prompt,…):跳出一个数据输入窗口,返回值为该窗口的输入值
7、 MsgBox(msg,[type]…):跳出一个提示窗口
? 文件操作函数
1、 Open 文件名 [For方式] [Access存取类型] [锁定] AS [#]文件号 [Len=记录长度]
功能:为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式
说明:
1) 方式:指定文件的输入输出方式,可选,默认是Random,可以是以下值
a、 Output:指定顺序输出方式,将覆盖原有内容
b、 Input:指定顺序输入方式
c、 Append:指定顺序输出方式,在文件未尾追加内容
d、 Random:指定随机存取方式,也是默认方式,在Random方式时,如果没有Access子句,则在执行Open语句时,VB将按下列顺序打开文件:读/写、只读、只写
e、 指定二进制文件。在这种方式下,可以用Get和Put语句对文件中任何字节位置的信息进行读写。在Binary方式中,如果没有Access子句,则打开文件的类型与Random方式相同
2)、存取类型:放在关键字Access之后,用来指定访问文件的类型。可以是下列类型之一
a、 Read:打开只读文件
b、 Write:打开只写文件
c、 Read Write:打开读写文件。这种类型只对随机文件、二进制文件及用Append方式打开的文件有效
3)、锁定:该子句只在多用户或多进和环境中使用,用来限制其他用户或其他进程对打开进行读写操作。锁定类型包括:
a、 默认:如不指定锁定类型,则本进程可以多次打开文件进行读写;在文件打开期间,其他进程不能对该文件执行读写操作
b、 Lock Shared:任何机器上的任何进程都可以对该文件进行读写操作
c、 Lock Read:不允许其他进程读该 文件。只在没有其他Read存取类型的进程访问该文件时,才允许这种锁定。
d、 Lock Write:不允许其他进程写这个文件。只在没有其他Write存取类型的进程访问该文件时,才允许这种锁定
e、 Lock Read Write:不允许其他进程读写这个文件
如果不使用lock子句,则默认为Lock Read write
4)、文件号:由用户自行指定一个由1~511之间的整数,只要该文件号未被使用就合法;打开文件后,可以用该文件号进行读写等操作
5)、记录长度:是一个整型表达式。当选择该参量时,为随机存取文件设置记录长度。对于用随机访问方式打开的文件,该值是记录长度;对于顺序文件,该值是缓冲字符数。”记录长度”不能超过32767字节。对于二进制文件,将忽略Len子句
举例:Open “price.dat” for Output as #1
Open “C:\abc.dat” for radom as #1 len=256
2、 Close [#文件号][,#文件号]……:关闭文件
3、 Seek #文件号,位置:文件指针跳到指定位置,以字节为单位。取值1~pow(2,31)-1
4、 Seek (文件号):返回当前文件指针的位置
5、 FreeFile():取得一个未使用的文件号
6、 Loc(文件号):返回指定文件的当前读写位置
7、 LOF(文件号):返回文件长度
8、 EOF(文件号):用来测试文件是否结束,结束返回true
9、 Print #文件号,变量1,变量2,…变量n:按顺序将各变量的值写入顺序文件
如果是print #文件号,则写入空行
10、 Write #文件号,表达式表…:作用同 Print
11、 Input #文件号,变量表….:读顺序文件,进行与Print相反的操作
12、 Line Input #文件号,字符串变量:从顺序文件中读入一行
13、 Input$(n,#文件号):从顺序文件读出 n个字符的字符串
14、 Put #文件号,[记录号],变量:把除对象变量和数组变量外的任何变量(包括号含有单个数组元素的下标变量)的内容写入随机文件。
例如:Put #2,,filebuff
15、 Get #文件号,[记录号],变量:读随机文件,执行与put相反的操作
16、 Get|put #文件号,[位置],变量:读写二制文件,位置是指下一次读写操作的位置。
17、 Kill 文件名:删除文件
18、 FileCopy 源文件名,目标文件名:复制文件
19、 Name原文件名 as 新文件名:重命令文件