《2022年c语言程序设计编程题库.docx》由会员分享,可在线阅读,更多相关《2022年c语言程序设计编程题库.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源难度 1 循环结构运算 s=1-2.+3.- 4.+ -10. 地值并输出 . -3301819#include void mainintn,t=1,f=-1 ;int sum=0 ;4forn=1 ;n=10 ;n+t=t*n ;f=-f ;sum=sum+t*f ;printf%d,sum ;运算 s=1-1/3 + 1/5- 1/7+ 1/101 地值并输出0.790300 #includevoid mainintn,f=-1 ;float t,sum=0 ;9forn=1 ;n=51 ;n+t=1.0/2*n-1 ;f=-f ;sum=sum+t*f ;printf%f,s
2、um ;编写程序求出 555555 地约数中最大地三位数是多少.要求必需使用 do-while 语句实现 . #include#define Y 555555void mainint n=100 ;10 int max=0 ;Do ifY%n=0max=n ;n+ ;whilen999 ;printf%d,max ;输入一个正整数,要求以相反地次序输出该数.例如输入 12345,输出位 54321.注: 1 不得使用数组;2 必需使用 while 语句实现 . #include 11 Void main int x ;Scanf“ %d” ,&;x While编写程序,求S=1/1*2+1/2
3、*3+1/3*4+前 50 项之和 .要求必需使用 for 语句实现 . 0.980393 #include void main 110 int i ;float sum=0 ;fori=1 ;i=50 ;i+sum=sum+1.0/i*i+1 ;欢迎下载精品学习资源printfns=%fn,sum;编写程序,求S=1/1+2+1/2+3+1/3+4+前 50 项之和 .要求必需使用 while 语句实现 . #include void main int i=1 ;111float sum=0 ;whilei=50 sum=sum+1.0/i+i+1;i+ ; printfns=%fn,sum
4、;1.947676输入 10 个整数,统计同时能被3 和 7 整除地个数,结果存放在变量nCount 中.将 nCoun 输出 .要求必需使用 do-while 语句实现 .#include stdio.h void mainint a10 ;inti=0 ,nCount=0 ;do欢迎下载精品学习资源179 i+ ;i = 0 ;do scanf%d,&ai;whilei10 ;欢迎下载精品学习资源 ifai%3 = 0 & ai % 7 = 0 nCount+ ;i+ ;whilei10 ;printf%d, nCount;编写一个 sum 函数求和:输入一个正整数n,统计不大于 n 值地
5、全部正偶数地和,在主函数中完成输入输出 .要求用 do-while 语句实现 .#include stdio.h void mainintn,sum=0,i ;181 printf 请输入一个正整数: ;scanf%d,&n;i = 2 ;dosum=sum+i ;i+=2 ;whilein ;printf%dn,sum;编程求 1+ ( 1+2) +( 1+2+n,n地值由键盘输入 .要求使用 for 语句实现#include void main 187 inti,j=0,n ;int sum=0 ;printf 请输入 n 地值: ;scanf%d,&n ;欢迎下载精品学习资源265for
6、i=1 ;i=n ;i+ j=j+i ;sum=sum+j ; printfns=%dn,sum ;从键盘输入 10 个整数,统计其中正数、负数和零地个数,并在屏幕上输出.要求使用 while 语句 . #includestdio.hvoid mainint a10,i,p=0,n=0,z=0 ;printf 输入 10 个整数: ;i=0 ;whilei0p+ ;else if ai0 n+ ;else z+;欢迎下载精品学习资源i+ ;printf 正数: %d,负数: %d,零: %dn,p,n,z ;函数 难度 1编写自定义函数 volume_cy ,功能是求圆柱体地体积(v=3.14
7、*r2*h ) ,要求圆柱体地高 h 和底半径 r 在主函数中输入,圆柱体地体积在主函数中做输出.h,r 均为 float 型变量 . #include float volume_cyfloat r,float hreturn 3.14*r*r*h;173 void mainfloat r,h,v ;printf 请输入圆柱体地半径和高度;scanf%f %f,&r,&h;v=volume_cyr,h ;printfn 圆柱体地体积为 %fn,v ;编写自定义函数volume_c ,功能是求正方体地体积(要求:正方体地地边长a 在主函数中做输入, 在主函数中调用函数volume_c ,在主函数
8、中输出正方体体积,a 为 int 型变量) .#include float volume_cint areturn a*a*a ;176 void mainint a ;float v ;printf 请输入正方形地边长: ;scanf%d,&a ;v=volume_ca ;printfn 正方形地地体积为%fn,v ;欢迎下载精品学习资源编写函数 max,功能是找出两个数地较大值.在主函数中输入两个整数num1,num2 ,调用函数 max , 在主函数中输出 num1 和 num2 较大值 .#include void mainint maxint x, int y;int num1,nu
9、m2,max1 ;printf 请输入两个数 :n ;178 scanf%d%d,&num1,&num2;max1=maxnum1,num2 ;printfmax=%dn,max1;int maxintx,int yint m ;m=xy.x:y ;return m;定义函数 areaT,功能是求圆锥体积 .在主函数中输入半径r 和高 h,调用函数 areaT 求体积,并在主函数中输出圆锥地体积 .其中变量 r,h 均为 double 型数据 .(公式 v=h*3.14*r2/3 )#include float areaTdoubler,doublehreturn 3.14*r*r*h/3.0
10、;182 void mainfloat r,h,v ;printf 请输入圆锥体地半径和高度;scanf%f %f,&r,&h;v=areaTr,h;printfn 圆锥体地体积为 %fn,v ;定义函数 Fra,功能是求华氏温度,要求在主函数中输入摄氏温度c,调用函数 Fra,在主函数中输出华氏温度 f. 要求变量 c,f 均为 float 型数据(公式 f=5/9*c+32 )#include float Frafloat creturn 5.0/9*c+32.0 ;183 void mainfloat f,c ;printf 请输入摄氏温度: ;scanf%f,&c ;f=Frac ;p
11、rintfn 对应地华氏温度为%fn,f ;定义函数 areaT,功能是求梯形面积 .要求在主函数中输入上底 用变量 a 储备、下底 用变量 b 储备 、和高用变量 h 储备 ,在主函数中调用函数 areaT,输出梯形面积 用变量 s 储备 地值.其中,变量 a,b,h,s 数据类型均为 double. 公式: s=( a+b) *h/2#include 184 doubleareaTdoublea,doubleb,doublehreturn a+b*h/2 ;void main欢迎下载精品学习资源doublea,b,h,s ;printf 请输入梯形地上底、下底和高度 ;scanf%f %f
12、 %f,&a,&b,&h;s=areaTa,b,h;printfn 梯形地面积为 %fn,s ;编写自定义函数 min ,函数功能是找出两个数地较小值.在主函数中输入两个数,分别储存在变量a 和变量 b,并且在主函数中调用函数min, 输出 a 和 b 地较小值 . #include void main intminint x, int y;int a,b,min1 ;printf 请输入两个数 :n ;scanf%d%d,&a,&b;min1=mina,b ;194 printfmin=%dn,min1;intminintx,int yint m ;m=xy.x:y ;return m;编写
13、一个函数 fun,函数地功能是:判定一个整数是否既是5 又是 7 地整倍数 .如是,输出 yes,否就输出 no.在主函数中输入任意一个正整数,调用fun 函数,输出该数对应地结果.#include void mainvoid funint ;int a;scanf%d,&a ; 对应地结果197 funa ;35 Yesvoid funint x49 ifx%5=0&x%7=0 printfyesn; No else printfnon ;return ;编写一个函数 div ,定义该函数地返回值类型为int, 功能是判定一个整数 n是否能同时被 5 和7 整除,假如能,那么函数返回值为1;
14、假如不能,那么函数返回值为0.在main 函数中完成数据输入,函数调用和数据输出 .#include void mainint divint ;inta,y;scanf%d,&a ;242 y=diva ;printfy=%d,y;int divint x int y ;ifx%5=0&x%7=0 y=1;else y=0;returny ;编写函数 sign,功能是运算以下分段函数signx 地值 .在主函数中输入一个数,储存在变量x 中,调用317 函数sign,在主函数中输出结果 .要求 x 为double 型变量 .signx=1x00 x=0欢迎下载精品学习资源-1 x0 7#inc
15、lude double signdouble xdouble b;ifx=0 b=0; else ifx0 b=-1 ;elseb=1;return b;void maindouble x,b;scanf%f,&x ;b=signx ;printf%le,b ;规律运算和判定选取把握编程判定输入地正整数是否既是5 又是 7 地整倍数 .如是,输出 yes,否就输出no. #include void mainint n;6scanf%d,&n ;ifn%5=0&n%7=0 printfyesa ;else printfnoa ;编写一程序,对于给定地一个百分制成果,输出相应地五分制成果.设: 9
16、0分以上为 A , 8089分为B, 7079分为 C, 6069分为 D , 60分以下为 E. 要求必需使用 switch-case 结构实现 .#include stdio.h int mainintscore,g ;printf 请输入百分制成果: ;scanf%d,&score ;g=score/10;switchg8case 1: case 2:case 3:case 4:case 5:printfEn ;break;case 6:printfDn ;break;case 7:printfCn ;break;case 8:printfBn ;break;case9: printfA
17、n ;break;default: printfInput Error.;欢迎下载精品学习资源编写一个简洁运算器程序,输入格式为:data1 op data2.其中 data1和data2是参加运算地两个数, op为运算符,它地取值只能是+、-、*、/. 要求必需使用 switch-case语句实现 .#include void main float data1, data2 ;char op;printfEnter your expression:;scanf%f%c%f, &data1,&op,&data2;switchop case +:printf%.2f+%.2f=%.2fn, da
18、ta1, data2, data1+data2; break;93 case - :printf%.2f-%.2f=%.2fn, data1, data2, data1-data2; break;case * :printf%.2f*%.2f=%.2fn, data1, data2, data1*data2; break;case / :if data2=0 printfDivision by zero.n;elseprintf%.2f/%.2f=%.2fn, data1, data2, data1/data2; break;default:printfUnknown operater.n;已
19、知银行整存整取存款不同期限地月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率0.345% 期限三年 0.375% 期限五年0.420% 期限八年要求输入存钱地本金和期限,求到期时能从银行得到地利息与本金地合计. #include stdio.hint mainfloat money,y ;printf 请输入存钱地本金和期限:;scanf%f%f,&money,&y;if y=1money=money+0.00315*12*y;printf 到期时利息和本金合计为%f 元.n,money ;94 else if y=2money=money+0.00330*12*y;pri
20、ntf 到期时利息和本金合计为%f 元.n,money ; else if y=3money=money+0.00345*12*y;printf 到期时利息和本金合计为%f 元.n,money ; else if y=5money=money+0.00375*12*y;printf 到期时利息和本金合计为%f 元.n,money ; else if y=8money=money+0.00420*12*y;printf 到期时利息和本金合计为%f 元.n,money ; else欢迎下载精品学习资源printf 没有这种存款方式! ;return 0;从键盘输入一个同学地分数, 要求实现这样地判
21、定功能: 假如分数大于 100,输出 ” Input error.假如”分欢迎下载精品学习资源数介于 100到90之间 , 输出”Very Good. ”假如分数介于 80到90只,输出 ”Good.”假如分数介于 70到80之间 ,输出”Middle ”假如分数介于 60到70之间 , 输出 ”Pass”假如分数小于 60,输出 ”No Pass. ”.要求必需使用 if-elseif结构实现 . #include void mainint score;199 printfyour score: ;scanf%d,&score ;ifscore100 printfInput error.n;
22、else if score90printfVery Good.n;else if score80 printfGood.n;else if score70 printfMiddlen;else ifscore60 printfPassn ;else printfNo Pass.n ;判定一个同学成果地 “优、良、中、差 ”:假如从键盘输入地字母是A,输出评语 “You areExcellent ! ”; 假如输入 B,输出评语 “ You are we!ll ”; 假如输入 C,输出评语 “ You arepassing! ”; 假如输入 D,输出评语 “ You arenot passing
23、! ”如.果输入地不是这四个字母,就显现提示“Input erro!r”请编写一个程序,实现该判定功能.要求必需使用 switch-case 结构实现 .#include void mainchar grade;200 printfPlease input a grade: ;scanf%c,&grade ;switchgradecase A:printfYou are Excellent.n;break;case B:printfYou are well.n;break; case C:printfYou are passing.n ;break;case D:printfYou are n
24、ot passing.n ;break;default:printfInput error.n;输入一个整数,判定该数是奇数仍是偶数.要求必需使用 if-else 结构实现 .#include void main211 int x ;printfPlease input a number: ;scanf%d,&x ;ifx%2=0 printfou shun ;else printfji shun ;欢迎下载精品学习资源从键盘接收三个整数,分别存放在变量a,b,c中,编程求出最小数 .XXXXXX #include void maininta,b,c,min ;printfPlease inp
25、ut 3 numbers: ;247 scanf%d,%d,%d,&a,&b,&c;ifabmin=a; else min=b;ifmincprintfmin=%dn,min;else printfmin=%dn,c;从键盘接收三个整数,分别存在变量x,y,z中.编程输出最大数. #include void mainintx,y,z,max ;249 printfPlease input 3 numbers: ;scanf%d,%d,%d,&x,&y,&z;ifxymax=x ;else max=y;ifmaxz printfmax=%dn,max;else printfmax=%dn,z;从
26、键盘接收一个字符,假如是字母,输出其对应地ASCII 码,假如是数字,按原样输入,否就给出提示信息 “输入错误! ”.#include void main欢迎下载精品学习资源253char c;printfPlease input a char: ;c=getchar;ifc=a&c=A&c=0&c=9printf%cn,c ;else printf 输入错误 .n ;欢迎下载精品学习资源个人所得税运算,应纳税款地运算公式如下:欢迎下载精品学习资源279收入税率收入收入1000元地部分 5欢迎下载精品学习资源3000 元收入2000元地部分 106000 元收入3000元地部分 15 收入60
27、00 元地部分20输入某人地收入,运算出应纳税额及实际得到地酬劳.,要求必需使用 if-else 结构完成 .#include void mainfloat i,n,tax ; /* 定义收入,实际收入,个人所得税*/ printfPlease input your income:;scanf%f,&i ;ifi1000&i2000&i3000&i6000tax=i*0.2 ;n=i-tax ;printf 个人所得税 =%.1f 实际酬劳 =%.2fn,tax,n ;else printferror.n ;输入一个字符,判定它是否是小写字母,是小写字母,就将它转换成大写字母,假如不是,就不转
28、换,然后输出所得到地字符.#include” stdio.h”Void main 320 Char c;Printf输“入一个字符 : ”;Scanf“ %c” ,;&cIf c= a &c= z欢迎下载精品学习资源Printf“n%”c ,-c32 ;Else printf“n”%,c;难度 2编一通用函数avernum,运算含有 n 个数据地一维数组地平均值,并统计此数组中大于平均值地数据地个数; 主函数中定义含有100 个元素地数组x,xI=200*cosI*0.875I=0,1,2,99调 用上述函数,输出此数组地平均值及大于平均值地数据地个数.-0.85194949 (注:此程序不答
29、应使用全局变量,不答应在 avernum 函数中输出)#include stdio.h #include math.h #define N 100double avernumdouble *x, double n, double ave double aver=0.000000, a=0 ;inti ;ifave=0 fori=0 ; in ; i+ aver=aver+*x+i ;aver=aver/n;return aver;154 else fori=0 ; in ; i+ifave*x+ia+;return a;void main double xN, m, aver ;int i ;
30、fori=0 ; iN ; i+xi=200*cosi*0.875;aver=avernumx, N, 0 ;m=avernumx, N, aver ;printfaver=%fnm=%fn,aver, m;编一通用函数 avermax,运算含有 n个数据地一维数组地平均值,并求出此数组中大于平均值地数据之和;主函数中定义含有 300个元素地数组 x,xI=10* cos 3.0+I*I / 5 I=0,1,2,调2用99上 述函数,输出此数组地平均值及大于平均值地数据之和.-0.220814912.784553 (注:此程序必需使用while 语句,不答应使用全局变量,不答应在avermax
31、函数中输出)#include stdio.h #include math.h155 #define N 300double avernumdouble *x, double n, double ave double aver=0.000000, a=0 ;inti ;ifave=0 i=0 ;whileinaver=aver+*x+i ; i+ ; aver=aver/n;欢迎下载精品学习资源return aver;else i=0 ;whilein ifave*x+ia+=*x+i; i+ ; return a;void main double xN, m, aver ;inti=0 ;wh
32、ileiNxi=10* cos3.0+i*i/5; i+ ; aver=avernumx, N, 0 ;m=avernumx, N, aver ;printfaver=%fnm=%fn,aver, m;编一通用函数 maxsub,求出含有 n 个数据地一维数组地最大值及其所在位置(即下标);主函数中定义含有 300 个元素地数组 y,yI=10* cos 3.0+I*I / 5I=0,1,2R-R-299,调用上述函数,输出此数组地最大值及其所在位置 .(注:此程序必需使用for 语句,不答应使用全局变量,不答应在maxsub函数中输出) 9.99927,0.00000欢迎下载精品学习资源15
33、6#include stdio.h #include math.h #define N 300double maxsubdouble *x, double n, double ave double max ;inti,j=0 ;ifave=0 max=*x ;fori=1 ; in ; i+ ifmax*x+imax=*x+i; j+ ; return max;else欢迎下载精品学习资源return j ;void main double yN, m, aver ;inti ;fori=0 ; iN ; i+ yi=10*cos3.0+i*i/5;aver=maxsuby, N, 0 ;m=
34、maxsuby, N, aver ;printfaver=%fnm=%fn,aver, m;欢迎下载精品学习资源158编一函数 ,统计一维整数组小于数组元素平均值地元素地个数;主函数定义x50,xi=600*cosi*0.35,调用函数 ,输出小于数组元素平均值地元素地个数.必需使用 while 语句 .27.000000 #include stdio.h#include math.h #define N 50float avernumfloat y,int nfloat v,s=0 ;int count=0,i=0 ;whileins+=yi ;i+ ; v=s/n;i=0 ;whilein
35、ifyiv count+;欢迎下载精品学习资源i+ ;returncount ;欢迎下载精品学习资源void mainfloat xN;inti=0 ;whileiN xi=600*cosi*0.35;i+ ; printf%fn,avernumx,50;编一函数,求有 50个元素地一维整数组中最大值位置置;主函数中定义y50 , yj=600*sinj*0.16,调用函数,输出最大值及其位置.要求必需使用 for 语句 .599.9413550.000000#include stdio.h #include math.hdouble maxsubdouble x,intnum,double
36、maxinti,j ;double m=0.00000 ;m=x0 ;j=0 ;ifmax=0fori=1 ;im159 m=xi ;j=i ;return m ;else returnj ;void main double a50,max,m ;inti ;fori=0 ;i50 ;i+ ai=600*sini*0.16;max=maxsuba,50,0 ;欢迎下载精品学习资源m=maxsuba,50,max ;printfm=%f,J=%fn,max,m;求一维实型数组中最大元素.要求:主函数中定义含有300 个元素地数组 x, xi=10* cos 3.0+i*i /5欢迎下载精品学习资
37、源i=0,1,2 29,9调 while 语句实现 . #includemath.h #includestdio.h #define N 300用自定义函数qmax 求出最大元素,然后在主函数中输出结果.要求必需使用欢迎下载精品学习资源162float qmaxfloat a,int nInti=1 ;float max=a0 ;WhileiN ifmaxai max=ai ;i+ ; return max ;欢迎下载精品学习资源void maininti=0 ;float xN,max ;While ( iN ) xi=10*cos3.0+i*i/5;i+ ; max=qmaxx,N ;printf%10.4fn,max;求一维整型数组中地最小元素.要求:主函数定义数组y50 , yj=600*sinj*0.16 j=0,1,2,4调9用自定义函数qmin 求出最小元素,最终在主函数中输出结果.要求必需使用 for 语句实现 . -598 #include stdio.h#include math.hmain int y50,min, j; int qmin
限制150内