C语言函数练习题.docx
《C语言函数练习题.docx》由会员分享,可在线阅读,更多相关《C语言函数练习题.docx(8页珍藏版)》请在冰豆网上搜索。
C语言函数练习题
/*
姓名:
白银
日期:
描述:
英尺,英寸,米,厘米之间的转换
*/
#include<>
floatGetInch(floatfeet);
floatGetMeter(floatinch);
floatGetCentiMeter(floatmeter);
voidmain()
{
floatinch;
floatmeter;
floatcentimeter;
floatfeet;
printf("请输入英尺的值\n");
scanf("%f",&feet);
inch=GetInch(feet);
printf("转换成英寸的结果是%.2f:
",inch);
printf("\n");
meter=GetMeter(GetInch(feet));
printf("转换成米的结果是%.2f:
",meter);
printf("\n");
centimeter=GetCentiMeter(GetMeter(GetInch(feet)));
printf("转换成米的结果是%.2f:
",centimeter);
printf("\n");
}
floatGetInch(floatfeet)
{
floatinch;
inch=feet*12;
returninch;
}
floatGetMeter(floatinch)
{
floatmeter;
meter=inch*;
returnmeter;
}
floatGetCentiMeter(floatmeter)
{
floatcentimeter;
centimeter=meter*100;
returncentimeter;
}
/*
姓名:
白银
日期:
描述:
底和高求三角形面积
*/
#include<>
floatGetArea(floath,floatl);
voidmain()
{
floatarea;
floath;
floatl;
printf("请输入底和高\n");
scanf("%f,%f",&l,&h);
area=GetArea(h,l);
printf("三角形面积=%.2f",area);
printf("\n");
}
floatGetArea(floath,floatl)
{
floatarea;
area=h*l/2;
returnarea;
}
/*
姓名:
白银
日期:
描述:
函数递归求阶乘
*/
#include<>
intGetFactorial(intnumber);
voidmain()
{
intnumber;
unsignedlongintresult;
printf("请输入number的值\n");
scanf("%d",&number);
result=GetFactorial(number);
printf("结果是%d\n",result);
}
intGetFactorial(intnumber)
{
intresult;
if(number==1)
{
result=1;
}
else
{
result=GetFactorial(number-1)*number;
}
returnresult;
}
/*
姓名:
白银
日期:
描述:
画出一个正方形
*/
#include<>
voidDraw(intnum);
voidOutPut1(intnum);
voidOutPut2(intnum);
voidmain()
{
intnum;
printf("请输入正方型的行数\n");
scanf("%d",&num);
Draw(num);
printf("\n");
}
voidOutPut1(intnum)
{
inti;
for(i=0;i {
printf("*");
}
for(i=0;i {
printf("\n");
}
}
voidOutPut2(intnum)
{
inti;
for(i=0;i {
printf("\n");
}
for(i=0;i {
printf("*");
}
}
voidDraw(intnum)
{
inti;
intj;
OutPut1(num);
for(i=0;i {
for(j=0;j {
if((i==0&&j==0)||(i==(num-1)&&j==0)||(i==(num-1)&&j==(num-1))||(i==0&&j==(num-1)))
{
printf("*");
}
else
{
printf("");
}
}
printf("\n");
}
OutPut2(num);
}
/*
姓名:
白银
日期:
描述:
求出3个数字的立方的和
*/
#include<>
#include<>
floatGetNumber(floata,floatb,floatc);
voidmain()
{
floata,b,c;
floatnum;
printf("请输入3个数字\n");
scanf("%f%f%f",&a,&b,&c);
num=GetNumber(a,b,c);
printf("结果=%.2f\n",num);
}
floatGetNumber(floata,floatb,floatc)
{
floatnum;
num=(float)(pow(a,3)+pow(b,3)+pow(c,3));
returnnum;
}
/*
作者:
白银
日期:
描述:
输入一定的钱数,得出最少需要多少张
*/
#include<>
intGetMoney(int*num,intmoney);
voidmain()
{
inta[7];
int*p;
intnum;
p=#
printf("请输入钱数\n");
scanf("%d",p);
a[0]=GetMoney(p,100);
a[1]=GetMoney(p,50);
a[2]=GetMoney(p,20);
a[3]=GetMoney(p,10);
a[4]=GetMoney(p,5);
a[5]=GetMoney(p,2);
a[6]=GetMoney(p,1);
printf("需要100元的%d张\n",a[0]);
printf("需要50元的%d张\n",a[1]);
printf("需要20元的%d张\n",a[2]);
printf("需要10元的%d张\n",a[3]);
printf("需要5元的%d张\n",a[4]);
printf("需要2元的%d张\n",a[5]);
printf("需要1元的%d张\n",a[6]);
}
intGetMoney(int*num,intmoney)
{
intcount;
count=*num/money;
*num=*num%money;
returncount;
}
/*
作者:
白银
日期:
2007,6,11
描述:
输入一个数转换成16,2,12,7,8进制的数字,并且输出。
。
。
。
*/
#include<>
voidGetSixteen(intnum);入成绩\n2.成绩排序\n3.成绩输出\n4.退出");
printf("\n****************************************\n");
scanf("%d",&b);
if(b==1)
{
num=InPut(a);
printf("学员总数是%d",num);
}
elseif(b==2)
{
Sort(a,num);
}
elseif(b==3)
{
OutPut(a,num);
}
}
}
intInPut(int*a)
{
inti;
printf("请输入学员的成绩(00为退出输入)\n");
for(i=0;i {
scanf("%d",a+i);
if(*(a+i)==00)
{
break;
}
}
returni;
}
voidOutPut(int*a,intnum)
{
inti;
printf("成绩输出\n");
for(i=0;i {
printf("%d",*(a+i));
}
printf("\n");
}
voidSort(int*a,intnum)
{
inti;
intj;
inttemp;
for(i=0;i {
for(j=0;j {
if(*(a+j)>*(a+j+1))
{
temp=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=temp;
}
}
}
printf("排序完成\n");
}