3.21函数

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

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

   void san(int i,int j,int k)
{
    if(i+j>k&j+k>i&i+k>j)           //判断能否构成三角形
    {
        printf("能构成三角形\n");
        if(i==j&j==k&i==k)            //等边三角形判断
        {
            printf("该三角形为等边三角形\n");    
        }else if(i==j||i==k||j==k)           //等腰三角形判断
        {
            printf("该三角形为等腰三角形\n");
        }else
        {
            printf("该三角形为一般三角形\n");
        }
    }
    else
    {
        printf("不能构成三角形\n");
    }
}




int main(int argc, const char *argv[])
{
    int a,b,c;
    printf("三角形三边为:");      //定义三个变量表示三角形三边
    scanf("%d,%d,%d",&a,&b,&c);      //输入边长
    san(a,b,c);
    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>

    void  s(double i)
{
     if(i>=1&&i<=100)         //判断电量所在区间
     {
        printf("电费为%.2lf\n",0.35*i);     //输出对应电费
     }else if(i>=101&&i<=200)
     {
        printf("电费为%.2lf\n",0.46*(i-100)+35);
        
     }else
     {
        printf("电费为%.2lf\n",0.68*(i-200)+81);

     }
}




int main(int argc, const char *argv[])
{
    double j;          //定义一个小数
    printf("输入用电量:");     //输入电量
    scanf("%lf",&j);
    s(j);
    return 0;
}

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

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

void s(char shu[])
{    
   int len= strlen(shu);
        int n=0;
        int m=0;
        int sum=0;
        int k=0;
        char arr[20];   //定义变量
    for(int i=0;i<len;i++)
{
    if(shu[i]>='0'&&shu[i]<='9')      //判断字符串中的元素是否为数字
    {
        
        strcpy(arr,shu);             //将数字元素存入新数组
        if(arr[k]%2==0)             //判断奇偶性
        {
            n++;
        }
        else
        {
            m++;
        }
        k++;
        sum+=shu[i]-48;         //求和
    }
}                        //输出
printf("奇数有:%d个,偶数有:%d个,和为:%d,平均数为:%.2f\n",m,n,sum,(double)sum/(n+m));
}


           // 主函数
int main(int argc, const char *argv[])
{
    char han[20];
    printf("输入字符串:");
    gets(han);
    s(han);                 // 将数组名作为函数传递
    return 0;
}

作业4:定义函数实现:

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

调用自定义的有参无返回值函数完成6名学生的成绩录入。

调用自定义的有参无返回值函数完成对成绩的输出。

调用有参无返回值函数,完成对成绩的升序排序。

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

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

  void cj(int j[6])       
{
    for(int m=0;m<6;m++)           
    {
        printf("输入第%d个学生的成绩:",m+1);      //成绩录入
        scanf("%d",&j[m]);

    }
}



  void cj1(int j[6])
  {
    printf("输入的学生成绩为:");       //输出学生成绩
    for(int k=0;k<6;k++)
    {
        printf("%d\t",j[k]);
    }
    printf("\n");
}


  void cj2(int j[6])
{
    int temp=0;
    for(int i=1;i<6;i++)          
    {
        for(int m=0;m<6-i;m++)               //成绩排序
        { if(j[m]>j[m+1])
          {
              temp=j[m];j[m]=j[m+1];j[m+1]=temp;
              
          }
    }
}
          printf("排序后的成绩:");
          for (int i=0;i<6;i++)
{
    printf("%d\t",j[i]);
}
     printf("\n");
}


 int cj3(int j[6])
{
    int sum=0;
    for(int i=0;i<6;i++)                     
    {
        sum+=j[i];                      //成绩总和
    }
    return sum;
}


int main(int argc, const char *argv[])
{
    int i[6];      //定义一个数组
    cj(i);         //定义有参无返函数
    cj1(i);
    cj2(i);
    int k=cj3(i);
    printf("成绩总和:%d\n",k);
    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值