1:定义有参无返回值函数实现,主调函数传递三角形三条边,被调函数中对其进行判断,判断能否构成三角形,如果能构成三角形,判断该三角形是等边三角形、等腰三角形还是一半三角形。如果不能构成三角形,则输出不能构成三角形。
![](https://img-blog.csdnimg.cn/img_convert/5bc6eb351ac5d8d6a68a1d510a257524.png)
![](https://img-blog.csdnimg.cn/img_convert/a014da38b1ec24ed04d259c946e71d7e.png)
2:使用有参无返回值函数实现如下应用题
电暖气是一种将电能转化为热能的产品。目前,国内的电采暖方式主要分为发热电缆地板辐射采暖、电热膜采暖和电暖气等。
编程实现输入用电量,计算电费功能.
注:电费采用的是阶段电费:
如果用电量在1-100度之间电费单价是0.35元
如果用电度数为101---200则电费单价是0.46元
超过200度则电费单价是0.68元
例如:如果用电量为120度,则前100 度按第一阶梯收费,剩余20度以第二阶梯价收费。
电费=100*0.35+(120-100)*0.46;
要求主调函数中输入所用电量,被调函数中输出所要缴纳的电费
![](https://img-blog.csdnimg.cn/img_convert/75f772465404e688553e136fc668f878.png)
![](https://img-blog.csdnimg.cn/img_convert/0baf2ffc46e51f79157ae45744b59c5b.png)
3:定义有参无返回值函数,在主函数中完成输入字符串,将数组名作为函数参数传递,在被调函数中,将字符串中的数字字符存入新数组,分别统计奇偶个数、和、平均值输出。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void fun1(char s[])
{
int m;
int n;
int sum;
m=0; //偶数个数
n=0; //奇数个数
sum=0;
float aver=0;
int len=strlen(s); //数组的实际字符长度
for(int i = 0;i<len;i++)
{
if(s[i]>='0'&&s[i]<='9')
{
if(s[i]%2==0)
{
m++; //偶数时+1
}else
{
n++; //奇数时+1
}
sum+=s[i]-48; //累加求和
}
}
aver=(float)sum/(m+n); //求均值
printf("偶数个数为%d\t奇数个数为%d\n",m,n);
printf("和为%d\t平均值为%.2f\n",sum,aver);
}
int main(int argc, const char *argv[])
{
char arr[50];
printf("请输入字符串:");
gets(arr);
fun1(arr);
return 0;
}
ub
![](https://img-blog.csdnimg.cn/img_convert/bfe0f77db27e7af166f1cfdec33e43cb.png)
4:定义函数实现:
主调函数中定义一个数组,存储6名学生的成绩。
调用自定义的有参无返回值函数完成6名学生的成绩录入。
调用自定义的有参无返回值函数完成对成绩的输出。
调用有参无返回值函数,完成对成绩的升序排序。
调用自定义的有参有返回值函数,求出总成绩后,在主调函数输出总成绩
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void input_cj(int cj[],int n)
{
for(int i=0;i<n;i++)
{
printf("输入第%d位学生成绩",i+1);
scanf("%d", &cj[i]);
}
}
void outpu_cj(int cj[],int n)
{
printf("输入的学生成绩:");
for(int i=0;i<n;i++)
{
printf("%d\t",cj[i]);
}
printf("\n");
}
void paxu_cj(int cj[],int n)
{
for(int i=0;i<n-1;i++)
for(int j=1;j<n-i-1;j++)
if(cj[i]>cj[j])
{
int temp;
temp = cj[i];
cj[i] = cj[j];
cj[j] = temp;
}
}
void sum_cj(int cj[],int n)
{
int sum = 0;
for(int i=0;i<n;i++)
{
sum =sum+cj[i];
}
return sum;
}
int main(int argc, const char *argv[])
{
int cj[6];
input_cj(cj,6);
outpu_cj(cj,6);
paxu_cj(cj,6);
printf("排序后的成绩为:\n");
for(int i= 0;i<6;i++)
{
printf("%d",cj[i]);
}
printf("总成绩为:%d\n",sum_cj);
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/a2543e40e98e67b053ddaf839923184c.png)
排序失败,然后总和也未能完整的输出