C语言实现一个函数,将数组整体升序排列.
答案:4 悬赏:0 手机版
解决时间 2021-04-04 16:29
- 提问者网友:我们很暧昧
- 2021-04-04 01:28
C语言实现一个函数,将数组整体升序排列.
最佳答案
- 五星知识达人网友:逐風
- 2021-04-04 03:04
#include
void sort(int a[],int n) //升序
{
for(int i=0;i for(int j=i+1;j {
if(a[i]{
int temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
void main()
{
int a[10];
for(int i=0;i<10;i++)
cin>>a[i];
sort(a,10);
cout<<"after sorted,the array is:"< for(i=0;i<10;i++)
cout
}
void sort(int a[],int n) //升序
{
for(int i=0;i
if(a[i]{
int temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
void main()
{
int a[10];
for(int i=0;i<10;i++)
cin>>a[i];
sort(a,10);
cout<<"after sorted,the array is:"<
cout
}
全部回答
- 1楼网友:轮獄道
- 2021-04-04 04:33
冒泡排序
- 2楼网友:杯酒困英雄
- 2021-04-04 03:35
那么简单的函数不会自己写吗?做学生不能做的那么懒!
- 3楼网友:迷人又混蛋
- 2021-04-04 03:27
我亲手写的。
#include
#include
int get_len(char *);
void rp_last(char* , char* , char* );
int get_len(char* str)
{
if(str == NULL) return -1;
int i;
for(i=0;str[i];i++);
return i;
}
void rp_last(char *s,char *sub1,char *sub2){
int i,j;
int k;
int sLen;
int sub1Len;
int sub2Len;
sLen=get_len(s);
sub1Len=get_len(sub1);
sub2Len=get_len(sub2);
for(i=sLen-1;i>=0;i--)
{
for(j=sub1Len-1,k=i;j>=0&&k>=0;j--,k--)
if(s[k]!=sub1[j]) break;
if(j<0) break;
}
//printf("%d\n",i);
if(j>=0)
printf("not found!\n");
else if(sub1Len>sub2Len)
{
k=sub1Len-sub2Len;
for(j=i+1;s[j-k]=s[j];j++);
for(j=sub2Len-1;j>=0;j--,i--)
s[i-k]=sub2[j];
}
else{
k=sub1Len-sub2Len;
s[k+sLen]='\0';
for(j=sLen-1;j>i;j--)
s[j+k]=s[j];
for(j=sub2Len-1;j>=0;j--,i--)
s[i+k]=sub2[j];
}
printf("result:%s\n",s);
return ;
}
void main()
{
char s[256];
char sub1[100];
char sub2[100];
printf("s :");gets(s);
printf("sub1:");gets(sub1);
printf("sub2:");gets(sub2);
rp_last(s,sub1,sub2);
return ;
}
#include
#include
int get_len(char *);
void rp_last(char* , char* , char* );
int get_len(char* str)
{
if(str == NULL) return -1;
int i;
for(i=0;str[i];i++);
return i;
}
void rp_last(char *s,char *sub1,char *sub2){
int i,j;
int k;
int sLen;
int sub1Len;
int sub2Len;
sLen=get_len(s);
sub1Len=get_len(sub1);
sub2Len=get_len(sub2);
for(i=sLen-1;i>=0;i--)
{
for(j=sub1Len-1,k=i;j>=0&&k>=0;j--,k--)
if(s[k]!=sub1[j]) break;
if(j<0) break;
}
//printf("%d\n",i);
if(j>=0)
printf("not found!\n");
else if(sub1Len>sub2Len)
{
k=sub1Len-sub2Len;
for(j=i+1;s[j-k]=s[j];j++);
for(j=sub2Len-1;j>=0;j--,i--)
s[i-k]=sub2[j];
}
else{
k=sub1Len-sub2Len;
s[k+sLen]='\0';
for(j=sLen-1;j>i;j--)
s[j+k]=s[j];
for(j=sub2Len-1;j>=0;j--,i--)
s[i+k]=sub2[j];
}
printf("result:%s\n",s);
return ;
}
void main()
{
char s[256];
char sub1[100];
char sub2[100];
printf("s :");gets(s);
printf("sub1:");gets(sub1);
printf("sub2:");gets(sub2);
rp_last(s,sub1,sub2);
return ;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯