16年全明星扣篮大赛:C语言编程题?///

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 03:53:29
.已知字符串char s[50]="Iamstudent.",请编写程序将字符A插入到student之前,结果为"Iamasudent.".
程序框架如下
# include<stdio.h>
main()
{
char s[50]="Iamasudent.";
...(在这里填入程序)
}

很多人认为C语言 中的难点是指针,对指针的理解直接关系到所编程序的好坏,所以,

在这里列举了一些C编译器通常都有的标准函数 的源代码,看过它们,就能对指针和字符串

有所 了解了.

1. strlen(),计算字符串 长度

int strlen(const ch ar string)

{

i nt i=0;

while(string[i ]) i++;

return i;

}

2. strcpy(), 字符串 拷贝.

char *strcpy(char *destination, const char *sour ce)

{

while(*d estinaton++=*source++);

return (destination-1);

}

3. strcat(), 字符串 的连接.

char *strcat(char *target,const char *source) < br>
{

char *origina l=target;

while(*targe t) target++;
// Find the end o f the string

while(*ta rget++=*source++);

ret urn(original);

}
< br>4. streql(), 判断两个字符串是否相等. < br>
int streql(char *str1,c har *str2)

{

w hile((*str1==*str2)&
&
( *str1))

{

str1 ++;

str2++;

}

return((*str1==NULL)&a mp;
&
(*str2==NULL));

}

5. strchr(), 在字符串中 查找某个字符.

char *strchr(c onst char *string,int letter)

{

while((*stri ng!=letter)&
(*string))

string++;

return (string);

}

6. chrcnt(), 计算某个字符在字符串中出现的次数. < br>
int chrcnt(const char * string,int letter)

{ < br>
int count=0;

wh ile(*string)

if(*strin g==letter)count++;

ret urn count;

}

7 . strcmp(), 判断两个字符串是否相等.
< br>int strcmp(const char *str1 ,const char *str2)

{ < br>
while((*str1==*str2)&am p;
&
(*str1))

{

str1++;

str2++;

}

if((*str1==*st r2)&
&
(!*str1)) //Same strings

return o;

else if((*str1)&
&
( !*str2)) //Same but str1 longe r

return -1;

e lse if((*str2)&
&
(!*str 1)) //Same but str2 longer

else

return((*str 1>
*str2)?-1:1);

} < br>

char a='a'; /*插入字符*/
int n=3; /*插入位置*/
for(i=49,i>n,i--) /*插入位置后的字符都向后移动*/
{
a[i+1]=a[i];
}
s[3]=a; /*插入*/