C语言函数练习题2.doc
《C语言函数练习题2.doc》由会员分享,可在线阅读,更多相关《C语言函数练习题2.doc(26页珍藏版)》请在咨信网上搜索。
. /* 姓名:白银 日期:2007.6.11 描述:英尺,英寸,米,厘米之间的转换 */ #include <stdio.h> 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 <stdio.h> 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 <stdio.h> 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 <stdio.h> 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<num;i++) { printf("*"); } for(i=0;i<num;i++) { printf("\n"); } } void OutPut2(int num) { int i; for(i=0;i<num;i++) { printf("\n"); } for(i=0;i<num;i++) { printf("*"); } } void Draw(int num) { int i; int j; OutPut1(num); for(i=0;i<num;i++) { for(j=0;j<num;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 <stdio.h> #include <math.h> 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 <stdio.h> 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 <stdio.h> 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 <stdio.h> #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 <stdio.h> #define N 10000 int GetNumber(char *a,int n); void main() { char a[N]; int i; int num; printf("请输入一个字符数组\n"); for(i=0;i<N;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<n;i++) { if(a[i]<='z'&&a[i]>='Z') { count++; } } return count; } /* 姓名:白银 日期:2007.6.11 描述:输出一个由*和A或者a组成的三角形 */ #include <stdio.h> char Input(); int InputNumber(); void Output(char c,int num); void main() { int c; int num; c=Input(); num=InputNumber(); Output(c,num); } char Input() { char c; char ans='y'; printf("请输入a,A,或者*\n"); while(ans=='y') { fflush(stdin); scanf("%c",&c); if(c=='a'||c=='A'||c=='*') { break; } else { printf("输入错误,重新输入\n"); } } return c; } int InputNumber() { int num; char ans='y'; printf("请输入你要的三角型的行数(<26)\n"); while(ans=='y') { scanf("%d",&num); if(num<26) { break; } else { printf("输入错误,重新输入\n"); } } return num; } void Output(char c,int num) { int i; int j; for(j=1;j<=num;j++) { for(i=1;i<=num-j;i++) { printf(" "); } for(i=1;i<=2*j-1;i++) { printf("%c",c); } printf("\n"); } } /* 作者:白银 日期:2007.6.11 描述:取得日期。这个月多少天,输入的日期是否存在,取得下一天的日期 */ #include <stdio.h> #include <stdlib.h> int IsRealDays(int year,int month,int day); void GetNextday(int year,int month,int day); int IsLeapyear(int year); int GetDays(int year,int month); void main() { int year; int month; int day; int result; int days; printf("请输入year\n"); scanf("%d",&year); printf("请输入month\n"); scanf("%d",&month); printf("请输入day\n"); scanf("%d",&day); IsRealDays(year,month,day); result=IsLeapyear(year); if(result==1) { printf("闰年\n"); } else { printf("不是闰年\n"); } days=GetDays(year,month); printf("这个月有%d天\n",days); GetNextday(year,month,day); } int IsLeapyear(int year) { int result; if((year%4==0&&year%100!=0)||year%400==0) { return result=1; } else { return result=0; } } int GetDays(int year,int month) { int days; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 4: case 6: case 9: case 11: days=30; break; case 2: if(IsLeapyear(year)==1) { days=29; } else { days=28; } break; } return days; } int IsRealDays(int year,int month,int day) { int result; if((month>12&&month<1)||year<0) { printf("错误的日期\n"); result=0; } else if((day>GetDays(year,month))||day<1) { printf("错误的日期\n"); result=0; } else { printf("正确的日期\n"); result=1; } return result; } void GetNextday(int year,int month,int day) { if(IsRealDays(year,month,day)==0) { printf("错误\n"); exit(0); } if(day==GetDays(year,month)) { if(month==12) { year++; month=1; day=1; } else { month++; day=1; } } else { day++; } printf("下一天是%d,%d,%d",year,month,day); } /* 姓名:白银 日期:2007.6.11 描述:建立一个函数,输入数组元素,主函数调用这个数组,输出这个数组中元素的和 */ #include <stdio.h> #define N 1000 int InPutArray(int *a); void main() { int ary[N]; int num; int i; int sum=0; num=InPutArray(ary); for(i=0;i<num;i++) { sum=sum+ary[i]; } printf("数组元素的和是%d\n",sum); } int InPutArray(int *a) { int i=0; printf("请输入数组元素(00为退出输入)\n"); for(i=0;i<N;i++) { scanf("%d",a+i); if(*(a+i)==00) { break; } } return i; } /* 姓名:白银 日期:2007.6.11 描述:学院成绩管理 */ #include <stdio.h> #define N 1000 void Chose(); int InPut(int *a); void OutPut(int *a,int num); void Sort(int *a,int num); void main() { Chose(); } void Chose() { int *a; int b=0; int ary[N]; int num; a=ary; while(b!=4) { printf("请选择想要的服务\n"); printf("****************************************\n"); printf("1.输入成绩\n2.成绩排序\n3.成绩输出\n4.退出"); printf("\n****************************************\n"); scanf("%d",&b); if(b==1) { num=InPut(a); printf("学员总数是%d",num); } else if(b==2) { Sort(a,num); } else if(b==3) { OutPut(a,num); } } } int InPut(int *a) { int i; printf("请输入学员的成绩(00为退出输入)\n"); for(i=0;i<N;i++) { scanf("%d",a+i); if(*(a+i)==00) { break; } } return i; } void OutPut(int *a,int num) { int i; printf("成绩输出\n"); for(i=0;i<num;i++) { printf("%d ",*(a+i)); } printf("\n"); } void Sort(int *a,int num) { int i; int j; int temp; for(i=0;i<num-1;i++) { for(j=0;j<num-i-1;j++) { if(*(a+j)>*(a+j+1)) { temp=*(a+j); *(a+j)=*(a+j+1); *(a+j+1)=temp; } } } printf("排序完成\n"); } 精选文档- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 练习题
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文