蓝鸥iOS从零基础到精通就业-C语言入门 15函数结构体练习

iOS C语言基础与练习
本文通过具体的代码示例介绍了如何使用C语言进行函数编写、结构体定义与操作。包括了奇偶数判断、水仙花数查找及结构体数组的排序等功能。

蓝鸥iOS从零基础到精通就业-C语言入门

 (学习路径http://blog.csdn.NET/lanouluanbin/article/details/53518018)

15函数结构体练习

#import <Foundation/Foundation.h>

//函数1判断数字的奇偶  yes表示偶数  no表示奇数
BOOL judgeNumber(int a);
BOOL judgeNumber(int a)
{
    if (a%2 == 0) {
        return YES;
    }else
    {
        return NO;
    }
}

//函数2求水仙花数
void searchNumber();
void searchNumber()
{
    int number = 0;
    for (int i = 100; i<1000; i++) {
        //百位510
        int a = i/100;
        //十位 123
        int b = i%100 /10;
        //个位 104
        int c = i%10;
        if (a*a*a + b*b*b + c*c*c == i) {
            printf("水仙花数是:%d\n",i);
            number++;
        }
    }
    printf("总共有%d个水仙花数\n",number);
}

//第三题
struct  teacher {
    int age;
    char name[30];
    float salary;
};
typedef struct teacher Teacher;
//第三个函数 打印所有老师的信息
void showTeacher(Teacher tes[],int count);
void showTeacher(Teacher tes[],int count)
{
    for (int i = 0; i<count; i++) {
        printf("老师的信息如下%d %s %.2f\n",tes[i].age,tes[i].name,tes[i].salary);
    }
}
//第四个函数 按照工资对老师进行升序排列
void sortTeacher(Teacher tes[],int count);
void sortTeacher(Teacher tes[],int count)
{
    for (int i = 0; i<count-1; i++) {
        for (int j = 0; j<count-i-1; j++) {
            if (tes[j].salary > tes[j+1].salary) {
                Teacher tempTeacher = tes[j];
                tes[j] = tes[j+1];
                tes[j+1] = tempTeacher;
            }
        }
    }
}



int main(int argc, const char * argv[]) {
   
    /*
     用函数实现 : 输入一个整数,判断奇偶,并返回判断结果(BOOL)
     */
    int number = 0;
    printf("请输入一个整数\n");
    scanf("%d",&number);
    BOOL result = judgeNumber(number);
    printf("%d\n",result);
    
    
    /*
     用函数实现 : 编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数
     */
    searchNumber();
    
    
    /*
     定义老师结构体teacher,有年龄age,名字,工资三个变量.重命名为Teacher,定义三个结构体变量并添加到结构体数组中,写一个函数打印结构体数组中所有老师的信息,在写一个函数实现按照老师的工资对结构体数组中的老师进行升序排列。
     */
    
    
    //三个结构体变量
    Teacher t1 = {28,"斧王",300.0};
    Teacher t2 = {28,"赏金",900.0};
    Teacher t3 = {28,"屠夫",500.0};
    
    Teacher teachers[3] = {t1,t2,t3};
    showTeacher(teachers, 3);
    sortTeacher(teachers, 3);
    showTeacher(teachers, 3);
    
    
    return 0;
}


内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值