美文网首页
C实训(四)

C实训(四)

作者: 无厘小阿先_ | 来源:发表于2017-08-19 18:33 被阅读0次

练习:

新建一个Suibian类,以下函数的部分都是写到这个类中的:

1.用函数实现 : 随机产生count个[n , m]的正整数,输出这些数以及他们中的最大数

    int max1(int n, int m, int count){
    int arr[count];
    int max = n - 1;
    for (int i = 0; i < count; i++) {
        arr[i] = arc4random() % (m - n + 1) + n;
        printf("这些数为:%d\n",arr[i]);
        if (max < arr[i]) {
            max = arr[i];
        }
        printf("最大数为:%d\n",max);
    }
    //printf("最大数为:%d\n",max);
    return max;
}
  1. 用函数实现 : 编程将所有“水仙花数”打印出来,并打印其总个数。 (“水仙花数”是一个各个位的立方之和等于该整数的三位数)
void flower() {
    int count = 0;
    for (int i = 100; i <= 999; i++) {
        int x = i / 100;//百位
        int y = i / 10 % 10;//十位
        int z = i % 10;//各位
        if (x * x * x + y * y * y + z * z * z == i) {
            count++;
            printf("%d\n",i);
        }
    }
    printf("水仙花数:%d\n",count);
}
  1. 用函数实现 : 已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合
void set(){
    for (int a = 1; a < 10; a++) {
        for (int b = 0; b < 10; b++) {
            for (int c = 1; c < 10; c++) {
                if ((a * 100 + b * 10 + c * 1) + (c * 100 + b * 10 + a * 1 == 1333)) {
                    printf("%d,%d,%d\n",a,b,c);
                }
            }
        }
    }

}

4.用函数实现 : 输入一个数,如果大于0,输出“正数”;如果小于0,输出“负数”;如果等于0,输出“0”

void shu(){
    int a = 0;
    printf("请输入一个数:");
    scanf("%d",&a);
    if (a > 0) {
        printf("正数\n");
    } else if (a < 0) {
        printf("负数\n");
    } else
        printf("0\n");
}

5.参考strlen()函数编写一个myStrlen()函数,用于获取字符串的长度

int myStrlen(char array[]){
    int count = 0;
    while (array[count] != '\0') {
        count++;
    }
    return count;

}
  1. 用函数实现 : 输入一个整数,判断奇偶,并返回判断结果(BOOL),奇数YES,偶数NO
BOOL panDuan(){
    int a = 0;
    if (a % 2 != 0) {
        return YES;
    }
    return  NO;
}
在主函数中进行实现:
  • 先导入头文件:#import "Suibian.h"

  • 然后进行赋初值、函数调用

    hello();
    repeatPrint(12);
    int x = 4;
    repeatPrint(x);
    int y = peopleCount();
    printf("%d\n",peopleCount());
    printf("%d\n",y);
    int c = max(1,4);
    printf("%d\n",c);
    int q = 0;
    printf("请输入求和的数:");
    scanf("%d",&q);
    int c = sum(q);
    printf("和为:%d\n",c);
   printf("%d\n",mul(2, 3));
   printf("%d\n",chu(5, 1));
   flower();
int count = myStrlen("sgdrgre");
    printf("%d\n",count);
    
    BOOL v = panDuan(10);
    printf("%d",v);
  • 注意每个写在main()函数中的语句都要写在return 0;之前,之前写的几篇中类似,另外定义的函数要写在main()函数{}之外。

  • 下面的练习是写在main.h中的函数,前边的几个🌰是新建类进行函数的添加。

1.几种函数的类型

void hello() {
    printf("hello hi!");
}
void repeatPrint(int count){
    for (int i = 0; i < count; i++) {
        printf("hello\n");
    }
}
int  peopleCount(){
    return 4;
}
int max(int a, int b){
    
    if (a > b) {
        return a;
    }
    return b;
}

2.编写函数,计算1-n的和,并将计算结果通过值返回。n的值由键盘输入

int sum(int n){
    int a = 0;
    for (int i = 1; i <= n; i++) {
        a += i;
    }
    return a;
}

3.三个数中的大小比较

int middleOfThree(int a, int b, int c){
    int max1 = max(a, b);
    int max2 = max(a, c);
    int max3 = max(b, c);
    int max4 = max(max1, max2);
    int result = max4 < max3 ? max4 : max3;
    return result;
}
  • 中间用到了几个函数间的调用

知识点:

1.函数:

1️⃣是具有特定功能的代码段(一连串语句组合总在一起,实现了某一功能)。
可以省略重复代码的编写。
2️⃣从函数定义分为:
库函数(系统提供好的函数,例如printf)、自定义函数(开发者自己写的函数)
3️⃣函数定义四要素:
返回值类型 :函数的结果值类型,函数不能返回数组。指定返回类型是void类型说明函数没有返回值。
函数名 :函数名命名规范和变量名命名规范一样。
参数列表 : 每个形式参数的前面说明其类型,即使几个参数具有相同的数据类型,也必须对每个形式参数分别进行类型说明。形式参数用逗号进行分隔,就算没有参数函数后面的()也不能省略,可以写成(void)。
函数体 :函数功能的实现。

2.函数的定义类型:

返回值类型  函数名(形式参数列表) {
    语句
    return 返回值;
}


无参数无返回值函数举例
void hello(void) {
    printf("Hello,Lanou"):
}

无参数有返回值函数举例
int peopleCount(void) {
    return 33;
}

有参数无返回值函数举例
void printNumber(int x) {
    printf("number is %d", x);
}

有参数有返回值函数举例
int max(int a, int b) {
    return  a > b ? a : b;
}

3.函数嵌套调用

C语言不允许函数嵌套定义,但是允许函数嵌套调用。
函数嵌套定义 : 在一个函数定义内再去定义一个函数;
函数嵌套调用 : 在一个函数内去调用另一个函数。

函数嵌套调用举例
void hello(void) {
    printf("Hello,Lanou");
}

相关文章

  • C实训(四)

    练习: 新建一个Suibian类,以下函数的部分都是写到这个类中的: 1.用函数实现 : 随机产生count个[n...

  • Objective-C实训(四)

    练习与示例: 1.数组相关概念 2.创建一个不可变数组 3.数组元素个数 4.从数组取出索引位置的对象 5.根据对...

  • C实训(五)

    练习与注意事项: 1.结构体 结构体要定义在main()函数之外 2.类型重定义,将一个数据类型的名称再起另一个名...

  • C实训(一)

    练习与注意事项: 1.交换两个整型变量的值 2.printf和scanf注意事项 3.长方形的面积 4.求三个数的...

  • C实训(二)

    练习与注意事项: 1.while循环 2.控制台n次打印 3.随机数提示:arc4random() % (最大值 ...

  • C实训(三)

    练习与注意事项: 1.while循环练习题 7的倍数 个位为7的数 十位为7的数 既不是7的倍数并且不包含7 2....

  • 实训感悟

    今天是实训第二天,总共上了四节实训课。临近毕业,实习前的实训是每个毕业生都必须参与的。虽说目前还不知道这次实训课会...

  • 2021年4月复盘

    4月的我不再过度思考,想太多也不是件好事。 四月初我们开始实训,那是我们的第二次实训,本学期我们已经实训了四次了,...

  • 实训项目

    layout: posttitle: 实训项目date: 2020-12-6author: XiaoJia849c...

  • 邓凯f_成长过程之实训

    今天是到实训中心的第四天,正式开始实训的第三天,虽然只是短短几天,但是感受到的东西还是挺多的。 实训中心的学习再也...

网友评论

      本文标题:C实训(四)

      本文链接:https://www.haomeiwen.com/subject/wrgtdxtx.html