一.在主函数定义一维数组并赋值
要求:
1,定义函数实现冒泡排序 [有参无返函数]
2,定义函数实现输出[有参无返函数]
二.在主函数定义二维数组
要求:
1,定义函数,计算二维数组最大值[有参有返函数,返回最大值]
2,定义函数,计算二维数组第二值[有参有返函数,返回第二大值]
3,定义函数,计算二维数组最小值[有参有返函数,返回最小值]
三.定义函数实现字符串拷贝
void my_strcpy(char s1[],char s2[])
四.定义函数实现字符串连接
void my_strcat(char s1[],char s2[])
五.附录
1.函数与冒泡排序
#include <stdio.h>
#include <string.h>
void mp_sort(int arr[],int len);
void Output(int arr[],int len);
int main(int argc, const char *argv[])
{
int arr[]={15,8,2,9,20,1};
int len=sizeof(arr)/sizeof(arr[0]);
mp_sort(arr,len);
Output(arr,len);
return 0;
}
void mp_sort(int arr[],int len){ //升序
int i,j,min;
int count=0;
for(i=1;i<len;i++){
for(j=0;j<len-i;j++){
if(arr[j]>arr[j+1]){
int t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;
count++;
}
}
if(count==0) break;
}
}
void Output(int arr[],int len){
for(int i=0;i<len;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
//2.函数与最大值、最小值、第二大值
#include <stdio.h>
#include <string.h>
int fir_max(int arr[][3],int line,int row);
int sec_max(int arr[][3],int line,int row);
int Min(int arr[][3],int line,int row);
int main(int argc, const char *argv[])
{
int arr[][3]={2,8,9,10,6,1};
int line=sizeof(arr)/sizeof(arr[0]);
int row=sizeof(arr[0])/sizeof(arr[0][0]);
int a=fir_max(arr,line,row);
int b=Min(arr,line,row);
int c=sec_max(arr,line,row);
printf("最大值:%d\n第二大值:%d\n最小值:%d\n",a,c,b);
return 0;
}
int fir_max(int arr[][3],int line,int row){
int i,j;
int fir_max=arr[0][0];
for(i=0;i<line;i++){
for(j=0;j<row;j++){
if(fir_max<arr[i][j]) fir_max=arr[i][j];
}
return fir_max;
}
}
int Min(int arr[][3],int line,int row){
int i,j;
int Min=arr[0][0];
for(i=0;i<line;i++){
for(j=0;j<row;j++){
if(Min>arr[i][j]) Min=arr[i][j];
}
}
return Min;
}
int sec_max(int arr[][3],int line,int row){
int i,j;
int sec_max=Min(arr,line,row);
for(i=0;i<line;i++){
for(j=0;j<row;j++){
if(fir_max(arr,line,row)==arr[i][j]) continue;
if(sec_max<arr[i][j]) sec_max=arr[i][j];
}
}
return sec_max;
}
//3.函数与字符串拷贝函数
#include <stdio.h>
#include <string.h>
void my_strcpy(char s1[],char s2[]);
int main(int argc, const char *argv[])
{
char s1[]="hello";
char s2[]="world";
my_strcpy(s1,s2);
printf("操作后的字符串:s1=%s s2=%s\n",s1,s2);
return 0;
}
void my_strcpy(char s1[],char s2[]){
int i,j;
for(i=0;s2[i]!='\0';i++){
s1[i]=s2[i];
}
s1[i]='\0';
}
//4.函数与字符串连接
#include <stdio.h>
#include <string.h>
void my_strcat(char s1[],char s2[]);
int main(int argc, const char *argv[])
{
char s1[]="hello";
char s2[]="world";
my_strcat(s1,s2);
printf("操作后的字符串:s1=%s s2=%s\n",s1,s2);
return 0;
}
void my_strcat(char s1[],char s2[]){
int i,j;
for(i=0;s1[i]!='\0';i++);
for(j=0;s2[j]!='\0';j++){
s1[i]=s2[j];
i++;
}
s1[i]='\0';
}