亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用C語言實現一個函數,并將數組整體升序排列?

如何使用C語言實現一個函數,并將數組整體升序排列?

C PHP
aluckdog 2022-04-14 17:07:24
函數原型為:void inplace_merge(int* start, int* middle, unsigned int n)參數start為數組首地址,middle為數組后半部首地址,n為數組元素個數要求有主函數,便于我測試程序正確性重復了,此題改為:實現一個函數,將某字符串中最后一次出現的指定子串替換為另一個字符串函數原型為:void rp_last(char* s, char* sub1, char* sub2)參數s為待處理的字符串,sub1為指定的子串,使用sub2替換最后一次出現的sub1要求有主函數,便于我測試程序正確性
查看完整描述

2 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

我親手寫的。
#include<stdio.h>
#include<stdlib.h>
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 ;
}



查看完整回答
反對 回復 2022-04-19
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

#include<iostream.h>
void sort(int a[],int n) //升序
{
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
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:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;

}



查看完整回答
反對 回復 2022-04-19
  • 2 回答
  • 0 關注
  • 201 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號