作业1:定义有参无返回值函数实现,主调函数传递三角形三条边,被调函数中对其进行判断,判断能否构成三角形,如果能构成三角形,判断该三角形是等边三角形、等腰三角形还是一半三角形。如果不能构成三角形,则输出不能构成三角形。
![](https://i-blog.csdnimg.cn/blog_migrate/dba368e8e746ea5cbae9c1f32d01c74f.png)
#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;
要求主调函数中输入所用电量,被调函数中输出所要缴纳的电费
![](https://i-blog.csdnimg.cn/blog_migrate/d3273907e1309ff7f24eadd316b482c3.png)
#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:定义有参无返回值函数,在主函数中完成输入字符串,将数组名作为函数参数传递,在被调函数中,将字符串中的数字字符存入新数组,分别统计奇偶个数、和、平均值输出。
![](https://i-blog.csdnimg.cn/blog_migrate/144f91485747e5fceddc73c2ee090274.png)
#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名学生的成绩录入。
调用自定义的有参无返回值函数完成对成绩的输出。
调用有参无返回值函数,完成对成绩的升序排序。
调用自定义的有参有返回值函数,求出总成绩后,在主调函数输出总成绩
![](https://i-blog.csdnimg.cn/blog_migrate/38f780bf5598b05c7faaf80fc807517c.png)
#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;
}