作业《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用

来源:互联网 发布:淘宝虚拟货源怎么找 编辑:程序博客网 时间:2024/06/18 11:48

main.m文件


#import <Foundation/Foundation.h>
#import"Function.h"
int main(int argc, const char * argv[]) {
    //第六讲:函数》
    
   // 1、(**)一维浮点型数组的冒泡排序函数
//    float array[]={2.1,3.4,3.2,4,5,2.8,7.2,0.4};
//    int count = sizeof(array)/sizeof(int);
//    sortarray(array, count);
//    for (int i=0; i<count; i++) {
//        printf("array[%d]=%f\n",i,array[i]);
//    }
    
    //2、(***)编写实现strlen同功能的函数stringLength。//strlen()只适用于求字符串,不适用于字符串数组,再来区别一下sizeof()函数,这个就可以计算任何类型的字符数组的字符个数,,注意是的它实际是求字节格式,不过一个char恰好是一个字节的,其他int 则需要再除以4个字节,因为char1字节,int占4字节
    char str[]="dbfklajdklajklsjd";
//    char str[]={'a','f','d','r'};//这不是字符串,而是字符数组
//    int length=strlen(str);
//    printf("%d",length);
    int strlen=stringLength(str);
    printf("%d\n",strlen);
    
    //3、(***)编写实现strcpy同功能的函数stringCopy。
//    char s1[]="sdasjdajlpolkklsdfsdfgsasas";
//    char s2[]="gsdjaaaaaaaaaabaaaa";
//    int count=sizeof(s1);//计算字符串的长度,并且装的字符串数组的空间一定要大于被装的字符串数组,不然会奔溃的
//    stringCopy(s1,s2,count);
////    for (int i=0; i<count; i++) {//显示方法一
////        printf("%c",s1[i]);
////    }
////    printf("\n");
//    printf("%s",s1);//显示方法二
//    printf("\n");
    
    //整型数组操作:
    //(1)写一个函数,实现给数组中的元素随机赋值。
    int n=0;
    printf("请输入一个值决定数组的长度:");
    scanf("%d",&n);
    int array[n];
    int min=0,max=0;
    printf("请输入一个范围决定数组的取值,如10 20表示范围在10~20,请输入:");
    scanf("%d %d",&min,&max);
    for (int i=0; i<n; i++) {
        array[i]=rondam(min,max);//产生随机数的函数调用
    }
    print(array,n);//输出函数的调用
    printf("\n");
//
//    //2)写一个函数,实现给数组排序,升序排列。
    sortstr(array, n);//升序排序的函数调用
//
//    //3)写一个函数,实现将数组元素输出。
    print(array,n);//输出函数的调用
    return 0;
}

.h文件


#import <Foundation/Foundation.h>

// 1、(**)一维浮点型数组的冒泡排序函数
void sortarray(float a[],int n);
//2、(***)编写实现strlen同功能的函数stringLength。
int stringLength(char str[]);
//3、(***)编写实现strcpy同功能的函数stringCopy。
void stringCopy(char s1[],char s2[],int n);
//整型数组操作:
//(1)写一个函数,实现给数组中的元素随机赋值。
int  rondam(int min,int max);
//2)写一个函数,实现给数组排序,升序排列。
void sortstr(int a[],int n);
//3)写一个函数,实现将数组元素输出。
void print(int a[],int n);


.m文件


#import "Function.h"

// 1、(**)一维浮点型数组的冒泡排序函数
void sortarray(float a[],int n)
{
    for (int i=0; i<n-1; i++) {
        for (int j=0; j<n-1-i; j++) {
            if (a[j]>a[j+1]) {
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
}
//2、(***)编写实现strlen同功能的函数stringLength。
int stringLength(char str[])
{
    int i=0;
    unsigned int count =0;//正整数
    while (str[i]) {
        count++;
        i++;
    }
    return count;

}
//3、(***)编写实现strcpy同功能的函数stringCopy。
void stringCopy(char s1[],char s2[],int n)
{
    for (int i=0; i<n; i++) {
        s1[i]=s2[i];
    }
}
//整型数组操作:
//(1)写一个函数,实现给数组中的元素随机赋值。
int  rondam(int min,int max)//a,b是随机数的范围
{
    int value=arc4random()%(max-min+1)+min;
    return value;
}
//2)写一个函数,实现给数组排序,升序排列。
void sortstr(int a[],int n){
    for (int i=0; i<n-1; i++) {
        for (int j=0; j<n-1-i;j++) {
            if (a[j]>a[j+1]) {
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
}
//3)写一个函数,实现将数组元素输出。
void print(int a[],int n)
{
    for (int i=0; i<n; i++) {
        printf("a[%d]=%d\n",i,a[i]);
    }
}




0 0
原创粉丝点击