admin 管理员组文章数量: 887021
2023年12月24日发(作者:foreach获取index)
C语言操作题常考编程题库
C语言编程题覆盖到的算法:
1、 个人所得税计算;
2、 求一组数的正、负数(或奇、偶数)的个数 和平均值;
3、 二维数组主、次对角线之和;
4、 求素数(用函数实现);
5、 级数有限项求和问题;
6、 两个一维数组相加(用函数实现);
7、 求最大、最小值;
8判断闰年(用函数实现);
9、 求水仙花数;
10、 百钱百鸡;
11、 求最大公约数、最小公倍数。
12、 求回文数;
13、14、二维数组的转置15、16、17、18、方,个位、十位、百位数各不相同等);数,回文,完数,等等19、20、 排序;
;
递归函数求阶乘;
求斐波那契数列;
求和:a+aa+aaa+aaaa+....;
求符合条件的整数(如:是某个二位数的平
(包括素)
字符串加密;
统计字符串中字母和数字的个数;
/*1.个人所得税计算,以实验指导P24T5为标准
*/
#in clude
void mai n()
{
int i,n;
double a,b,c;
n=i/400;
prin tf("please in put in come: n");
sca nf("%d",&i);
a=(i-800)*0.05,b=20+(i-1200)*0.08,c=84+
(i-2000)*0.2;
switch( n)
{
case 0:
case 1:pri ntf("
case 2:pri ntf("
case 3:
case 4:pri ntf("
default:pri ntf("
n",c);break;
}
不需缴税n");break;
需交纳
%lf
兀n",a);break;
需交纳
%lf
兀n",b);break;
需交纳
%lf
元
/*2.求一组数的奇数个数,偶数个数和平均值
#in
clude
#defi ne N 10
void mai n()
{
int a[N];
int i,m=0, n=0,sum=0;
double average;
prin tf("please in put 10 nu mbers:n");
for(i=O;i { sca nf("%d", &a[i]); if(a[i]%2==0) m++; else n++; sum+=a[i]; } average=(double)sum/N; prin tf("we eve nsn", n,m); prin tf("average=%lfn",average); }*/ /*2'.求一组数的正数个数和负数个数与平均值 */ #in clude #defi ne N 10 void mai n() { int a[N]; have %d odds and %d int i,m=0, n=0,sum=0; double average; prin tf("please in put 10 nu mbers: n"); for(i=O;i { sca nf("%d", &a[i]); if(a[i]>0) m++; else n++; sum+=a[i]; } average=(double)sum/N; prin tf("we have %dpositive n umbers and %d n agetive nu mbersn",m, n); prin tf("the average =%lf",average); } /*3.求二维数组的主次对角线之和*/ #in clude #defi ne N 5 void mai n() { int a[M][N]; int i,j,sum1=0,sum2=0; prin tf("please in put the matrix:n"); for(i=0;i { for(j=0;j { sca nf("%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("主对角线和为 %dn",sum1); printf("次对角线和为 %dn",sum2); } /*4.调用函数判断素数*/ #in clude #in clude int isPrime(i nt n) { int i; for(i=1;i { if(n %i==0) return 0; } return 1; } void mai n() { int n,i; prin tf("please in put a n umber n"); sea nf("%d",&n); i=isPrime( n); if(i) prin tf("%d is a primen", n); else } prin tf("%d is n ot a primen", n); 〃5.级数有限项求和(以格里高利公式求 例)〃 #in clude #in clude void mai n() { int n=1; double p=O,t,pi; t=1/(pow((-1),( n+1))*2*( n-1)); while(fabs(t)>=1e-6) { pi+=t; n++; } n为 } pi=4*p; prin tf("%lf",pi);} 〃6.两个一维数组相加// /*# in clude void mai n() { int a[N],b[N],c[N]; int i; prin tf("please in put the first a[N]:n"); for(i=0;i { sca nf("%d", &a[i]); } prin tf("please in put the sec ond array array b[N]:n"); for(i=0;i { scanf("%d",&b[i]); } for(i=0;i { c[i]=a[i]+b[i]; } prin tf("the sum is: n"); for(i=0;i prin tf("%dt",c[i]); }*/ //6.1调用函数实现// { #in clude #defi ne N 5 int f(i nt a,i nt b) int sum; sum=a+b; return sum; } void mai n() { int a[N],b[N],c[N]; int i; prin tf("please in put the first a[N]:n"); for(i=0;i { sca nf("%d", &a[i]); } { prin tf("please in put the sec ond b[N]:n"); for(i=0;i sea nf("%d",&b[i]); } for(i=0;i { e[i]=f(a[i],b[i]); } prin tf("the sum is:n"); for(i=0;i } array array /*7.求一组数的最大最小值*/ /*# in clude int a[10]; prin tf("please in put ten n umbers' n"); for(i=0;i<10;i++) { sca nf("%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]; } } prin tf("max is %d,min is %dn",max,mi n); } */ /*随机数*/ #in clude #in clude void mai n() { int i,max,mi n; int a[10]; for (i=0;i<10;i++) { a[i]=ra nd()%90+10; prin tf("%dt",a[i]); } max=a[O]; min=a[0]; for(i=1;i<10;i++) { if(a[i]>max) max=a[i]; if(a[i] min=a[i]; } prin tf("max=%dtmi n=%dn",max,mi n); } /*8.判断闰年*/ #in clude n%400==0) return 1; else return 0; } void mai n() { int n; prin tf("please in put year:' n"); sca nf("%d",&n); if(f(n)) printf("%d 是闰年 n",n); else printf("%d 不是闰年 n",n); } /*可能会有要输出某一范围内所有闰年, 思想一 样,用循环调用函数即可*/ /*9.判断水仙花数(运用循环) #in clude void mai n() { int n,a,b,c,m; prin tf("please in put a n umber: n"); sca nf("%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("%d is the number we wantn",n); else prin tf("%d is not the n umber n", n); }*/ /*9'.输出所有水仙花数(调用函数 循环做法))*/ #in clude int f(i nt n) { int a,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) 书P108为( return 1; else return 0; } void mai n() voido・ hmainv ︒ =H=inc-u5d)e二 ASs:i=^K. I(巴) P1fT+()三 宀 OforX ﹂O(O耳O Oinf Lrr 宀 関四自出 for(j=0;jv=33;j++) { for(k=3;k<=99;k+=3) { if((i+j+k==lO0)&&( 5*i+3*j+k/3==100)) printf(“ 公鸡%宀只,母鸡%宀只,小鸡 %d只 n",i,j,k); } } } } /*11.求最大公约数和最小公倍数,函数实现*/ #in clude int f(int m,i nt n) { int i=1,t; if(m { t=m; m=n; n=t } while((i=m% n)!=0) { m=n; n=i; } return n; } int g(i nt m,i nt n) int i,j; i=f(m, n); j=m* n/i; return j; } void mai n() { int m, n,a,b; prin tf("please in put two n umbers:n"); sea nf("%d %d",&m,&n); a=f(m, n); b=g(m, n); printf(" 最大公约数为%dn",a); printf(" 最小公倍数为%dn",b); 〃12.1输出10-2000之间的回文数(循环)// /*# in clude void mai n() } { int i,j,k=0,a; prin tf("10-2000 之间的回文数有: for(i=10;iv=2000;i++) { a=i; j=0; while(a>0) { n"); j=j*10+a%10; a/=10;if(i==j) { prin tf("%dt",i); } k++; if(k%5==0) prin tf("n"); } } prin tf("n"); }*/ //12.2输出10-2000之间的回文数(函数调用) // /*# in clude int f(i nt n) { int i=0; while( n>0) { i=i*10+n%10; n/=10; } return i; } void mai n() { int n,k; prin tf("10-2000 之间的回文数有: for(n=10; n<=2000; n++) { if(n==f(n)) { n"); prin tf("%dt", n); k++; if(k%5==0) prin tf("n"); } } prin tf("n"); }*/ //12.3判断回文数(循环)// /*# in clude void mai n() { int i,a,j=0; prin tf("please input a nu mber:n"); scanf("%d",&i); a=i; while(a>0) j=j*10+a%10; a/=10; } if(j==i) printf("%d else printf("%d 不是回文数 n",i); }*/ 是回文数 n",i); //12.4判断回文数(函数调用)// #in clude int f(i nt n) { int i=0; while( n>0) { i=i*10+n%10; n/=10; } return i; } void mai n() { int n; prin tf("please in pit a n umber:n"); sea nf("%d",&n); if(n==f(n)) printf("%d else printf("%d } 是回文数 n",n); 不是回文数 n",n); 〃13.排序// //选择法// /*# in clude #defi ne N 10 void f(i nt a[],i nt n) { int i,j,k,t; for(i=0;i<=n ;i++) { k=i; for(j=i+1;j< n;j++) {
版权声明:本文标题:C语言操作题常考编程题库 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1703386221h449056.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论