c语言程序设计编程题库.docx
《c语言程序设计编程题库.docx》由会员分享,可在线阅读,更多相关《c语言程序设计编程题库.docx(42页珍藏版)》请在冰豆网上搜索。
c语言程序设计编程题库
难度1循环结构
4
计算s=1-2!
+3!
-4!
+…-10!
的值并输出。
-3301819
#include
voidmain()
{intn,t=1,f=-1;
intsum=0;
for(n=1;n<=10;n++)
{t=t*n;
f=-f;
sum=sum+t*f;
}
printf("%d",sum);
}
9
计算s=1-1/3+1/5-1/7+…1/101的值并输出0.790300
#include
voidmain()
{intn,f=-1;
floatt,sum=0;
for(n=1;n<=51;n++)
{t=1.0/(2*n-1);
f=-f;
sum=sum+t*f;
}
printf("%f",sum);
}
10
编写程序求出555555的约数中最大的三位数是多少。
要求必须使用do-while语句实现。
#include
#defineY555555
voidmain()
{intn=100;
intmax=0;
Do
{if(Y%n==0)
{max=n;n++;}while(n<999);
printf("%d",max);
}
11
输入一个正整数,要求以相反的顺序输出该数。
例如输入12345,输出位54321。
注:
1不得使用数组;2必须使用while语句实现。
#include
Voidmain()
{intx;
Scanf(“%d”,&x) ;
While()
}
110
编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。
要求必须使用for语句实现。
0.980393
#include
voidmain()
{
inti;
floatsum=0;
for(i=1;i<=50;i++)
sum=sum+1.0/(i*(i+1));
printf("\ns=%f\n",sum);
}
111
编写程序,求S=1/(1+2)+1/(2+3)+1/(3+4)+……前50项之和。
要求必须使用while语句实现。
#include
voidmain()
{
inti=1;
floatsum=0;
while(i<=50)
{sum=sum+1.0/(i+(i+1));
i++;}
printf("\ns=%f\n",sum);
}1.947676
179
输入10个整数,统计同时能被3和7整除的个数,结果存放在变量nCount中。
将nCoun输出。
要求必须使用do-while语句实现。
#include"stdio.h"
voidmain()
{
inta[10];
inti=0,nCount=0;
do
{scanf("%d",&a[i]);
i++;
}while(i<10);
i=0;
do
{if(a[i]%3==0&&a[i]%7==0)
nCount++;i++;}while(i<10);
printf("%d",nCount);
}
181
编写一个sum函数求和:
输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。
要求用do-while语句实现。
#include"stdio.h"
voidmain()
{
intn,sum=0,i;
printf("请输入一个正整数:
");
scanf("%d",&n);
i=2;
do
{sum=sum+i;i+=2;}while(iprintf("%d\n",sum);
}
187
编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。
要求使用for语句实现
#include
voidmain()
{
inti,j=0,n;
intsum=0;
printf("请输入n的值:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
{j=j+i;
sum=sum+j;}
printf("\ns=%d\n",sum);
}
265
从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。
要求使用while语句。
#include"stdio.h"
voidmain()
{
inta[10],i,p=0,n=0,z=0;
printf("输入10个整数:
");
i=0;
while(i<10)
{scanf("%d",&a[i]);
if(a[i]>0)p++;
elseif(a[i]<0)n++;
elsez++;
i++;
}
printf("正数:
%d,负数:
%d,零:
%d\n",p,n,z);
}
函数难度1
173
编写自定义函数volume_cy,功能是求圆柱体的体积(v=3.14*r2*h),要求
圆柱体的高h和底半径r在主函数中输入,圆柱体的体积在主函数中做输出。
h,r均为float型变量。
#include
floatvolume_cy(floatr,floath)
{
return(3.14*r*r*h);
}
voidmain()
{floatr,h,v;
printf("请输入圆柱体的半径和高度");
scanf("%f%f",&r,&h);
v=volume_cy(r,h);
printf("\n圆柱体的体积为%f\n",v);
}
176
编写自定义函数volume_c,功能是求正方体的体积(要求:
正方体的的边长a在主函数中做输入,在主函数中调用函数volume_c,在主函数中输出正方体体积,a为int型变量)。
#include
floatvolume_c(inta)
{
return(a*a*a);
}
voidmain()
{inta;
floatv;
printf("请输入正方形的边长:
");
scanf("%d",&a);
v=volume_c(a);
printf("\n正方形的的体积为%f\n",v);
}
178
编写函数max,功能是找出两个数的较大值。
在主函数中输入两个整数num1,num2,调用函数max,在主函数中输出num1和num2较大值。
#include
voidmain()
{intmax(intx,inty);
intnum1,num2,max1;
printf("请输入两个数:
\n");
scanf("%d%d",&num1,&num2);
max1=max(num1,num2);
printf("max=%d\n",max1);
}
intmax(intx,inty)
{intm;
m=x>y?
x:
y;
returnm;
}
182
定义函数areaT,功能是求圆锥体积。
在主函数中输入半径r和高h,调用函数areaT求体积,并在主函数中输出圆锥的体积。
其中变量r,h均为double型数据。
(公式v=h*3.14*r2/3)
#include
floatareaT(doubler,doubleh)
{
return3.14*r*r*h/3.0;
}
voidmain()
{floatr,h,v;
printf("请输入圆锥体的半径和高度");
scanf("%f%f",&r,&h);
v=areaT(r,h);
printf("\n圆锥体的体积为%f\n",v);
}
183
定义函数Fra,功能是求华氏温度,要求在主函数中输入摄氏温度c,调用函数Fra,在主函数中输出华氏温度f。
要求变量c,f均为float型数据(公式f=5/9*c+32)
#include
floatFra(floatc)
{
return5.0/9*c+32.0;
}
voidmain()
{floatf,c;
printf("请输入摄氏温度:
");
scanf("%f",&c);
f=Fra(c);
printf("\n对应的华氏温度为%f\n",f);
}
184
定义函数areaT,功能是求梯形面积。
要求在主函数中输入上底(用变量a存储)、下底(用变量b存储)、和高(用变量h存储),在主函数中调用函数areaT,输出梯形面积(用变量s存储)的值。
其中,变量a,b,h,s数据类型均为double。
公式:
s=(a+b)*h/2
#include
doubleareaT(doublea,doubleb,doubleh)
{
return(a+b)*h/2;
}
voidmain()
{doublea,b,h,s;
printf("请输入梯形的上底、下底和高度");
scanf("%f%f%f",&a,&b,&h);
s=areaT(a,b,h);
printf("\n梯形的面积为%f\n",s);
}
194
)编写自定义函数min,函数功能是找出两个数的较小值。
在主函数中输入
两个数,分别保存在变量a和变量b,并且在主函数中调用函数min,输出a和b的较小值。
#include
voidmain()
{intmin(intx,inty);
inta,b,min1;
printf("请输入两个数:
\n");
scanf("%d%d",&a,&b);
min1=min(a,b);
printf("min=%d\n",min1);
}
intmin(intx,inty)
{
intm;
m=xx:
y;
returnm;
}
197
编写一个函数fun,函数的功能是:
判断一个整数是否既是5又是7的整倍数。
若是,输出yes,否则输出no。
在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。
#include
voidmain()
{voidfun(int);
inta;
scanf("%d",&a);对应的结果
fun(a);35
}Yes
voidfun(intx)49
{if(x%5==0&&x%7==0)printf("yes\n");No
elseprintf("no\n");
return;
}
242
编写一个函数div,定义该函数的返回值类型为int,功能是判断一个整数n是否能同时被5和7整除,如果能,那么函数返回值为1;如果不能,那么函数返回值为0。
在main函数中完成数据输入,函数调用和数据输出。
#include
voidmain()
{intdiv(int);
inta,y;
sca