《2022年C语言基本编程题.docx》由会员分享,可在线阅读,更多相关《2022年C语言基本编程题.docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -复习题C 程序设计编程题1. 输入 2 个整数,求两数的平方和并输出;#include void main intt a ,b,s; printfplease input a,b:n; scanf%d%d ” ,&a,&b; s=a*a+b*b; printfthe result is %dn,s; 2. 输入一个圆半径(提示信息;r ),当 r 0 时,运算并输出圆的面积和周长,否就,输出#include #define PI 3.14 void main float r ,s , l; printfple
2、ase input r:n; scanf%f” ,&r; if r=0 s=pi*r*r; l=2*i*r ; printfthe area is %fn,s; printfthe circumference is %fn,l; else printfinput error.n; 3、函数 y=fx 可表示为: 2x+1 x0 第 1 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -编程实现输
3、入一个 x 值,输出 y 值;#include void main int x,y; scanf “ %d” ,&x; ifx0 y=2*x-1; else y=0; printf“ %d” ,y;, 并显示此数;4、编写一个程序, 从 4 个整数中找出最小的数#include void main int a,b,c,d,t; scanf “ %d,%d,%d,%d ” ,&a,&b,&c,&d; if ab t=a; a=b; b=t; if ac t=a; a=c; c=t; if ad t=a; a=d; d=t; printf “ min = %d n” ,a; 5有一函数当 x0 时
4、, y=3,当 x=0 时 y=5,编程,从键盘输入一个 x 值,输出 y 值;#include void main int x,y; scanf%d,&x; if x0 y=1; else ifx=0 y=5; else y=3; printfx=%d,y=%dn,x,y; 6从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中 调用该函数)第 2 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - -
5、 - - - - - -#include float maxfloat x,float y; void main float a,b,m; scanf%f,%f,&a,&b; m=maxa,b; printfMax is %fn,m; float maxfloat x,float y float temp; if xy temp=x; x=y; y=temp; returnx; 7、从键盘输入你和你伴侣的年龄,编成判定谁的年龄最大,并打印最大者的年龄;#include void main int yourAge, hisAge; printfPlease enter your age:; sc
6、anf%d, &yourAge; /*输入你的年龄yourAge*/ printfPlease enter your friends age:; scanf%d, &hisAge; /*输入你伴侣的年龄hisAge*/ if yourAge = hisAge printfYou are older. Your age is = %dn, yourAge; if hisAge yourAge printfYour friend is older. HisAge age is = %dn, hisAge; 8、键盘输入2 个加数,再输入答案,假如正确,显示“right” ,否就显示“error ”
7、#include “ stdio.h”void main 第 3 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -int a,b,c; printf“ please input a and bn” ; scanf %d,%d ” ,&a,&b; printf“ please input the answer for a+bn” ; scanf %d ”,&c; if c=a+b printf“
8、 rightn” ; else printf“ errorn” ; 9. 编一程序每个月依据每个月上网时间运算上网费用,运算方法如下:30 元 10 小时费用 每小时 3 元 10 50 小时每小时 2 . 5 元 50 小时要求当输入每月上网小时数 , 显示该月总的上网费用 6 分 #include void main int hour; float fee; printf“ please input hour:n” ; scanf“ %d” ,&hour; ifhour=10&hour=50 fee=3*hour; else fee=hour*2.5; printf“ The total
9、fee is %f”,fee; 10. 神州行用户无月租费,话费每分钟0.6 元,全球通用户月租费50 元,话费每分钟 0. 4 元;输入一个月的通话时间,分别运算出两种方式的费用,判定哪一种合适;#include void main float a,x,y; printf“ n 请输入您的话费:”; scanf“ %f, ” ,&a; 第 4 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -
10、 x= 0.6*a; y=50+0.4*a; printf “ 神州行话费为n” ,x;printf “ 全球通话费为n” ,y;if x=y printf“ 建议使用全球通”; else printf“ 建议使用神州行; 11个人所得税运算,应纳税款的运算公式如下:收入 税率收入 收入 1000 元的部分 53000 元收入 2000 元的部分 106000 元收入 3000 元的部分 15收入 6000 元的部分 20输入某人的收入,运算出应纳税额及实际得到的酬劳;(7 分)(如需连续运算多个人的纳税情形,直到输入负数为止,程序应如何改进?试写出程序)#include “ stdio.h”
11、void main int grade; float income,tax,money; printf“ please input your incomen” ; scanf “ %f” ,&income; if income0 printf“ the input is error” ; else grade=intincome/1000; switchgrade case 0 : tax=0;break; case 1 : tax=income-1000*0.05;break; case 2 : tax=50+income-2000*0.1;break; 第 5 页 共 17 页细心整理归纳
12、 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - case 3 : case 4 : case 5 : tax=150+income-3000*0.15;break; default: tax=600+income-6000*0.2; money=income-tax; printf“ n tax=%f, money=%f” ,tax, money; 12. 从键盘上输入一个百分制成果 score ,按以下原就输出其等级
13、:score 90,等级 为 A;80score90 ,等级为 B;70score80 ,等级为 C; 60score70 ,等级为 D;score60 ,等级为 E; #include void main int data; char grade; printfPlease enter the score:; scanf%d ” , &data; switchdata/10 case 10: case 9 : grade=A; break; case 8: grade=B; break; case 7: grade=C; break; case 6: grade=D; break; defa
14、ult: grade=E; printfthe grade is %c” ,grade; *13. 编程设计一个简洁的运算器程序;从键盘输入2 个操作数, 1 个运算符,当运算符为加( +)、减( - )、乘( * )、除( / )时,输出运算结果 #include void main int data1, data2; /*定义两个操作符*/ char op; /*定义运算符 */ printfPlease enter the expression:; scanf%d%c%d, &data1, &op, &data2; /*输入运算表达式*/ 第 6 页 共 17 页细心整理归纳 精选学习资
15、料 - - - - - - - - - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -switchop /*依据输入的运算符确定要执行的运算*/ case +: /* 处理加法 */ printf%d + %d = %d n, data1, data2, data1 + data2; break; case -: /* 处理减法 */ printf%d - %d = %d n, data1, data2, data1 - data2; break; case *: /*
16、 处理乘法 */ printf%d * %d = %d n, data1, data2, data1 * data2; break; case /: /*处理除法 */ 0*/ if 0 = data2 /*为防止显现溢出错误,检验除数是否为printfDivision by zero.n; else printf%d / %d = %d n, data1, data2, data1 / data2; break; default: printfUnknown operator. n; 14. 从键盘输入 10个整数,统计其中正数、负数和零的个数,并在屏幕上输出;#include void m
17、ain int a10, i,p=0,n=0,z=0; printf“ please input number”; fori=0;i0 p+; else if ai0 n+; else z+ printf“ 正数: %5d, 负数: %5d,零:n” ,p,n,z; 15、编程序实现求 1-10 之间的全部数的乘积并输出;#include 第 7 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - -
18、-void main int i;long sum=1; fori=1; i=10; i=i+1 sum=sum*i; printf“ the sum of odd is :%l d” ,sum; 16. 从键盘上输入 10 个数,求其平均值; #include void main int a10,i,s=0; float ave; fori=0;i10;i+ scanf “ %d” ,&ai; fori=0;i10;i+ sum+=ai; ave=floatsum/10; printfave = %fn, ave; 17、编程序实现求 1-1000 之间的全部奇数的和并输出; #includ
19、e void main int i, sum=0; fori=1; i1000; i=i+2 sum=sum+i; printf“ the sum of odd is :%d” ,sum; 18. 有一个分数序列:2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13 编程求这个序列的前 20 项之和;#include void main int i,t,n=20; float a=2,b=1,s=0; fori=1;i=n;i+ 第 8 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 17 页 - - - - -
20、 - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -s=s+a/b; t=a; a=a+b; b=t; printfsum=%6.2f,s; 19. 用数组实现以下功能:输入 出来;#include void main int a5, s=0; int i; fori=0;i5;i+ 5 个同学成果,而后求出这些成果的平均值并显示scanf “ %d”,&ai; fori=0;i5;i+ s=s+ai; printf“ result=%f” ,s/5.0; 20、用循环的方法构造一个5 行 5 列的二维数组, 使主对角线上的变量为1,其它为0
21、,并将数组中全部项按行按列显示出来;#include void main int a55,i,j, s=0; fori=0;i5;i+ forj=0;j5;j+ ifi=j aij=1; else aij=0; fori=0;i5;i+ forj=0;j5;j+ printf“ %5d”, aij; “ n ” ; printf 第 9 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -21求一
22、个3 3 矩阵主对角线元素之和;从键盘输入矩阵元素的值并输出和的值. #include void main int a33,sum=0; int i,j; printfEnter data:n; fori=0;i3;i+ forj=0;j3;j+ scanf%d,&aij; fori=0;i3;i+ sum=sum+aii; printfsum=%d,sum; 22. 输入 n 的值, n 代表行数,输出如下列图的图形; * * * * * * * * * * * * * * * * * * * * * 此图为 n6 时的输出结果 #include void main int i , k ,
23、n; printfEnter number:n; scanf%d,&n; for i = 1; i = n; i+ /* 掌握行数 */ for k = 1; k = i; k+ /* 掌握每行输出的 * 号个数 */ printf*; printfn; /*输出一行后换行*/ 23、从键盘输入 30 名同学的成果数据,求其中的最高分、最低分和平均分;(提示:用数组存放成果数据) #include #define M 30 void main 第 10 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 17 页 - - -
24、 - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - float scoreM, max , min, aver; int i ; printf“ please input score: n” ; fori=0; iM ; i+ scanf“%f” , &scorei; max=score0; min=score0; aver=score0; fori=1; iM; i+ if max scorei min=scorei; aver+=scorei; printf“ max=%f, min=%f,aver=%f” , max, min
25、, aver/M; 24. 从键盘输入某班同学某门课的成果及其学号(班级人数最多 40 人,详细人数由 键盘输入),输出该班最高分和最低分及其同学学号;并输出该班该课程的总分和平均分;请编写程序;#include #define ARR_SIZE 40 void main float scoreARR_SIZE, maxScore,minScore,sum; int n, i; long maxNum, minNum,numARR_SIZE; printfPlease enter total number:; scanf%d, &n; printfPlease enter the number
26、 and score:n; for i=0; in; i+ scanf%ld%f, &numi, &scorei; maxScore = score0;minScore= score0; maxNum = num0; minNum= num0; sum=score0; for i=1; i maxScore maxScore = scorei; maxNum = numi; else if scorei minScore minScore = scorei; minNum = numi; sum=sum+scorei; printfmaxScore = %.0f, maxNum = %ldn,
27、 maxScore, maxNum; printfminScore = %.0f, minNum = %ldn, minScore, minNum; printfsum = %.1f, average = %.1fn, sum, sum/n; 25. 将一个有 5 个元素的数组中的值 整数 按逆序重新存放;例 : 原先次序为 :8 、6、5、4、1,要求改为 1、4、5、6、8 #define N 5 #include void main int aN,i,temp; printf“ enter array a:n” ; fori=0;iN;i+ scanf“%d” ,&ai; fori=0;
28、iN;i+ temp=ai; ai=aN-i-1; aN-i-1=temp; printf“ n Now, array a:n” ; fori=0;iN;i+ printf“ %4d”,ai; printf“ n ” ; 第 12 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -26. 从键盘上输入一个2*3 的矩阵,将其转秩后形成3*2 的矩阵输出;#include void main i
29、nt a23, b32,i,j; fori=0;i2;i+ forj=0;j3;j+ scanf“ %d”,&aij; fori=0;i3;i+ forj=0;j2;j+ bij=aji; fori=0;i3;i+ forj=0;j2;j+ printf%5d,bij; printfn”; 29、从键盘输入10 名同学的成果数据,按成果从高到低的次序排列并输出;(提示:用数组存放成果数据)#include void main int a10; int i,j,temp; printfinput score:n; fori=0;i10;i+ scanf%d,&ai; printfn; fori=
30、1;i10;i+ forj=0;j9;j+ ifajaj+1 temp=aj; aj=aj+1; aj+1=temp; fori=0;i10;i+ printf%d,ai; 30. 定义一个 5 行 3 列的数组,从键盘输入各数组元素的值,运算各数组元素之和;第 13 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -#include void main int i, j ,a53; prin
31、tf“ Enter data:n” ; fori=0;i5;i+ forj=0;j3;j+ scanf“ %d” ,&aij; fori=0;i5;i+ forj=0;j3;j+ sum=sum+aij; printf“ sum=%5dn” ,sum; 32、从键盘上输入一个4*3 的整型数组, 找出数组中的最小值及其在数组中的下标;#include void main int a43, i , j ,min,m,n; printfPlease enter data:; for i=0; i4; i+ for j=0; j3; j+ scanf“ %d”,& aij; min=a00; m=0
32、; n=0; for i=0; i4; i+ for j=0; j3; j+ if aijmin min= aij; m=i; n=j; printfthe min is %dn, min; printfposion is %d %d n, m,n; 33编程实现如下功能:从键盘输入一行字符,统计其中大写英文字符,小写英文字符和其他字符的个数;#include #include #define ARR_SIZE 80 第 14 页 共 17 页细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 17 页 - - - - - - - - -
33、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -void main char strARR_SIZE; int len, i, letter = 0, digit = 0, space = 0, others = 0; printfPlease input a string:; getsstr; len = strlenstr; for i=0; i= a & stri = A & stri = 0 & stri = 9 digit +; /* else 统计数字字符 */ others +; /*统计其它字符的个数*/ printfEnglish character: %dn, letter; printfdigit character: %dn, digit; printfother character: %dn, others; *36 、猜数嬉戏;系统随机产生一个整数,通过键盘输入数据猜数,猜对为止,并要求统计猜的次数;注: rand