20230321华清远见作业

作业1:定义有参无返回值函数实现,主调函数传递三角形三条边,被调函数中对其进行判断,判断能否构成三角形,如果能构成三角形,判断该三角形是等边三角形、等腰三角形还是一半三角形。如果不能构成三角形,则输出不能构成三角形。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

void my_fun(int long1, int long2, int long3){
    if(long1+long2>long3 && long1+long3>long2 && long2+long3>long1){
        printf("可以以构成三角形\n");
        if(long1 == long2 && long2 ==long3){
            printf("等边三角形\n");
        }else if(long1==long2 || long2==long3){
            printf("等腰三角形\n");
        }else if(long1*long1==long2*long2+long3*long3 || long2*long2==long1*long1+long3*long3 || long3*long3==long1*long1+long2*long2){
            printf("直角三角形\n");
        }else{
            printf("一般三角形\n");
        }
    }else{
        printf("不可以构成三角形\n");
    }
}


int main(int argc, const char *argv[])
{
    int long1=0;//三边边长
    int long2=0;
    int long3=0;
    printf("请分别输入三角形的三边长度:");//默认三角形三边为int整形
    scanf("%d%d%d", &long1, &long2, &long3);
    my_fun(long1, long2, long3);

    return 0;
}

作业2:使用有参无返回值函数实现如下应用题

电暖气是一种将电能转化为热能的产品。目前,国内的电采暖方式主要分为发热电缆地板辐射采暖、电热膜采暖和电暖气等。

编程实现输入用电量,计算电费功能.

注:电费采用的是阶段电费:

如果用电量在1-100度之间电费单价是0.35元

如果用电度数为101---200则电费单价是0.46元超过200度则电费单价是0.68元

例如:如果用电量为120度,则前100度按第一阶梯收费。剩余20度以第二阶梯价收费。

电费=100*0.35+(120-100)0.46;

要求主调函数中输入所用电量,被调函数中输出所要缴纳的电费

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

void my_fun(int num){
    double sum=0;//总电费
    if(num>200){
        sum=(num-200)*0.68+100*0.46+100*0.35;
        printf("电费:%.2lf元\n", sum);
    }else if(num>100 && num<=200){
        sum= (num-100)*0.46+100*0.35;
        printf("电费:%.2lf元\n", sum);
    }else if(num<=100){
        sum= num*0.35;
        printf("电费:%.2lf元\n", sum);
    }

}

int main(int argc, const char *argv[])
{
    int num=0;           //电量
    printf("请输入电量:");
    scanf("%d", &num);
    my_fun(num);

    return 0;
}

作业3:定义有参无返回值函数.在主函数中完成输入字符串,将数组名作为函数参数传递,在被调函数中,将字符串中的数字字符存入新数组分别统计奇偶个数、和、平均值输出。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
void my_fun(char brr[] , int len){
    int i=0;  //用于遍历数组brr
    int k=0;  //用于统计数字的长度
    char crr[len];//新的数组
    int j=0;    //数组中奇数的个数
    int o=0;    //数组中偶数的个数
    int sum=0;  //存放和
    double aver=0.0; //存放平均数

    for(i=0; i<len; i++){        //筛选数组中的数字,放到新的数组中
        if(brr[i]>='0' && brr[i]<='9'){
            crr[k]=brr[i];
            k++;
        }
    }
    for(i=0; i<k;i++){//输出筛选后的crr,用于验证
        printf("%c\t", crr[i]);
    }
    putchar(10);


    for(i=0; i<k; i++){         //遍历新数组crr
        if((crr[i]-'0')%2==0){
            o++;
        }else {
            j++;
        }
        sum=sum+(crr[i]-'0');
    }
        aver=sum*1.0/k;
    printf("数组中奇数的个数为:%d\n", j);
    printf("数组中偶数的个数为:%d\n", o);
    printf("数组数的总和为:%d\n", sum);
    printf("数组中平均数为:%.2lf\n", aver);

}

int main(int argc, const char *argv[])
{
    char arr[256]={0};       //初始化字符串
    printf("请输入一串字符串:");    
    gets(arr);

    int len=sizeof(arr)/sizeof(arr[0]);  

    my_fun(arr, len);

    return 0;
}

作业4:定义函数实现:

主调函数中定义一个数组,存储6名学生的成绩。

调用自定义的有参无返回值函数完成6名学生的成绩录入。调用自定义的有参无返回值函数完成对成绩的输出。调用有参无返回值函数,完成对成绩的升序排序。

调用自定义的有参有返回值函数,求出总成绩后,在主调函数输出总成绩

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
void my_fun(int brr[], int n){    
    int i=0;              //成绩录入
    for(i=0; i<n;i++){
        printf("请输入第%d名同学的成绩:", i+1);
        scanf("%d", &brr[i]);
    }

    //成绩输出
    printf("输入的成绩为:");
    int j=0;         //对brr字符数组的元素的计数
    for(j=0; j<n; j++){
        printf("%d\t", brr[j]);
    }
    putchar(10);

    //升序
    int temp=0;
    for(i=1; i<n;i++){
        for(j=0; j<n-i; j++){
            temp=0;
            if(brr[j]>brr[j+1]){
                temp=brr[j]; brr[j]=brr[j+1];brr[j+1]=temp;
            }
        }
    }
    printf("升序排列后为:");
    for(i=0; i<n; i++){         //升序排列后输出
        printf("%d\t", brr[i]);
    }
    putchar(10);
}

int my_fun1(int crr[], int m){//有返回值有参数的自定义函数
    int i=0;
    int sum=0;
    for(i=0; i<m; i++){
        sum+=crr[i];
    }
    return sum;
}


int main(int argc, const char *argv[])
{
    int arr[6]={0};
    my_fun(arr, 6);

    int ret=my_fun1(arr, 6);
    printf("成绩总和为:%d\n", ret);

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值