1.定义有参无返回值函数实现,主调函数传递三角形三条边,被调函数对其进行判断,判断能否构成三角形。判断该三角形是等边三角形,等腰三角形还是一般三角形,如果不能构成三角形则输出不能构成三角形。
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void s(int i,int j,int k)
{
if(i+j>k&&i+k>j&&j+k>i){
if(i == k&&k == j){
printf("等边三角形\n");
}else if(i == k||j == k||i == j){
printf("等腰三角形\n");
}else {
printf("一般三角形\n");
}
}else{
printf("构不成三角形\n");
}
}
int main(int argc, const char *argv[])
{
int a=0;
int b=0;
int c=0;
printf("请输入三角形三边长度:");
scanf("%d%d%d",&a,&b,&c);
s(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;
要求主调函数中输入所用电量被调函数输出索要缴纳的电费
ubuntu@ubuntu:~/23031C-BASE/zifu$ cat zuoye2.c
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void doller(double i)
{ double money;
if(i > 1 && i < 100){
money=i*0.35;
printf("应缴费%0.2lf\n",money);
}else if(i>100&&i<200){
money=100*0.35+(i-100)*0.35;
printf("应缴费%0.2lf\n",money);
}else{
money=i*0.68;
printf("应缴费%0.2lf\n",money);
}
}
int main(int argc, const char *argv[])
{
double a=0;
printf("输入用电量");
scanf("%lf",&a);
doller(a);
return 0;
}
3.定义有参无返回值函数,在主函数中完成输入字符串,将数组名作为函数传递,再被调函数中,将字符串中的数字字符存入新数组,分别统计奇偶个数,和、平均值输出。
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void cler(char trr[20])
{
int a=0; //奇数
int b=0; //偶数
double c; //平均数
int l=0; //计数
int sum=0; //和
int j=0;
int crr[20]; //新数组
for(int i=0;i<20;i++){
if(trr[i]>='0'&&trr[i]<='9'){
crr[j]=trr[i]-'0';
sum += crr[j];
if(crr[j]%2==0){
b++;
}else{
a++;
}
j++;
l++;
}
}
printf("平均数%0.2lf\n",c=(double)sum/l);
printf("奇数%d位\n",a);
printf("偶数有%d位\n",b);
printf("总和%d\n",sum);
}
int main(int argc, const char *argv[])
{
char srr[20];
printf("请输入字符串");
scanf("%s",srr);
cler(srr);
return 0;
}
4.定义函数实现:
主调函数中定义一个数组,存储6名学生的成绩。
调用自定义的有参无返回值函数完成6名学生的成绩输入。
调用自定义的有参无返回值函数完成对成绩的输出
调用有参无返回值函数,完成对成绩的升序排序。
调用自定义有参有返回值函数,求出总成绩后再主调函数输出总成绩
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void study(float b[6])
{ int i=0;
for(i=0;i<6;i++){
printf("请输入%d为学生成绩:",i+1);
scanf("%f",&b[i]);
}
}
void result(float s[6])
{
int l=0;
for(l=0;l<6;l++){
printf("%0.2f\t",s[l]);
}
printf("\n");
}
void doller(float err[6])
{
int k=0;
int h=0;
float temp=0;
for(k=1;k<6;k++){
for(h=0;h<6-k;h++){
if(err[h]>err[h+1]){
temp=err[h];
err[h]=err[h+1];
err[h+1]=temp;
}
}
}
}
float bye(float acc[6])
{
float sum=0;
for(int i=0;i<6;i++){
sum += acc[i];
}
return sum;
}
int main(int argc, const char *argv[])
{
float a[6];
study(a);
result(a);
doller(a);
printf("输出排序后的成绩:");
for(int i=0;i<6;i++){
printf("%0.2f\t",a[i]);
}
printf("\n");
printf("%0.2f\n",bye(a));
return 0;
}