作业1:定义有参无返回值函数实现,主调函数传递三角形三条边,被调函数中对其进行判断,判断能否构成三角形,如果能构成三角形,判断该三角形是等边三角形、等腰三角形还是一半三角形。如果不能构成三角形,则输出不能构成三角形。
代码如下:
作业2:使用有参无返回值函数实现如下应用题
电暖气是一种将电能转化为热能的产品。目前,国内的电采暖方式主要分为发热电缆地板辐射采暖、电热膜采暖和电暖气等。
编程实现输入用电量,计算电费功能.
注:电费采用的是阶段电费:
如果用电量在1-100度之int间电费单价是0.35元
如果用电度数为101---200则电费单价是0.46元
超过200度则电费单价是0.68元
例如:如果用电量为120度,则前100 度按第一阶梯收费,剩余20度以第二阶梯价收费。
电费=100*0.35+(120-100)*0.46;
要求主调函数中输入所用电量,被调函数中输出所要缴纳的电费;
代码如下:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void ele(int t)
{
double m,n,i;
if(t>=1&&t<=100) //电量在1-100之间;
{
m=0.35*t;
printf("您需要缴费:%.2lf元\n",m);
}
else if(t>=101&&t<=200) //电量在101-200之间;
{
n=35+0.46*(t-100);
printf("您需要缴费:%.2lf元\n",n);
}
else{
i=0.68*t; //电量在200度以上;
printf("您需要缴费:%.2lf元\n",i);
}
}
int main(int argc, const char *argv[])
{
int y;
printf("请输入您所用的电量:");
scanf("%d",&y);
ele(y);
return 0;
}
作业3:定义有参无返回值函数,在主函数中完成输入字符串,将数组名作为函数参数传递,在被调函数中,将字符串中的数字字符存入新数组,分别统计奇偶个数、和、平均值输出。
代码如下:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void zfc(char dh[30])
{
int len = strlen(dh); //求新的字符串数组的实际长度;
char eh[len]; //定义一个新的字符串数组来储存挑选的数字;
int j=0; //填充新数组的循环变量;
int count=0; //用来计数的变量;
int k=0;
int sum=0;
double avg =0;
for(int i=0;i<len;i++) // 遍历原数组,找到dh[i];
{
if(dh[i]>='0'&&dh[i]<='9') //筛选条件,用来筛选出符合要求的字符;
{
eh[j]=dh[i]; //将满足条件的元素放入新数组;
j++;
}
}
printf("得到的eh数组为:"); //输出得到的新数组;
for(int i=0;i<j;i++)
{
printf("%c\t",eh[i]);
}
printf("\n");
int len1 = strlen(eh); //求新数组的实际长度;
for(k=0;k<len1;k++)
{
if(eh[k]%2==0) //求出偶数的个数;
{
count++;
}
sum=sum+eh[k]-48;
}
avg=(double)sum/len1;
printf("该新数组中包含偶数的个数为:%d个,奇数的个数为:%d个,总和为:%d,平均值为:%.2lf\n",count,len1-count,sum,avg);
}
int main(int argc, const char *argv[])
{
char ch[30];
printf("请输入随机字符串:");
gets(ch);
zfc(ch);
return 0;
}
作业4:定义函数实现:
主调函数中定义一个数组,存储6名学生的成绩。
调用自定义的有参无返回值函数完成6名学生的成绩录入。
调用自定义的有参无返回值函数完成对成绩的输出。
调用有参无返回值函数,完成对成绩的升序排序。
调用自定义的有参有返回值函数,求出总成绩后,在主调函数输出总成绩;
代码如下:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void luru(int score1[6]) //成绩录入的调用函数;
{
int i=0;
for(i=0;i<6;i++)
{
printf("请输入第%d位学生的成绩:",i+1);
scanf("%d",&score1[i]);
}
}
void shuchu(int score1[6]) //成绩输出的调用函数;
{
printf("6位学生的成绩分别为:");
for(int i=0;i<6;i++)
{
printf("%d\t",score1[i]);
}
printf("\n");
}
void paixu(int score1[6]) //成绩排序的调用函数;
{
int temp=0;
for(int j=1;j<6;j++)
{
for(int k=0;k<6-j;k++)
{
if(score1[k]>score1[k+1])
{
temp=score1[k+1];
score1[k+1]=score1[k];
score1[k]=temp;
}
}
}
printf("6位学生排序后的成绩结果为:");
for(int i=0;i<6;i++)
{
printf("%d\t",score1[i]);
}
printf("\n");
}
int sum(int score1[6]) //求和;
{
int num=0;
for(int i=0;i<6;i++)
{
num+=score1[i];
}
return num;
}
int main(int argc, const char *argv[])
{
int score[6]; //定义一个整形数组来存储6位学生的成绩;
luru(score); //调用函数完成学生的成绩录入;
shuchu(score);
paixu(score);
int sum1=sum(score);
printf("6位学生的成绩总和为:%d\n",sum1);
return 0;
}
ubuntu@ubuntu:~/23031c_base/day7/zuoye$
ubuntu@ubuntu:~/23031c_base/day7/zuoye$ cat zuoye4.c
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void luru(int score1[6]) //成绩录入的调用函数;
{
int i=0;
for(i=0;i<6;i++)
{
printf("请输入第%d位学生的成绩:",i+1);
scanf("%d",&score1[i]);
}
}
void shuchu(int score1[6]) //成绩输出的调用函数;
{
printf("6位学生的成绩分别为:");
for(int i=0;i<6;i++)
{
printf("%d\t",score1[i]);
}
printf("\n");
}
void paixu(int score1[6]) //成绩排序的调用函数;
{
int temp=0;
for(int j=1;j<6;j++)
{
for(int k=0;k<6-j;k++)
{
if(score1[k]>score1[k+1])
{
temp=score1[k+1];
score1[k+1]=score1[k];
score1[k]=temp;
}
}
}
printf("6位学生排序后的成绩结果为:");
for(int i=0;i<6;i++)
{
printf("%d\t",score1[i]);
}
printf("\n");
}
int sum(int score1[6]) //求和;
{
int num=0;
for(int i=0;i<6;i++)
{
num+=score1[i];
}
return num;
}
int main(int argc, const char *argv[])
{
int score[6]; //定义一个整形数组来存储6位学生的成绩;
luru(score); //调用函数完成学生的成绩录入;
shuchu(score);
paixu(score);
int sum1=sum(score);
printf("6位学生的成绩总和为:%d\n",sum1);
return 0;
}