1、非函数实现strcpy
#include<stdio.h>
int main(int argc, const char *argv[])
{
int i=0;
char a[20]="123456";
char b[20]="abcd";
while(b[i]!='\0')
{
a[i]=b[i];
i++;
}
a[i]='\0';
puts(a);
return 0;
}
2、非函数实现strcat
#include<stdio.h>
int main(int argc, const char *argv[])
{
int i,j;
char a[20];
printf("enter a:");
gets(a);
char b[20];
printf("enter b:");
gets(b);
for(i=0;a[i]!='\0';i++);
j=0;
while(b[j]!='\0')
// for(j=0;b[j]!='\0';j++)
{
a[i+j]=b[j];
j++;
}
a[i+j]='\0';
puts(a);
return 0;
}
3、非函数实现strlen
#include<stdio.h>
int main(int argc, const char *argv[])
{
int i=0;
char a[20];
printf("enter a:");
gets(a);
while(a[i]!='\0')
{
i++;
}
printf("n=%d\n",i);
return 0;
}
4、非函数实现strcmp
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a[20];
printf("enter a:");
gets(a);
int b[20];
printf("enter b:");
gets(b);
int i=0;
while(a[i]==b[i])
{
if(a[i]=='\0')
break;
i++;
}
if(a[i]-b[i]>0)
{
printf("a>b");
}
else if(a[i]-b[i]<0)
{
printf("a<b");
}
else
{
printf("a=b");
}
return 0;
}
5、非函数实现atoi
#include<stdio.h>
int main(int argc, const char *argv[])
{
char a[20];
printf("enter a:");
gets(a);
int i,j,sum=0;
i=0;
while(a[i]==' ')
{
if(a[i]=='-' || a[i]=='+')
break;
i++;
}
j=i;
i++;
while(a[i]>='0'&&a[i]<='9')
{
sum=sum*10+(a[i]-'0');
i++;
}
if(a[j]=='-')
{
sum=-sum;
}
printf("sum=%d\n",sum);
return 0;
}
6、单词逆置
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
char a[20]; //="good good study";
printf("enter a:");
gets(a);
int i,j,k;
i=0;
j=strlen(a)-1;
while(i<j)
{
char t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
i=j=0;
while(a[i]!='\0')
{
while(a[j]!=' '&&a[j]!='\0')
{
j++;
}
k=j-1;
while(i<k)
{
char t=a[i];
a[i]=a[k];
a[k]=t;
i++;
k--;
}
for(j;a[j]==' ';j++);
/* while(a[j]==' ')
{
j++;
} */
i=j;
}
puts(a);
return 0;
}
7、输入三个字符串计算最大字符串
#include<stdio.h>
int main(int argc, const char *argv[])
{
char a[20],b[20],c[20];
printf("enter a:");
gets(a);
printf("enter b:");
gets(b);
printf("enter c:");
gets(c);
if(strcmp(a,b)>=0&&strcmp(a,c)>=0)
{
// printf("max=%s\n",a[20]);
puts("a");
}
else if(strcmp(b,a)>=0&&strcmp(b,c)>=0)
{
// printf("max=%s\n",b[20]);
puts("b");
}
else
{
// printf("max=%s\n",c[20]);
puts("c");
}
return 0;
}
8、思维导图