c语言程序设计编程题库.docx

上传人:b****4 文档编号:26927167 上传时间:2023-06-24 格式:DOCX 页数:42 大小:23.74KB
下载 相关 举报
c语言程序设计编程题库.docx_第1页
第1页 / 共42页
c语言程序设计编程题库.docx_第2页
第2页 / 共42页
c语言程序设计编程题库.docx_第3页
第3页 / 共42页
c语言程序设计编程题库.docx_第4页
第4页 / 共42页
c语言程序设计编程题库.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

c语言程序设计编程题库.docx

《c语言程序设计编程题库.docx》由会员分享,可在线阅读,更多相关《c语言程序设计编程题库.docx(42页珍藏版)》请在冰豆网上搜索。

c语言程序设计编程题库.docx

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(i

printf("%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=x

x:

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;

scanf("%d",&a);

y=div(a);

printf("y=%d",y);

}

intdiv(intx)

{inty;

if(x%5==0&&x%7==0)y=1;

elsey=0;

return(y);

}

317

)编写函数sign,功能是计算下列分段函数sign(x)的值。

在主函数中输入一个数,保存在变量x中,调用函数sign,在主函数中输出结果。

要求x为double型变量。

sign(x)={1x>0

0x=0

-1x<0}

7#include

doublesign(doublex)

{

doubleb;

if(x==0)

b=0;

elseif(x<0)

b=-1;

else

b=1;

returnb;

}

voidmain()

{

doublex,b;

scanf("%f",&x);

b=sign(x);

printf("%le",b);

}

逻辑运算和判断选取控制

6

编程判断输入的正整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

#include

voidmain()

{

intn;

scanf("%d",&n);

if(n%5==0&&n%7==0)

printf("yes\a");

elseprintf("no\a");

}

8

编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。

设:

90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求必须使用switch-case结构实现。

#include"stdio.h"

intmain()

{intscore,g;

printf("请输入百分制成绩:

");

scanf("%d",&score);

g=score/10;

switch(g)

{case1:

case2:

case3:

case4:

case5:

printf("E\n");break;

case6:

printf("D\n");break;

case7:

printf("C\n");break;

case8:

printf("B\n");break;

case9:

printf("A\n");break;

default:

printf("InputError!

");

}

}

93

编写一个简单计算器程序,输入格式为:

data1opdata2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

要求必须使用switch-case语句实现。

#include

voidmain()

{floatdata1,data2;

charop;

printf("Enteryourexpression:

");

scanf("%f%c%f",&data1,&op,&data2);

switch(op)

{case'+':

printf("%.2f+%.2f=%.2f\n",data1,data2,data1+data2);break;

case'-':

printf("%.2f-%.2f=%.2f\n",data1,data2,data1-data2);break;

case'*':

printf("%.2f*%.2f=%.2f\n",data1,data2,data1*data2);break;

case'/':

if(data2==0)

printf("Divisionbyzero.\n");

else

printf("%.2f/%.2f=%.2f\n",data1,data2,data1/data2);break;

default:

printf("Unknownoperater.\n");

}

}

94

已知银行整存整取存款不同期限的月息利率分别为:

0.315%期限一年

0.330%期限二年

月息利率=0.345%期限三年

0.375%期限五年

0.420%期限八年

要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

#include"stdio.h"

intmain()

{floatmoney,y;

printf("请输入存钱的本金和期限:

");

scanf("%f%f",&money,&y);

if(y==1)

{money=money+0.00315*12*y;

printf("到期时利息和本金合计为%f元。

\n",money);}

elseif(y==2)

{money=money+0.00330*12*y;

printf("到期时利息和本金合计为%f元。

\n",money);}

elseif(y==3)

{money=money+0.00345*12*y;

printf("到期时利息和本金合计为%f元。

\n",money);}

elseif(y==5)

{money=money+0.00375*12*y;

printf("到期时利息和本金合计为%f元。

\n",money);}

elseif(y==8)

{money=money+0.00420*12*y;

printf("到期时利息和本金合计为%f元。

\n",money);}

else

printf("没有这种存款方式!

");

return0;

}

199

 从键盘输入一个学生的分数,要求实现这样的判断功能:

如果分数大于100,输出”Inputerror!

”如果分数介于100到90之间,输出”VeryGood!

”如果分数介于80到90只,输出”Good!

”如果分数介于70到80之间,输出”Middle”如果分数介于60到70之间,输出”Pass”如果分数小于60,输出”NoPass!

”。

要求必须使用if-elseif结构实现。

#include

voidmain()

{

intscore;

printf("yourscore:

");

scanf("%d",&score);

if(score<0||score>100)printf("Inputerror!

\n");

elseif(score>90)printf("VeryGood!

\n");

elseif(score>80)printf("Good!

\n");

elseif(score>70)printf("Middle\n");

elseif(score>60)printf("Pass\n");

elseprintf("NoPass!

\n");

}

200

判断一个学生成绩的“优、良、中、差”:

假如从键盘输入的字母是‘A’,输出评语“YouareExcellent!

”;如果输入‘B’,输出评语“Youarewell!

”;如果输入‘C’,输出评语“Youarepassing!

”;如果输入‘D’,输出评语“Youarenotpassing!

”。

如果输入的不是这四个字母,则出现提示“Inputerror!

”请编写一个程序,实现该判断功能。

要求必须使用switch-case结构实现。

#include

voidmain()

{

chargrade;

printf("Pleaseinputagrade:

");

scanf("%c",&grade);

switch(grade)

{

case'A':

printf("YouareExcellent!

\n");break;

case'B':

printf("Youarewell!

\n");break;

case'C':

printf("Youarepassing!

\n");break;

case'D':

printf("Youarenotpassing!

\n");break;

default:

printf("Inputerror!

\n");

}

}

211

输入一个整数,判断该数是奇数还是偶数。

要求必须使用if-else结构实现。

#include

voidmain()

{

intx;

printf("Pleaseinputanumber:

");

scanf("%d",&x);

if(x%2==0)

printf("oushu\n");

elseprintf("jishu\n");

}

247

从键盘接收三个整数,分别存放在变量a,b,c中,编程求出最小数。

XXXXXX

#include

voidmain()

{

inta,b,c,min;

printf("Pleaseinput3numbers:

");

scanf("%d,%d,%d",&a,&b,&c);

if(a

min=a;

elsemin=b;

if(min

printf("min=%d\n",min);

elseprintf("min=%d\n",c);

}

249

从键盘接收三个整数,分别存在变量x,y,z中。

编程输出最大数。

#include

voidmain()

{

intx,y,z,max;

printf("Pleaseinput3numbers:

");

scanf("%d,%d,%d",&x,&y,&z);

if(x>y)max=x;

elsemax=y;

if(max>z)printf("max=%d\n",max);

elseprintf("max=%d\n",z);

}

253

从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入,否则给出提示信息“输入错误!

”。

#include

voidmain()

{

charc;

printf("Pleaseinputachar:

");

c=getchar();

if(c>='a'&&c<='z')

printf("%d\n",c);

elseif(c>='A'&&c<='Z')

printf("%d\n",c);

elseif(c>='0'&&c<='9')

printf("%c\n",c);

elseprintf("输入错误!

\n");

}

279

个人所得税计算,应纳税款的计算公式如下:

收入

税率

收入<=1000元部分

0%

2000元>=收入>1000元的部分

5%

3000元>=收入>2000元的部分

10%

6000元>=收入>3000元的部分

15%

收入>6000元的部分

20%

输入某人的收入,计算出应纳税额及实际得到的报酬。

,要求必须使用if-else结构完成。

#include

voidmain()

{

floati,n,tax;/*定义收入,实际收入,个人所得税*/

printf("Ple

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1