c语言练习题Word下载.docx
《c语言练习题Word下载.docx》由会员分享,可在线阅读,更多相关《c语言练习题Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
2.编程求10的阶乘。
inti,a;
a=1;
for(i=10;
i>
0;
i--)
a*=i;
10的阶乘:
a);
3.有一函数
y=
写一程序,输入x值,输出y值。
floatx,y;
enterx:
%f"
1)
y=x;
elseif(x<
=0)
y=2*x-1;
elsey=x+3;
y=%f\n"
y);
4.输入一个三位数的正整数,要求以相反的顺序输出该数。
例如,输入123,输出321。
intx,y,z,m;
请输入3位正整数:
if(0<
x<
1000)
y=x/100;
z=(x-y*100)/10;
m=x-y*100-z*10;
相反顺序输出:
%d%d%d\n"
m,z,y);
5.有三个整数a、b、c,由键盘输入,输出其中最小的数。
inta,b,c,m;
请输入第1个整数a="
a);
请输入第2个整数b="
b);
请输入第3个整数c="
c);
if(a<
b)
m=a;
else
m=b;
if(m>
c)
m=c;
其中最小的数:
m);
6.从键盘输入一个正整数,判断该整数是否为素数。
intn,k,m;
m=0;
请输入n="
n);
for(k=2;
k<
=n/2;
k++)
if(n%k==0)
m++;
n=%d不是素数!
n);
n=%d是素数!
7.求1-3+5-7+…-99+101的值。
inti,fh,sum;
fh=1;
for(i=1;
i<
102;
i=i+2)
sum=sum+i*fh;
fh=fh*(-1);
sum=%d\n"
8.求下列算式的值:
SUM=1+1/2+2/3+3/4+…+99/100
floati,sum;
sum=1;
100;
i++)
sum=sum+i/(i+1);
sum=%f\n"
9.编写程序,输入一个不超过5位数的正整数,输出它的个位数,并指出它是几位数。
voidmain()
longinta;
intn,b;
\n请输入一个整数(0~99999):
if(a>
9999)
n=5;
elseif(a>
999)
n=4;
99)
n=3;
9)
n=2;
elsen=1;
\n这个数的位数=%d"
b=a%10000%1000%100%10;
个位为%d\n"
b);
10.输出10-100以内的偶数,要求该偶数的两个数字不相同。
inti,a,b;
10-100以内的偶数,且偶数的两个数字不相同:
101;
if(i%2==0)
a=i/10;
b=i-a*10;
if(a!
=b)
%d"
11.从键盘输入一个整数,编程判断其奇偶性和正负性。
请输入一个整数:
if(x%2!
%d是奇数\n"
%d是偶数\n"
%d是正数\n"
0)printf("
%d是负数\n"
%d既不是正数也不是负数\n"
12.输出100以内能被3整除且至少有一位数字是5的所有整数。
inta,b,c,d,i;
输出100以内能被3整除且至少有一位数字是5的所有整数:
=100;
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a==5||b==5||c==5)
if(i%3==0)
13.输入4个整数,要求按由小到大的顺序输出。
inti,j,t,a[4];
请输入4个整数:
for(i=0;
4;
a[i]);
for(j=0;
j<
3;
j++)
3-j;
if(a[i]>
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
由小到大的排序:
a[i]);
14.有一分数序列:
1/2,2/3,3/4,4/5…求出这个数列的前20项之和。
=20;
}
15.在1~500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数。
inti;
在1~500中,能同时满足用3除余2,用5除余3,用7除余4的所有整数:
=500;
if(i%3==2)
if(i%5==3)
if(i%7==4)
16.编写程序,求出在100到300之间的数,它们满足条件:
三位数字之积为42,三位数字之和为12。
inti,a,b,c;
在100到300之间的数,满足条件:
三位数字之积为42,三位数字之和为12:
for(i=100;
=300;
if(a*b*c==42&
&
a+b+c==12)
17.从键盘输入10个正整数,求这10个整数中偶数的和。
这10个整数中偶数的和sum=%d\n"
18.计算的近似值。
公式如下:
,,直到第n项的绝对值小于10-6,并输出结果。
#include<
math.h>
floatsum=1.0,i,t=1,n=1;
for(i=3;
;
t=pow(-1,n)*1/i;
sum=sum+t;
n++;
if(fabs(t)<
1e-6)break;
4*sum);
19.有一函数
5)
20.输入一个四位数的正整数,要求以相反的顺序输出该数。
intx,y,z,m,n;
请输入4位正整数:
10000)
y=x/1000;
z=(x-y*1000)/100;
m=(x-y*1000-z*100)/10;
n=x-y*1000-z*100-m*10;
%d%d%d%d\n"
n,m,z,y);
21.判定2000-2500年中的每一年是否为闰年,并将结果输出。
stdlib.h>
intyear,leap;
for(year=2000;
year<
=2500;
year++)//从2000年到2500年
{
leap=((year%4==0&
year%100!
=0)||(year%400==0))?
1:
0;
if(leap)printf("
%disaleapyear.\n"
year);
}
return0;
22.有三个整数a、b、c,由键盘输入,输出其中最大的数。
inta,b,c,max;
请输入3个整数:
%d%d%d"
a,&
b,&
a=%db=%dc=%d\n"
a,b,c);
max=b;
elsemax=a;
max=%d\n"
max>
=c?
max:
23.从键盘输入一个正整数,判断该整数是否为素数。
24.求-1+2-3+4+…前100项的值。
intmain(){
inti,s=0,t=-1;
for(i=1;
i++){
s+=t*i;
t*=-1;
printf("
s);
25.下列算式前500项的值:
SUM=1-1/2+2/3-3/4+…
floatsum,i,fh;
fh=-1;
for(i=2;
500;
sum=sum+(i-1)/i*fh;
26.编写程序,输入一个整数,输出它的个位数,并指出它是几位数。
27.输出10~100以内的奇数,要求该奇数的两个数字不相同。
10-100以内的奇数,且奇数的两个数字不相同:
if(i%2)
28.输入5个正整数,求其中的偶数之和。
请输入5个正整数:
6);
这5个整数中偶数的和sum=%d\n"
29.如果一个正整数等于其各个数字的立方和,则称该数字为阿姆斯特朗数,如:
407=43+03+73。
试编程求出1000以内的所有阿姆斯特朗数,并输出。
intx,y,z,m,n,sum;
1000以内的所有阿姆斯特朗数:
for(x=1;
=1000;
x++)
m=(x-y*1000-z*z*100)/10;
sum=pow(y,3)+pow(z,3)+pow(m,3)+pow(n,3);
if(x==sum)
30.输出1000以内能被7整除且至少有一位数字是3的所有整数。
输出1000以内能被7整除且至少有一位数字是3的所有整数:
a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i-a*1000-b*100-c*10;
if(a==3||b==3||c==3||d==3)
if(i%7==0)
31.输入4个整数,要求按由大到小的顺序输出。
由大到小的排序:
=0;
32.有一分数序列:
1/2,2/5,3/8,4/11…求出这个数列的前20项之和。
floatsum,i;
sum=sum+i/(3*i-1);
33.在1~1000中,找出能同时满足用4除余3,用5除余4,用7除余5的所有整数。
在1~1000中,能同时满足用4除余3,用5除余4,用7除余5的所有整数:
if(i%4==3)
if(i%5==4)
if(i%7==5)
34.编写程序,求出在100到300之间的数,它们满足条件:
三位数字之积为45,三位数字之和为15。
三位数字之积为45,三位数字之和为15:
if(a*b*c==45&
a+b+c==15)
35.编写程序,求出在100到300之间的数,它们满足条件:
三位数字之积为48,三位数字之和为15。
三位数字之积为48,三位数字之和为15:
if(a*b*c==48&
36.输入10个数,输出其中最大的一个数。
inti,j,t,a[10];
请输入10个数:
10;
9;
9-j;
最大的数:
a[9]);
37.给出一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。
90分以上为‘A’,80-89为‘B’,70-79为‘C’,60-69为‘D’,60分以下为‘E’。
intk;
scanf("
k);
if(k>
=10&
=100)
k/=10;
switch(k)
case10:
case9:
A"
break;
case8:
B"
case7:
C"
case6:
D"
default:
E"
38.输入4个整数,要求按由小到大的顺序输出。
inta,b,c,d,t;
%d,%d,%d,%d"
c,&
d);
a=%d,b=%d,c=%d,d=%d\n"
a,b,c,d);
b){
t=b;
b=a