您好,欢迎访问三七文档
1.编写程序,要求用户输入一个三角形的三边边长分别为a,b,c,利用海伦公式求三角形的面积。海伦公式:#includestdio.h#includemath.hvoidmain(){floata,b,c,p,s;printf(请输入三边a,b,c:);scanf(%f%f%f,&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(%f,%f\n,p,s);}2.三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。现在他们三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?#includestdio.hvoidmain(){inta=50,b=43,c=13;a=a/3;b=a+b;b=b/3;c=a+b+c;a=a+b;c=c/3;b=b+c;a=a+c;printf(%d,%d,%d\n,a,b,c);}3.编写程序,要求用户输入某年年份,然后判断是否为闰年。(闰年的条件是:该年的年号能被4整除且不能被100整除,或该年的年号能被400整除,则该年是闰年,否则不是闰年。)#includestdio.hvoidmain(){intyear;printf(请输入年份);scanf(%d,&year);if(year%4==0&&year%100!=0||year%400==0){printf(闰年\n);}2cbap))()((cpbpappSelse{printf(平年\n);}}4.编写程序,随机生成一个100以内的整数。#includestdio.h#includestdlib.h#includetime.hvoidmain(){inti;srand(time(NULL));i=rand()%100;printf(%d\n,i);}5.编写一个程序,用户输入某年某月,求该月的天数。#includestdio.hvoidmain(){intyear,month,n;printf(请输入年份月份:);scanf(%d%d,&year,&month);if(year%4==0&&year%100!=0||year%400==0){if(month==2){n=29;}}else{if(month==2){n=28;}}switch(month){case2:break;case1:case3:case5:case7:case8:case10:case12:n=31;break;case4:case6:case9:case11:n=30;break;default:printf(输入错误请重输:);}printf(%d\n,n);}6.求分段函数的值。0(x0)F(x)=2X+1(x=0)#includestdio.hvoidmain(){floatx,f;printf(请输入x:);scanf(%f,&x);if(x0){f=0;}else{f=2*x+1;}printf(%f\n,f);}7.已知函数x+3(x0)y=0(x=0)x*x–1(x0)#includestdio.hvoidmain(){floaty,x;printf(请输入x:);scanf(%f,&x);if(x0){y=x+3;}else{if(x=0){y=0;}else{y=x*x-1;}}printf(%f\n,y);}编程输入x的值,输出y的值。8.编写程序,计算邮局汇款的汇费。如果汇款金额小于100元,汇费为1元;如果汇费在100元与5000元之间,按1%收取汇费;如果金额大于5000元,汇费为50元。汇款金额由命令行输入。#includestdio.hvoidmain(){floata,w;printf(请输入汇款金额:);scanf(%f,&a);if(a100){w=1;}else{if(a5000){w=a*1/100;}else{w=50;}}printf(%f\n,w);}9.计算1-2+3-4+5……+99-100的值#includestdio.hvoidmain(){inti,f=1,sum=0;for(i=1;i101;i++){sum=sum+i*f;f=f*(-1);}printf(%d\n,sum);}10.打印100以内所有能被3整除的数,每5个换一行。#includestdio.hvoidmain(){inti,n=0;for(i=1;i=100;i++){if(i%3==0){printf(%d,i);n++;}if(n%5==0){printf(\n);}}}11.计算1+1/2+1/3+……+1/100的值#includestdio.hvoidmain(){floati,sum=0;for(i=1;i=100;i++){sum=sum+1/i;}printf(%f\n,sum);}12.编写一个程序,用户输入一个整数,判断该数是否是素数。#includestdio.hvoidmain(){intn,i,f;scanf(%d,&n);for(i=2;i=n/2;i++){f=1;if(n%i==0){f=0;break;}}if(f==0){printf(%d不是素数,n);}else{printf(%d是素数,n);}}13.编写一个程序,打印出100以内所有的素数,每5个换一行。#includestdio.hvoidmain(){inti,j,f,n=0;for(i=2;i=100;i++){f=1;for(j=2;j=i/2;j++){if(i%j==0){f=0;break;}}if(f==1){printf(%d,i);n++;}if(n%5==0){printf(\n);}}}14.一个运输公司对用户计算运费公式:总运费=单价*重量*距离*(1-折扣)。单价为每吨每公里为1元。路程(s)越远,每公里运费折扣越高,公式如下:s250km没有折扣250=s5002%折扣500=s10005%折扣1000=s20008%折扣2000=s300010%折扣3000=s15%折编写一个程序,完成以下功能:当运输公司输入货物的吨数和公里数,就能计算出这次运单的运费。15.编写一个程序,获取系统的当前时间(取整点),若时间为5、6、7、8点,则显示“早上好”;若时间为9、10、11点,则显示“上午好”;若时间为12、13点,则显示“中午好”;若时间为14、15、16、17、18点,则显示“下午好”;若时间为19、20、21、22、23、24、1、2、3、4点,则显示“晚上好”。#includestdio.h#includetime.h#includestdlib.hvoidmain(){time_tt;t=time(NULL);structtm*tt;tt=localtime(&t);switch(tt-tm_hour){case5:case6:case7:case8:printf(早上好\n);break;case9:case10:case11:printf(上午好\n);break;case12:case13:printf(中午好\n);break;case14:case15:case16:case17:case18:printf(下午好\n);break;default:printf(晚上好\n);}}16.所谓水仙花数是指一个三位正整数,它各位数字的立方之和等于此正整数。例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。试编写一个程序,判断用户输入的一个三位正整数是否是水仙花数。#includestdio.hvoidmain(){inta,b,c,n;printf(请输入一个三位数n:);scanf(%d,&n);a=n/100;b=n%100/10;c=n%100%10;if(n==a*a*a+b*b*b+c*c*c){printf(%d是水仙花数\n,n);}else{printf(%d不是水仙花数\n,n);}}17.所谓水仙花数是指一个三位正整数,它各位数字的立方之和等于此正整数。例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。试编写一个程序,求出所有的水仙花数。#includestdio.hvoidmain(){inti;inta,b,c;for(i=100;i1000;i++){a=i/100;b=i%100/10;c=i%100%10;if(i==a*a*a+b*b*b+c*c*c){printf(%d\n,i);}}}18求200以内的所有素数的和。(素数是一个大于1且只能被1和它本身整除的整数)#includestdio.hvoidmain(){inti,j,sum=0,f;for(i=2;i=200;i++){for(j=2;j=i/2;j++){f=1;if(i%j==0){f=0;break;}}if(f==1){sum=sum+i;}}printf(%d\n,sum);}19.有父子二人,已知父亲年龄不大于90岁,儿子年龄不大于50岁。10年前父亲的年龄是儿子的4倍,10年后父亲的年龄是儿子年龄的整数倍。求父子的年龄。#includestdio.hvoidmain(){intf,s;for(s=11;s=30;s++){f=4*s-30;if((f+10)%(s+10)==0){printf(%d,%d\n,f,s);}}}20.有面值为一元、二元、五元的人民币若干,从中取出20张使其总值为60元,问有多少种取法?每种取法的人民币各为多少张?#includestdio.hvoidmain(){inta,b,c,n=0;for(a=1;a20;a++){for(b=1;b20;b++){c=20-a-b;if((1*a+2*b+5*c)==60){printf(%d,%d,%d\n,a,b,c);n++;}}}printf(%d\n,n);}21.如今市场上公鸡一只5美元、母鸡一只3美元,小鸡一美元3只,现有100美元,需要买100只鸡回来,问一百只鸡中公鸡、母鸡、小鸡各多少?#includestdio.hvoidmain(){inta,b,c;for(a=1;a20;a++){for(b=1;b33;b++){c=100-a-b;if((5*a+3*b+c/3.0)==100){printf(公鸡有%d,母鸡有%d,小鸡有%d\n,a,b,c);}}}}22.某人去购买教材和练习簿。已知教材每本10元,教参每本5元,练习簿每本0.5元,他总共购买了100本,用了100元。问他购买教材、教参和练习簿各多少本?#includestdio.hvoidmain(){inta,b,c;for(a=1;a10;a++){for(b=1;b20;b++){c=100-a-b;if((10*a+5*b+c*0.5)==100){printf(教材%d本,教参%d本,练习簿%d本\n,a,b,c);}}}}23.有红、白、黑三种球若干个,其中红、白球共25个,白、黑球共31个,红、黑球共28个,求这三种球各多少个?#includestdio.hvoidmain(){inta,b,c,d,e,f,n,m;n=25;m=31;d=28;e=m-n;f=d+e;c=f/2;b=31-c;a=28-c;printf(红球有%d个,白球有%d个,黑球有%d个\n,a,b,c);}24.将华氏温度转化成摄氏温度。公式为:C=(5.0/9)*(F-32),其中F为华氏温度,C为摄氏温度。请根据给定的华氏温度输出对应的摄氏温度。#includestdio.hvoidmain(){floatC,F;print
本文标题:C语言练习题
链接地址:https://www.777doc.com/doc-2909101 .html