1 Star 0 Fork 0

许瑞/C language practice

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
2.c 2.90 KB
一键复制 编辑 原始数据 按行查看 历史
xu rui 提交于 2022-06-10 15:17 . 22.c
#include<stdio.h>
#include<string.h>
int strlenn(char *p);
int strcmpp(char *p,char *q);
int addarray(char *a,char *b,char *c);
char *qwertyuiop();
void maopao();
char *strcatt(char n[],char m[]);
int main()
{
char hh[20],ww[20];
printf("输入两个字符串:\n");
gets(hh);
gets(ww);
printf("两个字符串比较:%d\n",strcmpp(hh,ww));//2
printf("两个字符串连接成一个字符串:%s\n",strcatt(hh,ww));//6
printf("字符串的长度:%d\n",strlenn(hh));//1
maopao();//5
char *p=NULL;
p=qwertyuiop();
printf("字符%c的地址:%p\n",*p,p);//4
}
//1. 编写一个函数用指针方法来实现求字符串的长度
int strlenn(char *p)
{
int i=0;
while(p[i]!='\0')
{
i++;
}
return i;
}
//2. 编写一个函数实现在键盘上输入两个字符串,比较输入的字符串是否一样
int strcmpp(char *p,char *q)
{
while(1)
{
if(*p==*q)
{
if(*p=='\0')
{
return 1;
}
p++;
q++;
}
else
{
return 0;
}
}
}
//3. 编写一个名为addarrays()的函数,它接受三个长度相同的数组,两个数组中对应的元素相加,并将结果放到第三个数组中。
int addarray(char *a,char *b,char *c)
{
while(1)
{
int i=1;
int geshi_a=0,geshi_b=0,geshi_c=0;
while(1)
{
if((a[i-1])!='\0'&&(a[i])=='\0')
{
geshi_a=i;
}
if((b[i-1])!='\0'&&(b[i])=='\0')
{
geshi_b=i;
}
if((c[i-1])!='\0'&&(c[i])=='\0')
{
geshi_c=i;
}
if(((a[geshi_a])=='\0')&&((b[geshi_b])=='\0')&&((c[geshi_c])=='\0'))
{
break;
}
i++;
}
if(geshi_a==geshi_b&&geshi_a==geshi_c)
{
for(i=0;i<geshi_c;i++)
{
c[i]=a[i]+b[i]-48;
}
return 1;
}
else
return 0;//执行失败
}
}
//4. 写一个函数实现在一个字符串中查找键盘上输入的字符,并且返回这个字符的地址。qwertyuiop (指针函数)
char *qwertyuiop()
{
static char buff[128];
char m;
printf("字符串:");
gets(buff);
printf("输入的字符:");
//char m = getch();
scanf("%c",&m);
for(int i=0;i<strlen(buff);i++)
{
if(buff[i]==m)
{
return &buff[i];
}
}
return 0;
}
//5. 写一个函数:对字符数组的内容进行排序。提示:冒泡排序。
void maopao()
{
char suff[128];
printf("输入字符数组:");
gets(suff);
for(int i=0;i<strlen(suff)-1;i++)
{
for(int j=0;j<strlen(suff)-1-i;j++)
{
if(suff[j]>suff[j+1])
{
char m;
m=suff[j];
suff[j]=suff[j+1];
suff[j+1]=m;
}
}
}
printf("冒泡排序后字符数组:%s\n",suff);
}
//6. 写一个函数实现字符串的连接(strcat)。 "hello" "world"把两个字符串连接成一个字符串,并且返回连接好的字符串的首地址。
char *strcatt(char n[],char m[])
{
int i=0,j=0;
while(n[i]!='\0')
{
i++;
}
while(1)
{
n[i]=m[j];
if(m[j]=='\0')
{
return n;
}
i++;
j++;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/xurui1230/c-language-practice.git
git@gitee.com:xurui1230/c-language-practice.git
xurui1230
c-language-practice
C language practice
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385