作业:![a2036123aae34bdf9690d2db25960ddf.png](https://img-blog.csdnimg.cn/direct/a2036123aae34bdf9690d2db25960ddf.png)
1>
要求:![b075d3c248744ac9b4b98da499c23c78.png](https://img-blog.csdnimg.cn/direct/b075d3c248744ac9b4b98da499c23c78.png)
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 5
void chose_sort(int n,int *a)
{
int i,j;
for(i=0;i<n;i++)
{ for(j=i+1;j<n;j++)
{
if(*(a+i)<=*(a+j))
{
int t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
}
}
}
printf("选择排序后:");
for(i=0;i<n;i++) printf("%d ",*(a+i));
printf("\n");
}
int main(int argc,char *argv[])
{
//有参无返函数实现简单选择排序
int arr[N];
for(int i=0;i<N;i++)
{
scanf("%d",arr+i);
}
chose_sort(N,arr);
return 0;
}
效果图:
2>
要求:![68132d6bb77f4526a340eb7b0f7d1e24.png](https://img-blog.csdnimg.cn/direct/68132d6bb77f4526a340eb7b0f7d1e24.png)
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int Strcmp(char *p,char *q)//指针实现字符串比较
{
int i=0;
while(*(p+i)==*(q+i))
{
if( *(q+i)=='\0'||( *(p+i))=='\0' )
break;
i++;
}
return *(p+i)-*(q+i);
}
int main(int argc,char *argv[])
{
char str1[10];
char str2[10];
scanf("%s",str1);
scanf("%s",str2);
int x=Strcmp(str1,str2);
x>=0?(x>0?printf("s1>s2\n"):printf("s1=s2\n")):printf("s1<s2\n");
return 0;
}
效果图:![a179521a473f4c219e1a6944f128b133.png](https://img-blog.csdnimg.cn/direct/a179521a473f4c219e1a6944f128b133.png)
3>
要求:![ba1a2728862e4296b3fa29710b759760.png](https://img-blog.csdnimg.cn/direct/ba1a2728862e4296b3fa29710b759760.png)
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void invert_arr(char *s)
{
//先整体逆置
int i=0,j=0;
printf("原字符串为str=%s\n",s);
while(*(s+j)!='\0')
{
j++;
}
j=j-1;
while(i<j)
{
char t=*(s+i);
*(s+i)=*(s+j);
*(s+j)=t;
i++;
j--;
}
//再局部逆置
i=j=0;
while(*(s+j)!='\0')
{
while(*(s+j)!=' '&&*(s+j)!='\0') j++;
int k=j-1;
while(i<k)
{
char t=*(s+i);
*(s+i)=*(s+k);
*(s+k)=t;
i++;
k--;
}
while(*(s+j)==' ') j++;
i=j;
}
printf("逆置后为str=%s\n",s);
}
int main(int argc,char *argv[])
{
//指针实现字符串逆置
char str[]="good good study";
invert_arr(str);
return 0;
}
效果图:
4>思维导图