C语言操作题常考编程题库.docx
- 文档编号:15063402
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:29
- 大小:18.54KB
C语言操作题常考编程题库.docx
《C语言操作题常考编程题库.docx》由会员分享,可在线阅读,更多相关《C语言操作题常考编程题库.docx(29页珍藏版)》请在冰点文库上搜索。
C语言操作题常考编程题库
C语言编程题覆盖到算法:
1、个人所得税计算;
2、求一组数正、负数(或奇、偶数)个数和平均值;
3、二维数组主、次对角线之和;
4、求素数(用函数实现);
5、级数有限项求和问题;
6、两个一维数组相加(用函数实现);
7、求最大、最小值;
8、判断闰年(用函数实现);
9、求水仙花数;
10、百钱百鸡;
11、求最大公约数、最小公倍数。
12、求回文数;
13、排序;
14、二维数组转置;
15、递归函数求阶乘;
16、求斐波那契数列;
17、求和:
a+aa+aaa+aaaa+....;
18、求符合条件整数(如:
是某个二位数平方,个位、十位、百位数各不相似等);(涉及素数,回文,完数,等等)
19、字符串加密;
20、记录字符串中字母和数字个数;
/*1.个人所得税计算,以实验指引P24T5为原则*/
#include
voidmain()
{
inti,n;
doublea,b,c;
n=i/400;
printf("pleaseinputincome:
\n");
scanf("%d",&i);
a=(i-800)*0.05,b=20+(i-1200)*0.08,c=84+(i-)*0.2;
switch(n)
{
case0:
case1:
printf("不需缴税\n");break;
case2:
printf("需交纳%lf元\n",a);break;
case3:
case4:
printf("需交纳%lf元\n",b);break;
default:
printf("需交纳%lf元\n",c);break;
}
}
/*2.求一组数奇数个数,偶数个数和平均值
#include
#defineN10
voidmain()
{
inta[N];
inti,m=0,n=0,sum=0;
doubleaverage;
printf("pleaseinput10numbers:
\n");
for(i=0;i { scanf("%d",&a[i]); if(a[i]%2==0) m++; else n++; sum+=a[i]; } average=(double)sum/N; printf("wehave%doddsand%devens\n",n,m); printf("average=%lf\n",average); }*/ /*2'.求一组数正数个数和负数个数与平均值*/ #include #defineN10 voidmain() { inta[N]; inti,m=0,n=0,sum=0; doubleaverage; printf("pleaseinput10numbers: \n"); for(i=0;i { scanf("%d",&a[i]); if(a[i]>0) m++; else n++; sum+=a[i]; } average=(double)sum/N; printf("wehave%dpositivenumbersand%dnagetivenumbers\n",m,n); printf("theaverage=%lf",average); } /*3.求二维数组主次对角线之和*/ #include #defineM5 #defineN5 voidmain() { inta[M][N]; inti,j,sum1=0,sum2=0; printf("pleaseinputthematrix: \n"); for(i=0;i { for(j=0;j { scanf("%d",&a[i][j]); } } for(i=0,j=0;i { sum1+=a[i][j]; } for(i=0,j=N-1;i { sum2+=a[i][j]; } printf("主对角线和为%d\n",sum1); printf("次对角线和为%d\n",sum2); } /*4.调用函数判断素数*/ #include #include intisPrime(intn) { inti; for(i=1;i { if(n%i==0) return0; } return1; } voidmain() { intn,i; printf("pleaseinputanumber\n"); scanf("%d",&n); i=isPrime(n); if(i) printf("%disaprime\n",n); else printf("%disnotaprime\n",n); } //5.级数有限项求和(以格里高利公式求π为例)// #include #include voidmain() { intn=1; doublep=0,t,pi; t=1/(pow((-1),(n+1))*2*(n-1)); while(fabs(t)>=1e-6) { pi+=t; n++; } pi=4*p; printf("%lf",pi); } //6.两个一维数组相加// /*#include #defineN5 voidmain() { inta[N],b[N],c[N]; inti; printf("pleaseinputthefirstarraya[N]: \n"); for(i=0;i { scanf("%d",&a[i]); } printf("pleaseinputthesecondarrayb[N]: \n"); for(i=0;i { scanf("%d",&b[i]); } for(i=0;i { c[i]=a[i]+b[i]; } printf("thesumis: \n"); for(i=0;i printf("%d\t",c[i]); }*/ //6.1调用函数实现// #include #defineN5 intf(inta,intb) { intsum; sum=a+b; returnsum; } voidmain() { inta[N],b[N],c[N]; inti; printf("pleaseinputthefirstarraya[N]: \n"); for(i=0;i { scanf("%d",&a[i]); } printf("pleaseinputthesecondarrayb[N]: \n"); for(i=0;i { scanf("%d",&b[i]); } for(i=0;i { c[i]=f(a[i],b[i]); } printf("thesumis: \n"); for(i=0;i printf("%d\t",c[i]); } /*7.求一组数最大最小值*/ /*#include voidmain() { inti,max,min; inta[10]; printf("pleaseinputtennumbers\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } max=a[0]; min=a[0]; for(i=1;i<10;i++) { if(a[i]>max) { max=a[i]; } if(a[i] { min=a[i]; } } printf("maxis%d,minis%d\n",max,min); } */ /*随机数*/ #include #include voidmain() { inti,max,min; inta[10]; for(i=0;i<10;i++) { a[i]=rand()%90+10; printf("%d\t",a[i]); } max=a[0]; min=a[0]; for(i=1;i<10;i++) { if(a[i]>max) max=a[i]; if(a[i] min=a[i]; } printf("max=%d\tmin=%d\n",max,min); } /*8.判断闰年*/ #include intf(intn) { if(n%4==0&&n%100! =0||n%400==0) return1; else return0; } voidmain() { intn; printf("pleaseinputyear: \n"); scanf("%d",&n); if(f(n)) printf("%d是闰年\n",n); else printf("%d不是闰年\n",n); } /*也许会有要输出某一范畴内所有闰年,思想同样,用循环调用函数即可*/ /*9.判断水仙花数(运用循环) #include voidmain() { intn,a,b,c,m; printf("pleaseinputanumber: \n"); scanf("%d",&n); a=n/100; b=n/10%10; c=n%10; m=a*a*a+b*b*b+c*c*c; if(m==n) printf("%disthenumberwewant\n",n); else printf("%disnotthenumber\n",n); }*/ /*9'.输出所有水仙花数(调用函数(书P108为循环做法))*/ #include intf(intn) { inta,b,c,m; a=n/100; b=n/10%10; c=n%10; m=a*a*a+b*b*b+c*c*c; if(m==n) return1; else return0; } voidmain() { inti,t; for(i=100;i<1000;i++) { t=f(i); if(t==1) printf("%d\t",i); } } //10.百钱买百鸡(题目见书P115)// #include voidmain() { inti,j,k; for(i=0;i<=20;i++) { for(j=0;j<=33;j++) { for(k=3;k<=99;k+=3) { if((i+j+k==100)&&(5*i+3*j+k/3==100)) printf("公鸡%d只,母鸡%d只,小鸡%d只\n",i,j,k); } } } } /*11.求最大公约数和最小公倍数,函数实现*/ #include intf(intm,intn) { inti=1,t; if(m { t=m; m=n; n=t; } while((i=m%n)! =0) { m=n; n=i; } returnn; } intg(intm,intn) { inti,j; i=f(m,n); j=m*n/i; returnj; } voidmain() { intm,n,a,b; printf("pleaseinputtwonumbers: \n"); scanf("%d%d",&m,&n); a=f(m,n); b=g(m,n); printf("最大公约数为%d\n",a); printf("最小公倍数为%d\n",b); } //12.1输出10-之间回文数(循环)// /*#include voidmain() { inti,j,k=0,a; printf("10-之间回文数有: \n"); for(i=10;i<=;i++) { a=i; j=0; while(a>0) { j=j*10+a%10; a/=10; } if(i==j) { printf("%d\t",i); k++; if(k%5==0) printf("\n"); } } printf("\n"); }*/ //12.2输出10-之间回文数(函数调用)// /*#include intf(intn) { inti=0; while(n>0) { i=i*10+n%10; n/=10; } returni; } voidmain() { intn,k; printf("10-之间回文数有: \n"); for(n=10;n<=;n++) { if(n==f(n)) { printf("%d\t",n); k++; if(k%5==0) printf("\n"); } } printf("\n"); }*/ //12.3判断回文数(循环)// /*#include voidmain() { inti,a,j=0; printf("pleaseinputanumber: \n"); scanf("%d",&i); a=i; while(a>0) { j=j*10+a%10; a/=10; } if(j==i) printf("%d是回文数\n",i); else printf("%d不是回文数\n",i); }*/ //12.4判断回文数(函数调用)// #include intf(intn) { inti=0; while(n>0) { i=i*10+n%10; n/=10; } returni; } voidmain() { intn; printf("pleaseinpitanumber: \n"); scanf("%d",&n); if(n==f(n)) printf("%d是回文数\n",n); else printf("%d不是回文数\n",n); } //13.排序// //选取法// /*#include #defineN10 voidf(inta[],intn) { inti,j,k,t; for(i=0;i<=n;i++) { k=i;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 操作 题常考 编程 题库