C语言基础编程练习Word文档下载推荐.docx
- 文档编号:16252308
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:118
- 大小:1.08MB
C语言基础编程练习Word文档下载推荐.docx
《C语言基础编程练习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言基础编程练习Word文档下载推荐.docx(118页珍藏版)》请在冰豆网上搜索。
b)
max=b;
c)
max=c;
最大数是%d\n"
max);
5、求5!
{intt=1,i=2;
while(i<
=5)
{t=t*i;
i=i+1;
}
t);
6、求多项式1-1/2+1/3-1/4+````+1/99-1/100的值
intsign=1;
doubledeno=2.0,sum=1.0,term;
while(deno<
=100)
{
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
%f\n"
7、将华氏温度64°
F转换为摄氏度
floatf,c;
f=64.0;
c=(5.0/9.0)*(f-32);
c=%f\n"
8、1000元存一年:
(1)活期,年利率为r1;
(2)一年期顶起,年利率r2;
(3)存两次半年定期,年利率为r3.分别计算3种方法本息和
floatp0=1000,r1=0.0036,r2=0.0225,r3=0.0193,p1,p2,p3;
p1=p0*(1+r1);
p2=p0*(1+r2);
p3=p0*(1+r3/2)*(1+r3/2);
p1=%f\np2=%f\np3=%f\n"
p1,p2,p3);
9、给定一个大写字母A,输出其小写字母
charc1,c2;
c1='
A'
;
c2=c1+32;
%c\n"
c2);
10、给出三角形三边长,求面积
math.h>
doublea,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
a=%f\tb=%f\tc=%f\n"
a,b,c);
area=%f\n"
area);
11、输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入后处理,然后输出此数,以便验证处理是否正确。
#include<
doublex;
Enterx:
"
%lf"
x);
(1)x=%f\n"
x);
x=x*100+0.5;
x=(int)x;
x=x/100;
(2)x=%f\n"
12、编程从键盘输入两个整数给变量x和y,然后输出x和y的值,最后交换x和y的值并输出。
intx,y,t;
Enterx,y:
%d%d"
x,&
y);
x=%dy=%d\n"
x,y);
t=x;
x=y;
y=t;
13、从键盘输入两个两位的正整数给变量x和y,并将x和y合并形成一个整数放在变量z中。
合并的方式是:
将数x的十位和各位依次放在z的千位和十位,将y的十位和个位放在z的个位和百位上。
intx,y,z;
Inputx,y:
x=x%100;
y=y%100;
z=(x/10)*1000+(x%10)*10+y/10+(y%10)*100;
x=%d,y=%d,z=%d\n"
x,y,z);
14、输入3个整数,分别放入在变量a,b,c中,程序把输入的数据重新按由从小到大的顺序放在变量a,b,c中,最后输出a,b,c中的值
inta,b,c,t;
%d%d%d"
a=%d,b=%d,c=%d\n"
if(a>
{t=a;
a=b;
b=t;
a=c;
c=t;
if(b>
{t=b;
b=c;
15、根据输入的学生成绩,给出相应的等级,90分以上的等级为A,60以下为E,其余每10分一个等级。
intg;
Enterg:
%d"
g);
g=%d:
g);
if(g>
=90)printf("
A\n"
elseif(g>
=80)printf("
B\n"
=70)printf("
C\n"
=60)printf("
D\n"
elseprintf("
E\n"
switch(g/10)
case9:
break;
case8:
case7:
case6:
default:
16、平面点M(x,y),若M落在圆心在坐标原点单位圆上,key=1;
圆外,key=2;
圆内key=0
floatx,y,r;
intkey;
inputx,y:
%f,%f"
r=sqrt(x*x+y*y);
if(r>
1)key=2;
elseif(r==1)key=1;
elseif(r<
1)key=0;
(%.1f,%.1f):
x,y,key);
-1,x<
0
17、编写一个程序实现符号函数y={0,x=0的功能
1,x>
intx,y;
if(x<
0)
y=-1;
if(x==0)
y=0;
y=1;
x=%d,y=%d\n"
y=-1;
if(x!
=0)
{if(x>
0)y=1;
else
x=%d,y=%d\n"
18、判定某年是否闰年。
intyear,leap;
inputtheyear:
year);
if((year%4==0&
&
year%100!
=0)||(year%400==0))leap=1;
elseleap=0;
if(leap==1)
printf("
%disaleapyear\n"
year);
%disnotaleapyear\n"
if(year%4==0)
if(year%100!
=0)
leap=1;
if(year%400==0)
leap=1;
else
leap=0;
leap=0;
}
if(year%400==0)leap=1;
if(year%4==0)
if(year%100==0)
elseleap=1;
elseleap=1;
}
if(year%4!
=0)leap=0;
elseif(year%100==0)leap=0;
elseif(year%400==0)leap=1;
elseleap=1;
19、求一元二次方程ax2+bx+c=0的解。
分析:
a=0,非二次方程
b*b-4*a*c=0,两个相等实根
>
0,两个不等实根
<
0,两个共轭复根
floata,b,c,disc,x1,x2,realpart,imagpart;
%f,%f,%f"
Theequation"
if(fabs(a)<
=1E-6)
{printf("
isnotquadratic\n"
disc=b*b-4*a*c;
if(fabs(disc)<
hastwoequalroot:
%8.4f"
-b/(2*a));
if(disc>
1E-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b+sqrt(disc))/(2*a);
printf("
hasdistinctrealroots:
%8.4fand%8.4f\n"
x1,x2);
}
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
hascomplexroots:
%8.4f+%8.4fi\n"
realpart,imagpart);
%8.4f-%8.4fi\n"
20、编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后输出。
intx,h,m,s;
h=x/3600;
m=x%3600/60;
s=x%60;
%ds=%d:
%d:
%d!
x,h,m,s);
21、任意输入一个字符,若是大写字母将其转换成小写字母
charch;
ch=getchar();
ch=(ch>
='
ch<
Z'
)?
ch+32:
'
x'
if(ch!
*'
){putchar(ch);
putchar('
\n'
22、编写程序,输入能代表一个日期的3个整数,计算并输出该日是改年的第几天。
inty,m,d,dd=0;
Entery/m/d:
%d/%d/%d"
y,&
m,&
d);
y,m,d);
switch(m-1)
case11:
dd=dd+30;
case10:
dd=dd+31;
case5:
case4:
case3:
case2:
dd=dd+28;
case1:
case0:
dd=dd+d;
if((m>
2)&
(y%4==0&
y%100!
=0||y%400=0))
dd=dd+1;
%d\n"
dd);
23、当一个人的月收入在2000元以下时免税;
月收入在2000元到5000元之间时,超过2000的部分纳
税8%;
月收入在5000元以上时,2000至5000之间的部分纳税8%,超过5000的部分纳税15%。
编写程序
从键盘输入月收入income,计算并输出应交税款tax。
#include"
stdio.h"
main()
intincome;
floattax;
enterincome:
income);
if(income<
=2000)
tax=0;
elseif(income<
=5000)
tax=0.08*(income-2000);
tax=0.08*3000+0.15*(income-5000);
tax=%f\n"
tax);
24、回文是指正读和反读都一样的数或字符串。
例如:
12321、55455、35553等都是回文。
请编写一
个程序,从键盘上读取一个包含五位数字的长整数,并判断它是否是回文。
(提示:
用除法运算和
求余运算把一个数的个位、十位、百位、千位等分别分离出来。
)
longx;
inta,b,d,e;
enterx:
%ld"
a=x/10000;
b=x%10000/1000;
d=x%100/10;
e=x%10;
if(a==e&
b==d)
%ldisahuiwen\n"
%ldisnotahuiwen\n"
25、设计一个简单的计算器,完成两个数的加减乘除
输入二个数及运算符
switch表达式:
运算符
常量:
+'
-'
/'
floatx,y;
charop;
enterx,op,y:
%f%c%f"
op,&
switch(op)
case'
:
%.2f%c%.2f=%.2f\n"
x,op,y,x+y);
x,op,y,x-y);
x,op,y,x*y);
if(y==0)
error\n"
x,op,y,x/y);
26、编写程序,求1+2+3+。
。
+100的值
inti=1,sum=0;
sum=sum+i;
i++;
sum=%d\n"
do
}while(i<
=100);
inti,sum;
for(i=1,sum=0;
i<
=100;
i++)
27、求100以内奇偶数之和
intn=1,odd=0,even=0;
while(n<
100)
odd+=n;
even+=n+1;
n+=2;
odd和=%d,even和=%d\n"
odd,even);
28、求两个正整数m和n,求最大公约数和最小公倍数
1、用辗转相除法求最大公约数
2、最小公倍数=两数积/最大公约数
intm,n,m1,n1,a;
输入两个正整数:
n);
m1=m;
n1=n;
a=m1%n1;
while(a!
{m1=n1;
n1=a;
a=m1%n1;
最大公约数是%d\n"
n1);
最小公倍数是%d\n"
m*n/n1);
29、求n!
inti,n;
longs=1;
entern:
for(i=1;
=n;
i++)s=s*i;
=%ld\n"
n,s);
30、编写一个程序,计算半径为0.5,1.5,2.5,3.5,4.5,5.5mm时的圆面积
floatr,s;
for(r=0.5;
r<
=5.5;
r++)
s=3.14159*r*r;
r=%fs=%f\n"
r,s);
31、循环嵌套的应用——输出九九乘法表
inti,j;
=9;
for(j=1;
j<
=i;
j++)
%d*%d=%d"
i,j,i*j);
intm,n;
m=1;
while(m<
=9)
n=1;
while(n<
=m)
{printf("
m,n,m*n);
n++;
}
m++;
32、找所有三位数要求①其百位数不大于2②将个位与百位对换,得到的三
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 编程 练习