C语言练习题1.docx
- 文档编号:8252079
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:20
- 大小:24.77KB
C语言练习题1.docx
《C语言练习题1.docx》由会员分享,可在线阅读,更多相关《C语言练习题1.docx(20页珍藏版)》请在冰豆网上搜索。
C语言练习题1
1.编写程序,要求用户输入一个三角形的三边边长分别为a,b,c,利用海伦公式求三角形的面积。
海伦公式:
#include
#include
voidmain()
{
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粒。
现在他们三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?
#include
voidmain()
{
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整除,则该年是闰年,否则不是闰年。
)
#include
voidmain()
{
intyear;
printf("请输入年份");
scanf("%d",&year);
if(year%4==0&&year%100!
=0||year%400==0)
{
printf("闰年\n");
}
else
{
printf("平年\n");
}
}
4.编写程序,随机生成一个100以内的整数。
#include
#include
#include
voidmain()
{
inti;
srand(time(NULL));
i=rand()%100;
printf("%d\n",i);
}
5.编写一个程序,用户输入某年某月,求该月的天数。
#include
voidmain()
{
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(x<0)
F(x)=
2X+1(x>=0)
#include
voidmain()
{
floatx,f;
printf("请输入x:
");
scanf("%f",&x);
if(x<0)
{
f=0;
}
else
{
f=2*x+1;
}
printf("%f\n",f);
}
7.已知函数
x+3(x>0)
y=0(x=0)
x*x–1(x<0)
#include
voidmain()
{
floaty,x;
printf("请输入x:
");
scanf("%f",&x);
if(x>0)
{
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元。
汇款金额由命令行输入。
#include
voidmain()
{
floata,w;
printf("请输入汇款金额:
");
scanf("%f",&a);
if(a<100)
{
w=1;
}
else
{
if(a<5000)
{
w=a*1/100;
}
else
{
w=50;
}
}
printf("%f\n",w);
}
9.计算1-2+3-4+5……+99-100的值
#include
voidmain()
{
inti,f=1,sum=0;
for(i=1;i<101;i++)
{
sum=sum+i*f;
f=f*(-1);
}
printf("%d\n",sum);
}
10.打印100以内所有能被3整除的数,每5个换一行。
#include
voidmain()
{
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的值
#include
voidmain()
{
floati,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+1/i;
}
printf("%f\n",sum);
}
12.编写一个程序,用户输入一个整数,判断该数是否是素数。
#include
voidmain()
{
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个换一行。
#include
voidmain()
{
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)越远,每公里运费折扣越高,公式如下:
s<250km没有折扣
250=
500=
1000=
2000=
3000= 编写一个程序,完成以下功能: 当运输公司输入货物的吨数和公里数,就能计算出这次运单的运费。 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 #include voidmain() { 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。 试编写一个程序,判断用户输入的一个三位正整数是否是水仙花数。 #include voidmain() { 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。 试编写一个程序,求出所有的水仙花数。 #include voidmain() { inti; inta,b,c; for(i=100;i<1000;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和它本身整除的整数) #include voidmain() { 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年后父亲的年龄是儿子年龄的整数倍。 求父子的年龄。 #include voidmain() { 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元,问有多少种取法? 每种取法的人民币各为多少张? #include voidmain() { inta,b,c,n=0; for(a=1;a<20;a++) { for(b=1;b<20;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只鸡回来,问一百只鸡中公鸡、母鸡、小鸡各多少? #include voidmain() { inta,b,c; for(a=1;a<20;a++) { for(b=1;b<33;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元。 问他购买教材、教参和练习簿各多少本? #include voidmain() { inta,b,c; for(a=1;a<10;a++) { for(b=1;b<20;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个,求这三种球各多少个? #include voidmain() { 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为摄氏温度。 请根据给定的华氏温度输出对应的摄氏温度。 #include voidmain() { floatC,F; printf("请输入华氏温度F: "); scanf("%f",&F); C=(5.0/9)*(F-32); printf("摄氏温度为%f度",C); } 25.根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.0。 其中,c代表蟋蟀每分钟鸣叫数,T代表华氏温度。 请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。 #include voidmain() { intc; floatT; printf("请输入鸣叫数c: "); scanf("%d",c); T=(c+40)/10.0; printf("华氏温度为%f",T); } 26.山上有一口缸可以装50升水,现在有15升,水.老和尚叫小和尚下山挑水,每次可以挑5升。 问: 小和尚要挑几次水才可以把水港挑满? #include voidmain() { intn; n=(50-15)/5; printf("%d\n",n); } 27.编写程序,输出10—100之间个位数为7的所有素数。 #include voidmain() { inti,j,f; 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&&i%10==7) { printf("%d",i); } } } 28.编写程序,求1-2+3-4+5-6……+99-100的值。 29.编程实现根据某人的身高和体重判断其身体指数。 身体指数与体重、身高的关系为: 身体指数t=w/(h*h);其中w为体重,h为身高 当t<18时,偏瘦。 当18<=t<25时,正常体重。 当25<=t<27时,超重。 当t>=27时,肥胖。 #include voidmain() { floatt,w,h; printf("请输入体重w,身高h: "); scanf("%f,%f",&w,&h); t=w/(h*h); if(t<18) { printf("偏瘦"); } else { if(t<25) { printf("正常体重"); } else { if(t<27) { printf("超重"); } else { printf("肥胖"); } } } } 30.编写程序,已知苹果每斤3.5元,香蕉每斤2.6元,橘子每斤1.8元,要求输入各类水果的重量,输出应付金额,再输入顾客所付金额,打印出找顾客的金额。 #include voidmain() { floata,b,c; floatw,f,m; printf("请输入苹果a,香蕉b,橘子c的斤数: "); scanf("%f%f%f",&a,&b,&c); w=3.5*a+2.6*b+1.8*c; printf("应付%f\n",w); printf("请输入所付金额: "); scanf("%f",&f); m=f-w; printf("应找金额%f\n",m); } 31.设长方形的高为2.5,宽为1.6,编程求长方形的周长和面积。 #include voidmain() { doublea,b,l,s; a=2.5; b=1.6; l=2*(a+b); s=a*b; printf("周长是%lf,面积是%lf\n",l,s); } 32.编写程序,要求输出斐波那契序列1,1,2,3,5,8,13,21,……的前25项,每行输出5项。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)