C语言操作题常考编程试题库.docx
- 文档编号:25480584
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:14
- 大小:16.40KB
C语言操作题常考编程试题库.docx
《C语言操作题常考编程试题库.docx》由会员分享,可在线阅读,更多相关《C语言操作题常考编程试题库.docx(14页珍藏版)》请在冰豆网上搜索。
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)*,b=20+(i-1200)*,c=84+(i-2000)*;
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); } 数有限项求和(以格里高利公式求π为例)个一维数组相加一组数的最大最小值*/ /*#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); } } 钱买百鸡(题目见书P115)最大公约数和最小公倍数,函数实现*/ #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); } 序用递归函数求阶乘用递归函数求斐波拉契数列(前30项)*/ #include<> intf(intn) { if(n==1||n==2) return1; else returnf(n-1)+f(n-2); } voidmain() { inti,k=0; for(i=1;i<=30;i++) { printf("%d\t",f(i)); k++; if(k%5==0) printf("\n"); } printf("\n"); } a+aa+aaa+aaaa...符合条件的整数(如是某个二位数的平方,个位、十位、百位数各不相同等)符串加密计字符串中字母和数字的个数// #include<> #include<> #include<> #defineN100 voidmain() { charstr[N]; inti=0; inta=0,b=0; printf("pleaseinputastring: \n"); gets(str); while(str[i]! ='\0'&&str[i]! ='\n') { if(isdigit(str[i])) a++; elseif(isalpha(str[i])) b++; i++; } printf("thereare%dlettersand%dnumbers\n",b,a); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 操作 题常考 编程 试题库