‘壹’ c语言 编写函数用于进行俩个字符串的连接,编写函数用于统计一个字符串的长度,并在主函数中调用。求大神
#include"stdio.h"
intcatstr(char*a,char*b,char*c)
{
inti=0,j=0;
for(;*(a+i);i++)*(c+i)=*(a+i);
for(;*(b+j);i++,j++)*(c+i)=*(b+j);
*(c+i)=*(b+j);
return0;
}
intlenstr(char*a)
{
inti=0;
for(;*(a+i);i++);
returni;
}
voidmain()
{
charstr1[]="Everyoneis",str2[]="leaningC.",str12[50];
intlen1,len2,len12;
len1=lenstr(str1);
len2=lenstr(str2);
catstr(str1,str2,str12);
len12=lenstr(str12);
printf("第一个字符串是: %s 长度是:%d ",str1,len1);
printf("第二个字符串是: %s 长度是:%d ",str2,len2);
printf("合并后字符串是: %s 长度是:%d ",str12,len12);
}
已经运行过。
‘贰’ 请问在lisp中tblnext函数怎么用呀!他返回的值是什么意思呀
tblnext
在符号表中查找下一项
(tblnext table-name [rewind])
重复使用 tblnext 时,它每次通常会返回指定表中的下一个条目。tblsearch
函数可以设置要检索的下一个条目。如果提供了可选参数 rewind 且其值不为 nil,那么函数就会回绕到该符号表的起始位置,从而获得它的第一个条目。
参数
table-name
字符串,指定符号表。有效的 table-name 值为
"LAYER"、"LTYPE"、"VIEW"、"STYLE"、"BLOCK"、"UCS"、"APPID"、"DIMSTYLE" 和
"VPORT"。该参数不区分大小写。
rewind
如果指定该参数且其值不为 nil,则回绕符号表且检索其中的第一个条目。
返回值
如果找到了一个条目,函数就会以点对表的形式返回该条目的 DXF 类型码和值。如果符号表中没有条目了,函数返回
nil。本函数永远不会返回已被删除的条目。
示例
Retrieve the first layer in the symbol table:
命令: (tblnext "layer" T)
((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 .
"CONTINUOUS"))
检索符号表中的第一个图层:
(0 . "LAYER") 符号类型
(2 . "0") 符号名
(70 . 0) 标志
(62 . 7) 颜色代码,如果图层是被关闭的,颜色代码为负值
(6 . "CONTINUOUS") 线型名称
注意上述返回表中没有 -1 组。AutoCAD 会记住从每个符号表中最近一次所返回的条目,每次对某符号表调用 tblnext
函数时它会返回该表中的下一个条目。所以,每次开始扫描一个表时,应该确保提供了不为 nil
的第二个参数,这样才能回绕到数据库中该表的开头,从而获得该表中的第一个条目。
由块表中检查出的条目中包含了一个 -2 组,其组值是该块定义中的第一个图元的图元名(如果有的话)。因此,假定当前图形中有一个名为
BOX 的块,那么:
命令: (tblnext "block")
((0 . "BLOCK") (2 . "BOX") (70 . 0) (10 9.0 2.0 0.0) (-2 .
))
返回值的含义如下:
(0 . "BLOCK") 符号类型
(2 . "BOX") 符号名
(70 . 0) 标志
(10 9.0 2.0 0.0) 原点坐标 X,Y,Z
(-2 . ) 第一个图元
entget 和 entnext 函数可以接受 -2 组中的图元名,但其他的图元访问函数不接受该图元名。例如,不能用 ssadd
函数将其加入到一个选择集中。通过以 -2 组中的图元名为参数调用 entnext 函数,可以扫描组成块定义的各个图元。在块定义的最后一个图元之后,再调用
entnext 函数将返回 nil。
如果一个块定义中不包含图元,那么 tblnext 函数所返回的 -2 组的组值是该块的 endblk 图元的图元名。
注意 由于 vports 函数可以返回当前 VPORT 表信息,所以使用
vports 函数来检索 VPORT 信息可能比用 tblnext 函数更方便一些。
‘叁’ sql如何截取字符串中前面的数字
如果提取字符串中的数字,需要自定义函数,以下函数包含截取字符串中的数字、字母、汉字等。
createfunctionfn_myget
(@strasvarchar(max),
@categoryasvarchar(10)='Chinese',
@startasint=1,
@endasint=100000)
returnsvarchar(max)
as
begin
declare@iint=@start
declare@lenstrint=len(@str)
declare@str1varchar(max)
declare@strrevarchar(max)=''
while@i<=@lenstrand@i<=@end
begin
set@str1=substring(@str,@i,1);
--提取汉字
if(@Category='Chinese')
begin
if(len(@str1)!=datalength(@str1))
set@strre=@strre+@str1
end
--提取字母
elseif(@Category='Letters')
begin
if((ascii(@str1)>=65andascii(@str1)<=90orascii(@str1)>=97andascii(@str1)<=122))
set@strre=@strre+@str1
end
--提取数字
elseif(@Category='Digital')
begin
if(ascii(@str1)>=48andascii(@str1)<=57)
set@strre=@strre+@str1
end
else
set@strre='输入错误'
set@i=@i+1
end
return(@strre)
end
测试:
1、截取字符串dsajf23423423中的数字
selectdbo.fn_myget('dsajf23423423','Digital',1,1000)
结果:
自定义函数说明:
函数共需要4个参数:
第一个参数是要截取的字符串;
第二个参数根据要截取的内容不同,分别有“Digital”(截取数字)、“Letters”(截取字母)、“Chinese”(截取中文);
第三个参数代表截取的起始位;
第四个参数代表截取的截取的结束位。
‘肆’ MSSQL中删除中文语句怎么写
单纯的没法写,给你写了个自定义函数,通过函数来弄
先创建函数
createfunctionfn_myget
(@strasvarchar(max),
@categoryasvarchar(10)='Chinese',
@startasint=1,
@endasint=100000)
returnsvarchar(max)
as
begin
declare@iint=@start
declare@lenstrint=len(@str)
declare@str1varchar(max)
declare@strrevarchar(max)=''
while@i<=@lenstrand@i<=@end
begin
set@str1=substring(@str,@i,1);
--提取汉字
if(@Category='Chinese')
begin
if(len(@str1)!=datalength(@str1))
set@strre=@strre+@str1
end
--提取字母
elseif(@Category='Letters')
begin
if((ascii(@str1)>=65andascii(@str1)<=90orascii(@str1)>=97andascii(@str1)<=122))
set@strre=@strre+@str1
end
--提取数字
elseif(@Category='Digital')
begin
if(ascii(@str1)>=48andascii(@str1)<=57)
set@strre=@strre+@str1
end
else
set@strre='输入错误'
set@i=@i+1
end
return(@strre)
end
创建测试表
createtabletest
(fruitvarchar(10),
fruitcontentvarchar(100))
insertintotestvalues('apple','这是一个apple')
insertintotestvalues('apple1','apple是个红色的')
insertintotestvalues('apple2','这是个红苹果')
执行
selectdbo.fn_myget(fruitcontent,'Letters',1,10000)fromtest
结果
另外,这个还可以实现,提取汉字,提取数字
‘伍’ 编写字符串函数int lenstr(char *str),求字符串str的长度。
我写了一个,你可以看看,思想就是对给定的字符串逐个查证,只要不是'\0',就让字符串的长度加一,最后返回!!呵呵,如果有什么问题可以继续补充你的提问!
#include<stdio.h>
#define
MAX
100
int
lenstr(char
*str)
{
int
len
=
0;
int
i
=
0;
if(*str
==
'\0')
return
len;
while(*(str
+
i)
!=
'\0')
{
++len;
i++;
}
return
len;
}
int
main()
{
char
a[MAX]
;
printf("Please
enter
the
string:\t");
scanf("%s",a);
printf("\nThe
length
of
this
string
is
%d\n",lenstr(a));
return
0;
}
‘陆’ lenstr是什么函数
写反了吧?应该是strlen吧?
strlen函数接收一个字符串参数,返回这个字符串的长度。
‘柒’ int lenstr(char*str) 是什么意思
一个函数,名为lenstr,形参为char型指针,返回值为int型。
‘捌’ 跪求!一C语言答案!急需!输入一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标!
#include <stdio.h>#define LEN 50
void main()
{
int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0;
printf("请个输入整型数组元素(输入0表示输入结束):
");
for (j=0; j<LEN; j++)
{
scanf("%d", &a[j]);
if (a[j] == 0)
break;
}
min=max=a[0];
for (i=1; i<j; i++)
{
if (a[i]<min)
{
min = a[i];
iMin = i;
}
if (a[i]>max)
{
max = a[i];
iMax = i;
}
}
printf("值最小的元素为: %d,其下标为: %d
", min,iMin);
printf("值最大的元素为: %d,其下标为: %d ", max,iMax);
}
测试结果:
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
‘玖’ 编写字符串函数int lenstr(char *str),求字符串str的长度。
#include <stdio.h>
int lenstr(char *str)
{
char *p;
for(p=str;*p;p++);
return p-str;
}
int main()
{
printf("%d ",lenstr("Hello World"));
return 0;
}