C4_作业

本文介绍了一系列数组处理程序,包括合并并排序两个数组、生成并分析随机整数数组、降序排序数组、查找数组中的最大最小值及其位置以及从字符串中找出最长单词的方法。

1.编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组.

    int arr1[5] = {0}, arr2[5] = {0};
    printf("请输入五个数: ");
    scanf("%d %d %d %d %d",&arr1[0],&arr1[1],&arr1[2],&arr1[3],&arr1[4]);
    printf("请再输入五个数: ");
    scanf("%d %d %d %d %d",&arr2[0],&arr2[1],&arr2[2],&arr2[3],&arr2[4]);
    int arr3[5] = {0};
    for (int i = 0; i < 5 - 1; i++) {
        for (int j = 0; j < 5 - 1 - i; j++) {
            if (arr1[j] > arr1[j + 1]) {
                int temp = arr1[j];
                arr1[j] = arr1[j + 1];
                arr1[j + 1] = temp;
            }
            if (arr2[j] > arr2[j + 1]) {
                int temp2 = arr2[j];
                arr2[j] = arr2[j + 1];
                arr2[j + 1] = temp2;
            }
        }
    }
    for (int i = 0; i < 5; i++) {
        arr3[i] = arr1[i] + arr2[i];
    }
    for (int i = 0; i < 5 - 1; i++) {
        for (int j = 0; j < j - 1 -i; j++) {
            if (arr3[j] > arr3[j + 1]) {
                int temp = arr3[j];
                arr3[j] = arr3[j + 1];
                arr3[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 5; i++) {
        printf("%d ",arr3[i]);
    }

2.(**)随机产生20个10~50的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和.

    char arr[20] = {0};
    int max = 0, min = 50;
    int sum = 0;
    for (int i = 0; i < 20; i++) {
        arr[i] = arc4random() % (50 - 10 + 1) + 10;
    }
    for (int i = 0; i < 20; i++) {
        max = arr[i] > max ? arr[i] : max;
        min = arr[i] < min ? arr[i] : min;
        sum += arr[i];
    }
    printf("最大值为%d,最小值为%d,总和为%d,平均值为%d\n",max,min,sum,sum/20);

3.(**)编写整型数组排序程序(冒泡–降序).

    int a[] = {3, -9, 32, 77, 63, -24, 14, 0, 21, 45};
    for (int i = 0; i < 10 - 1; i++) {
        for (int j = 0; j < 10 - 1 - i; j++) {
            if (a[j] < a[j + 1]) {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 10; i++) {
        printf("%d ",a[i]);
    }
    printf("\n");

4.(***)找出下列整型数组中最大和最小值及其所在位置i.

    int arr[] = {3, -9, 32, 77, 63, -24, 14, 0, 21, 45};
    int max = 0, min = 77;
    int maxIndex = 0, minIndex = 0;
    for (int i = 0; i < 10; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
        if (arr[i] < min) {
            min = arr[i];
        }
    }
    for (int i = 0; i < 10; i++) {
        if (max == arr[i]) {
            maxIndex = i;
        }
        if (min == arr[i]) {
            minIndex = i;
        }
    }
    printf("第%d个数为最大值%d,第%d个数为最小值%d\n",maxIndex,max,minIndex,min);

5.(****)思考题:编程在一个已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
比如:”ni hao world”,最长单词是world。

    char str[] = "I am a wonderful boy";
    int maxLength = 0;//最长长度
    int currentLength = 0;//当前单词的长度(每个单词长度)
    int i = 0;//下标
    int index = 0;//最长单词的起始位置
    while (str[i] != '\0') {
        if (str[i] != ' ') {
            currentLength++;
            if (str[i+1]=='\0') {
                if (maxLength < currentLength) {
                    maxLength = currentLength;
                    index = i+1 - maxLength;
                }
            }
        }else {
            if (maxLength < currentLength) {
                maxLength = currentLength;
                index = i - maxLength;
            }
            currentLength = 0;
        }
        i++;
    }
    printf("%d\n",maxLength);
    for(int i = index;i < maxLength+index;i++){
        printf("%c",str[i]);
### C4D建模期末作业灵感与教程 CINEMA 4D(简称C4D)是款功能强大的三维建模和动画软件,广泛应用于影视特效、产品广告、电视包装以及工业设计等领域[^2]。以下是关于C4D建模期末作业的灵感与教程内容: #### 1. 创意主题选择 在选择C4D建模的期末作业主题时,可以从以下几个方向入手: - **建筑可视化**:使用C4D创建建筑模型,并结合灯光和材质渲染出高质量的效果图。可以参考HTML+CSS+JavaScript网页设计中的建筑类网站模板,将C4D生的建筑模型嵌入到网页中进行展示[^4]。 - **产品广告**:设计一个虚拟的产品广告场景,例如手机、汽车或家电等,利用C4D的挤压、循环切割等功能完建模,并通过灯光和摄像机设置实现逼真的渲染效果。 - **游戏角色**:为游戏设计一个角色或道具,运用C4D的建模工具完角色的造型,并添加纹理和材质,使其看起来更加真实[^1]。 #### 2. 建模技巧与教程 以下是些C4D建模的核心技巧和教程建议: - **基础建模工具**:掌握C4D中的基本建模工具,如立方体、球体、圆柱体等几何体的创建,以及挤压、倒角、布尔运算等功能的应用。 - **高级建模技术**:学习如何使用多边形建模方法,通过细分曲面(Subdivision Surface)和动态修改器(MoGraph)来创建复杂的模型。 - **材质与贴图**:C4D拥有丰富的预置库,可以直接调用现的材质和贴图。同时,也可以通过导入自定义的纹理文件,为模型赋予独特的外观。 - **灯光与渲染**:了解C4D内置的物理渲染引擎(Physical Render)和Redshift等第三方渲染插件的使用方法,调整灯光参数以获得最佳的渲染效果。 #### 3. 示例项目 以下是些具体的C4D建模期末作业示例: - **仿悦世界游戏官网**:结合HTML5、CSS3和JavaScript,设计一个互动性强的游戏官方网站。使用C4D创建游戏场景或角色模型,并将其导出为图片或视频嵌入到网页中[^3]。 - **响应式建材建筑装修类网站**:制作一个展示建筑装修案例的响应式网站,其中包含由C4D生的建筑模型效果图。确保网站在不同设备上都能正常显示[^4]。 - **科幻短片制作**:创作段简短的科幻故事,利用C4D完场景和角色的建模、动画及渲染工作。最终输出为视频文件[^2]。 ```python # 示例代码:简单的C4D Python脚本用于创建立方体 import c4d from c4d import gui def main(): # 创建一个立方体对象 cube = c4d.BaseObject(c4d.Ocube) # 设置立方体的大小 cube[c4d.PRIM_CUBE_LEN] = c4d.Vector(200, 200, 200) # 将立方体插入文档 doc.InsertObject(cube) # 更新文档 c4d.EventAdd() if __name__=='__main__': main() ``` #### 4. 学习资源推荐 为了更好地完C4D建模的期末作业,可以参考以下学习资源: - 官方文档和教程:Maxon官方提供的C4D用户手册和视频教程,涵盖了从基础到高级的各种功能。 - 在线课程平台:如B站、YouTube等网站上有大量免费的C4D教学视频,可以根据自己的需求选择适合的内容。 - 社区论坛:加入C4D相关的社区或论坛,与其他用户交流经验和技巧,获取更多灵感。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值