1、C语言练习题11.编写程序,要求用户输入一个三角形的三边边长分别为a,b,c,利用海伦公式求三角形的面积。海伦公式:#include#includevoid main() float a,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,%fn,p,s);2.三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。现在他们三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样
2、做,问最后三兄弟各有多少糖果?#includevoid main() int a=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,%dn,a,b,c);3.编写程序,要求用户输入某年年份,然后判断是否为闰年。(闰年的条件是:该年的年号能被4整除且不能被100整除,或该年的年号能被400整除,则该年是闰年,否则不是闰年。)#includevoid main() int year; printf(请输入年份); scanf(%d,&year); if(year%4=0&year
3、%100!=0|year%400=0) printf(闰年n); else printf(平年n); 4.编写程序,随机生成一个100以内的整数。#include#include#includevoid main() int i; srand(time(NULL); i=rand()%100; printf(%dn,i);5.编写一个程序,用户输入某年某月,求该月的天数。#includevoid main() int year,month,n; printf(请输入年份月份:); scanf(%d %d,&year,&month); if(year%4=0&year%100!=0|year%4
4、00=0) if(month=2) n=29; else if(month=2) n=28; switch(month) case 2:break; case 1: case 3: case 5: case 7: case 8: case 10: case 12:n=31;break; case 4: case 6: case 9: case 11:n=30;break; default:printf(输入错误请重输:); printf(%dn,n);6.求分段函数的值。 0 (x=0) #includevoid main() float x,f; printf(请输入x:); scanf(%
5、f,&x); if(x 0 ) y= 0 ( x = 0 ) x*x 1 ( x 0 ) #includevoid main() float y,x; printf(请输入x:); scanf(%f,&x); if(x0) y=x+3; else if(x=0) y=0; else y=x*x-1; printf(%fn,y);编程输入x的值,输出y的值。8.编写程序,计算邮局汇款的汇费。如果汇款金额小于100元,汇费为1元;如果汇费在100元与5000元之间,按1%收取汇费;如果金额大于5000元,汇费为50元。汇款金额由命令行输入。 #includevoid main() float a,
6、w; printf(请输入汇款金额:); scanf(%f,&a); if (a100) w=1; else if(a5000) w=a*1/100; else w=50; printf(%fn,w);9.计算1-2+3-4+5+99-100的值#includevoid main() int i,f=1,sum=0; for(i=1;i101;i+) sum=sum+i*f; f=f*(-1); printf(%dn,sum);10.打印100以内所有能被3整除的数,每5个换一行。#includevoid main() int i,n=0; for(i=1;i=100;i+) if(i%3=0
7、) printf(%d ,i); n+; if(n%5=0) printf(n); 11.计算1+1/2+1/3+1/100的值#includevoid main() float i,sum=0; for(i=1;i=100;i+) sum=sum+1/i; printf(%fn,sum);12.编写一个程序,用户输入一个整数,判断该数是否是素数。#includevoid main() int n,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 prin
8、tf(%d是素数,n); 13.编写一个程序,打印出100以内所有的素数,每5个换一行。#includevoid main() int i,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=s500 2%折扣 500=s1000
9、 5%折扣 1000=s2000 8%折扣 2000=s3000 10%折扣 3000=s 15%折编写一个程序,完成以下功能:当运输公司输入货物的吨数和公里数,就能计算出这次运单的运费。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点,则显示“晚上好”。#include#include#includevoid main() time_t t; t=
10、time(NULL); struct tm *tt; tt=localtime(&t); switch(tt-tm_hour) case 5: case 6: case 7: case 8:printf(早上好n);break; case 9: case 10: case 11:printf(上午好n);break; case 12: case 13:printf(中午好n);break; case 14: case 15: case 16: case 17: case 18:printf(下午好n);break; default:printf(晚上好n); 16.所谓水仙花数是指一个三位正整
11、数,它各位数字的立方之和等于此正整数。例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。试编写一个程序,判断用户输入的一个三位正整数是否是水仙花数。#includevoid main() int a,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是
12、一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。试编写一个程序,求出所有的水仙花数。#includevoid main() int i; int a,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(%dn,i);18求200以内的所有素数的和。(素数是一个大于1且只能被1和它本身整除的整数)#includevoid main() int i,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(%dn
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1