#include <stdio.h>
void Input(int a[5],int n)
{
for(int i=0;i<n;i++)
{
printf("输入第%d个数",i+1);
scanf("%d",&a[i]);
}
}
void Bubble(int a[5],int n)
{
for(int i=1;i<n;i++)
{
int count=0;
for(int j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];a[j]=a[j+1];a[j+1]=t;
count++;
}
}
if(count==0)
break;
}
}
void Output(int a[5],int n)
{
for(int i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
}
int main(int argc,const char *argv[])
{
int a[5];
int n=5;
Input(a,n);
Bubble(a,n);
Output(a,n);
return 0;
}
2>实现单词的逆置,在自定义函数中输出逆置后的字符串
1.在主函数输入字符串
2定义有参函数void my_strrev(char str,int start,int end ), start表示起始下标end表示终止下标
#include <stdio.h>
#include <string.h>
void Strrev(char a[50],int m,int n)
{
int j=strlen(a)-1;
for(int i=0;i<j;i++)
{
char t=a[i];a[i]=a[j];a[j]=t;
j--;
}
puts(a);
}
int main(int argc,const char *argv[])
{
char a[50];
printf("请输入一个字符串:");
scanf("%s",a);
int i=0;
int j=strlen(a)-1;
Strrev(a,i,j);
return 0;
}
3>自定义函数实现字符串比较【使用非函数】
1.在主函数输入字符串
2.定义有参有返函数int my_strcmp(char s10,char s2])
返回字符串之间比较的差值
#include <stdio.h>
int Strcmp(char a[20],char b[20])
{
int i=0;int j=0;
while(a[i]==b[j])
{
if(a[i]=='\0')
{
break;
}
else
{
i++;
j++;
}
a[i]='\0';
}
int dev=a[i]-b[j];
return dev;
}
int main(int argc,const char *argv[])
{
char a[20]="";
char b[20]="";
printf("输入第一个字符串:");;
scanf("%s",a);
printf("输入第二个字符串:");
scanf("%s",b);
Strcmp(a,b);
int n=Strcmp(a,b);
if(n==0)
printf("a=b");
if(n>0)
printf("a>b");
if(n<0)
printf("a<b");
return 0;
}
4>自定义函数实现字符串拷贝【使用非函数】,在自定义函数中输出拷贝后的字符串
1.在主函数输入字符串
2.定义有参无返函数实现拷贝 void my_strcpy(char dest,char src[])
#include <stdio.h>
void Strcpy_(char a[20],char b[20])
{
int i;
for(i=0;b[i];i++)
{
a[i]=b[i];
}
a[i]='\0';
puts(a);
}
int main(int argc,const char *argv[])
{
char a[20]=" ";
char b[20]=" ";
printf("输入第一字符串:");
scanf("%s",a);
printf("输入第二个字符串:");
scanf("%s",b);
Strcpy_(a,b);
return 0;
}
5>自定义函数实现字符串连接【使用非函数】,在自定义函数中输出连接后的字符串
1.在主函数输入字符串
2,定义有参无返函数实现void my_strcat()char dest[, char src[])
#include <stdio.h>
void Strcat_(char a[20],char b[20])
{
int i,j;
for(i=0;a[i];i++);
for(j=0;j<b[j];j++)
{
a[i]=b[j];
i++;
}
a[i]='\0';
puts(a);
}
int main(int argc,const char *argv[])
{
char a[20];
char b[20];
printf("输入第一个字符串:");
scanf("%s",a);
printf("输入第二个字符串:");
scanf("%s",b);
Strcat_(a,b);
return 0;
}