代码拉取完成,页面将自动刷新
#include<stdio.h>
#include<string.h>
/*
基础作业:
1. 编写一个函数用指针方法来实现求字符串的长度
2. 编写一个函数实现在键盘上输入两个字符串,比较输入的字符串是否一样
3. 编写一个名为addarrays()的函数,它接受三个长度相同的数组,两个数组中对应的元素相加,并将结果放到第三个数组中。
4. 写一个函数实现在一个字符串中查找键盘上输入的字符,并且返回这个字符的地址。qwertyuiop (指针函数)
提高作业:
5. 写一个函数:对字符数组的内容进行排序。提示:冒泡排序。
扩展作业:
6. 写一个函数实现字符串的连接(strcat)。 "hello" "world"把两个字符串连接成一个字符串,并且返回连接好的字符串的首地址。
*/
int strlenn(char *p);//1
int strcmpp(char *p,char *q);//2
void addarrays(int *a,int *b,int *c);//3
int addarray(char *a,char *b,char *c);//3
char *qwertyuiop();//4
void charpaixu();//5
int main()
{
int n;
int i;
char buff[128]="123456",buff2[128],buff3[128];
int sat1[10]={1,2,3,4,3,2,1},sat2[10]={1,1,1,1,1,1},sat3[10];
printf("buff =");
gets(buff);
printf("buff2=");
gets(buff2);
printf("buff3=");
gets(buff3);
/*
for(i=0;i<10;i++)
{
buff[i]=i;
buff2[i]=i+1;
buff3[i]=1;
}
buff[i]='\0';
buff2[i]='\0';
buff3[i]='\0';
printf("buff=");
for(i=0;i<10;i++)
{
printf("%d ",buff[i]);
}printf("\n");
printf("buff2=");
for(i=0;i<10;i++)
{
printf("%d ",buff2[i]);
}printf("\n");
printf("buff3=");
for(i=0;i<10;i++)
{
printf("%d ",buff3[i]);
}printf("\n");
printf("addarrayss函数返回值:%d\n",addarray(buff,buff2,buff3));
printf("buff3=");
for(i=0;i<10;i++)
{
printf("%d ",buff3[i]);
}printf("\n");
*/
printf("buff字符串长度:%d\n",strlenn(buff));
printf("比较字符串:%d\n",strcmpp(buff,buff2));
/*
addarrays(sat1,sat2,sat3);
printf("sat1=");
for(i=0;i<10;i++)
{
printf("%d ",sat1[i]);
}printf("\n");
printf("sat2=");
for(i=0;i<10;i++)
{
printf("%d ",sat2[i]);
}printf("\n");
printf("sat3=");
for(i=0;i<10;i++)
{
printf("%d ",sat3[i]);
}printf("\n");
*/
printf("addarrayss函数返回值:%d\n",addarray(buff,buff2,buff3));
printf("buff3=%s\n",buff3);//3
char *mm=qwertyuiop();
printf("字符%c的地址:%p\n",*mm,mm);//4
charpaixu();//5
}
//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()的函数,它接受三个长度相同的数组,两个数组中对应的元素相加,并将结果放到第三个数组中。
void addarrays(int *a,int *b,int *c)
{
for(int i=0;i<10;i++)
{
c[i]=a[i]+b[i];
}
}
int addarray(char *a,char *b,char *c)
{
while(1)
{
int i=0;
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 charpaixu()
{
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);
}
*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。