当前位置:文档之家› C语言函数练习题2

C语言函数练习题2

C语言函数练习题2
C语言函数练习题2

/*

姓名:白银

日期:2007.6.11

描述:英尺,英寸,米,厘米之间的转换

*/

#include

float GetInch(float feet);

float GetMeter(float inch);

float GetCentiMeter(float meter);

void main()

{

float inch;

float meter;

float centimeter;

float feet;

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");

}

float GetInch(float feet)

{

float inch;

inch=feet*12;

return inch;

}

float GetMeter(float inch)

{

float meter;

meter=inch*2.54;

return meter;

}

float GetCentiMeter(float meter) {

float centimeter;

centimeter=meter*100;

return centimeter;

}

/*

姓名:白银

日期:2007.6.11

描述:底和高求三角形面积

*/

#include

float GetArea(float h,float l);

void main()

{

float area;

float h;

float l;

printf("请输入底和高\n");

scanf("%f,%f",&l,&h);

area=GetArea(h,l);

printf("三角形面积=%.2f",area); printf("\n");

}

float GetArea(float h,float l) {

float area;

area=h*l/2;

return area;

}

/*

姓名:白银

日期:2007.6.11

描述:函数递归求阶乘

*/

#include

int GetFactorial(int number); void main()

{

int number;

unsigned long int result;

printf("请输入number的值\n"); scanf("%d",&number);

result=GetFactorial(number);

printf("结果是%d\n",result);

}

int GetFactorial(int number)

{

int result;

if(number==1)

{

result=1;

}

else

{

result=GetFactorial(number-1)*number; }

return result;

}

/*

姓名:白银

日期:2007.6.11

描述:画出一个正方形

*/

#include

void Draw(int num);

void OutPut1(int num);

void OutPut2(int num);

void main()

{

int num;

printf("请输入正方型的行数\n"); scanf("%d",&num);

Draw(num);

printf("\n");

}

void OutPut1(int num)

{

int i;

for(i=0;i

{

printf("*");

}

for(i=0;i

{

printf("\n");

}

}

void OutPut2(int num)

{

int i;

for(i=0;i

{

printf("\n");

}

for(i=0;i

{

printf("*");

void Draw(int num)

{

int i;

int j;

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);

}

/*

姓名:白银

日期:2007.6.11

描述:求出3个数字的立方的和

#include

#include

float GetNumber(float a,float b,float c); void main()

{

float a,b,c;

float num;

printf("请输入3个数字\n");

scanf("%f%f%f",&a,&b,&c);

num=GetNumber(a,b,c);

printf("结果=%.2f\n",num);

}

float GetNumber(float a,float b,float c) {

float num;

num=(float) (pow(a,3)+pow(b,3)+pow(c,3)); return num;

}

/*

作者:白银

日期:2007.6.11

描述:输入一定的钱数,得出最少需要多少张

*/

#include

int GetMoney(int *num,int money);

void main()

{

int a[7];

int *p;

int num;

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]);

}

int GetMoney(int *num,int money)

{

int count;

count=*num/money;

*num=*num%money;

return count;

}

/*

作者:白银

日期:2007,6,11

描述:输入一个数转换成16,2,12,7,8进制的数字,并且输出。。。。*/

#include

void GetSixteen(int num);//转换成16进制

void GetTwo(int num);//转换成2进制

void GetEight(int num);//转换成8进制

void GetTwelve(int num);//转换成12进制

void GetSeven(int num);//转换成7进制

void Sort(int *a,int i);//反向输出

void main()

{

int num;

printf("请输入一个数字\n");

scanf("%d",&num);

GetSixteen(num);

GetTwo(num);

GetEight(num);

GetTwelve(num);

GetSeven(num);

}

void Sort(int *a,int i)

{

int j;

for(j=i-1;j>=0;j--)

{

printf("%d ",a[j]);

}

printf("\n");

}

void GetSixteen(int num)

{

int a[100];

int i=0;

int j;

printf("转换成16进制为:"); while(num!=0)

{

a[i]=num%16;

num=num/16;

i++;

}

for(j=i-1;j>=0;j--)

{

printf("%x ",a[j]);

}

printf("\n");

}

void GetTwo(int num)

{

int a[100];

int i=0;

printf("转换成2进制为:"); while(num!=0)

{

a[i]=num%2;

num=num/2;

i++;

}

Sort(a,i);

}

void GetEight(int num)

{

int a[100];

int i=0;

printf("转换成8进制为:"); while(num!=0)

{

a[i]=num%8;

num=num/8;

i++;

}

Sort(a,i);

}

void GetTwelve(int num)

{

int a[100];

int i=0;

printf("转换成12进制为:"); while(num!=0)

{

a[i]=num%12;

num=num/12;

i++;

}

Sort(a,i);

}

void GetSeven(int num)

{

int a[100];

int i=0;

printf("转换成7进制为:");

while(num!=0)

{

a[i]=num%7;

num=num/7;

i++;

}

Sort(a,i);

}

/*

姓名:白银

时间:2007.6.11

描述:输入半径,底和高求出圆的面积,周长和三角形面积*/

#include

#define PI 3.14

float GetRoundArea(float r);

float GetRoundPerimeter(float r);

float GetTrigonArea(float hight,float length);

void main()

{

float r;

float hight;

float length;

float area;

float perimeter;

printf("请输入半径,高和底边长度\n");

scanf("%f%f%f",&r,&hight,&length);

area=GetRoundArea(r);

printf("圆的面积是%f\n",area);

perimeter=GetRoundPerimeter(r);

printf("圆的周长是%f\n",perimeter);

area=GetTrigonArea(hight,length);

printf("三角形的面积是%f\n",area);

}

float GetRoundArea(float r)

{

float area;

area=PI*r*r;

return area;

}

float GetRoundPerimeter(float r)

{

float perimeter;

perimeter=2*PI*r;

return perimeter;

}

float GetTrigonArea(float hight,float length) {

float area;

area=hight*length/2;

return area;

}

/*

姓名:白银

日期:2007.6.11

描述:输入一个字符串,统计小写字母个数

*/

#include

#define N 10000

int GetNumber(char *a,int n);

void main()

{

char a[N];

int i;

int num;

printf("请输入一个字符数组\n");

for(i=0;i

{

scanf("%c",&a[i]);

if(a[i]=='\n')

{

break;

}

}

num=GetNumber(a,i);

printf("数组中小写字母的个数是%d\n",num); }

int GetNumber(char *a,int n)

{

int i;

int count=0;

for(i=0;i

{

if(a[i]<='z'&&a[i]>='Z')

{

count++;

}

}

return count;

}

/*

姓名:白银

日期:2007.6.11

描述:输出一个由*和A或者a组成的三角形*/

#include

char Input();

int InputNumber();

void Output(char c,int num);

void main()

{

int c;

int num;

c=Input();

num=InputNumber();

相关主题
文本预览
相关文档 最新文档