C语言练习题1.docx
- 文档编号:1244021
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:20
- 大小:25.15KB
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"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题