C语言操作题常考编程题库Word格式.docx

上传人:b****4 文档编号:16497255 上传时间:2022-11-24 格式:DOCX 页数:26 大小:25KB
下载 相关 举报
C语言操作题常考编程题库Word格式.docx_第1页
第1页 / 共26页
C语言操作题常考编程题库Word格式.docx_第2页
第2页 / 共26页
C语言操作题常考编程题库Word格式.docx_第3页
第3页 / 共26页
C语言操作题常考编程题库Word格式.docx_第4页
第4页 / 共26页
C语言操作题常考编程题库Word格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C语言操作题常考编程题库Word格式.docx

《C语言操作题常考编程题库Word格式.docx》由会员分享,可在线阅读,更多相关《C语言操作题常考编程题库Word格式.docx(26页珍藏版)》请在冰豆网上搜索。

C语言操作题常考编程题库Word格式.docx

ﻩinta[N];

int i,m=0,n=0,sum=0;

double average;

printf("

please input 10 numbers:

\n"

ﻩfor(i=0;

i<

N;

i++)

ﻩﻩscanf("

%d"

,&

a[i]);

ﻩﻩif(a[i]%2==0)

m++;

ﻩelse

ﻩn++;

sum+=a[i];

}

ﻩaverage=(double)sum/N;

printf("

wehave %doddsand%d evens\n",n,m);

ﻩprintf("

average=%lf\n"

average);

}*/

/*2'.求一组数的正数个数和负数个数与平均值*/

#include<

stdio.h>

#defineN10

voidmain()

int a[N];

int i,m=0,n=0,sum=0;

ﻩdouble average;

printf("pleaseinput10numbers:

);

ﻩfor(i=0;

i++)

ﻩscanf("

%d",&

a[i]);

if(a[i]>

0)

m++;

ﻩﻩelse

ﻩﻩﻩn++;

ﻩﻩsum+=a[i];

average=(double)sum/N;

ﻩprintf("we have%dpositivenumbersand%dnagetivenumbers\n"

m,n);

ﻩprintf("

theaverage=%lf"

average);

/*3.求二维数组的主次对角线之和*/

#include<stdio.h>

#define M5 

#define N5

void main()

inta[M][N];

ﻩinti,j,sum1=0,sum2=0;

printf("

please inputthe matrix:

for(i=0;

i<M;

i++)

ﻩfor(j=0;

j<

N;

j++)

{

ﻩﻩscanf("%d",&

a[i][j]);

ﻩ}

for(i=0,j=0;

M;

i++,j++)

ﻩsum1+=a[i][j];

ﻩ}

for(i=0,j=N-1;

i++,j--)

ﻩ{

ﻩﻩsum2+=a[i][j];

ﻩprintf("

主对角线和为%d\n",sum1);

ﻩprintf("

次对角线和为%d\n"

sum2);

/*4.调用函数判断素数*/

#include<

#include<

math.h>

int isPrime(intn)

inti;

ﻩfor(i=1;

sqrt(n);

i++)

if(n%i==0)

return0;

return 1;

voidmain()

intn,i;

printf("

pleaseinputanumber\n"

scanf("

%d"

n);

i=isPrime(n);

ﻩif(i)

ﻩprintf("%disaprime\n"

n);

else

ﻩﻩprintf("%disnot aprime\n"

n);

//5.级数有限项求和(以格里高利公式求π为例)//

#include<stdio.h>

#include<math.h>

voidmain()

ﻩint n=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<stdio.h>

#defineN5

voidmain()

inta[N],b[N],c[N];

inti;

ﻩprintf("please input thefirstarraya[N]:

\n");

ﻩfor(i=0;

N;

ﻩ{

a[i]);

ﻩprintf("

please inputthesecond array b[N]:

ﻩfor(i=0;

ﻩscanf("

b[i]);

i<N;

ﻩc[i]=a[i]+b[i];

ﻩprintf("thesumis:

\n");

for(i=0;

printf("

%d\t",c[i]);

}*/

//6.1调用函数实现//

#include<

stdio.h>

#defineN5

int f(int a,intb)

intsum;

sum=a+b;

ﻩreturnsum;

voidmain()

inta[N],b[N],c[N];

inti;

ﻩprintf("pleaseinputthefirstarraya[N]:

ﻩfor(i=0;

ﻩscanf("

a[i]);

printf("pleaseinputthe secondarrayb[N]:

ﻩfor(i=0;

ﻩscanf("%d"

&b[i]);

for(i=0;

i<

ﻩc[i]=f(a[i],b[i]);

ﻩprintf("

thesumis:

\n"

ﻩfor(i=0;

ﻩprintf("

%d\t"

,c[i]);

/*7.求一组数的最大最小值*/

/*#include<

stdio.h>

voidmain()

ﻩinti,max,min;

inta[10];

ﻩprintf("pleaseinput tennumbers\n"

ﻩfor(i=0;

i<10;

ﻩscanf("%d"

&a[i]);

max=a[0];

ﻩmin=a[0];

ﻩfor(i=1;

10;

ﻩif(a[i]>max)

ﻩ{

ﻩﻩmax=a[i];

ﻩ}

ﻩif(a[i]<min)

ﻩ{

ﻩﻩmin=a[i];

ﻩﻩ}

printf("

max is%d,minis%d\n"

max,min);

*/

/*随机数*/

#include<stdio.h>

#include<

stdlib.h>

voidmain()

ﻩint i,max,min;

ﻩinta[10];

ﻩfor (i=0;

10;

i++)

a[i]=rand()%90+10;

ﻩﻩprintf("

%d\t"

,a[i]);

max=a[0];

ﻩmin=a[0];

for(i=1;

i<10;

ﻩﻩif(a[i]>

max)

ﻩﻩmax=a[i];

ﻩif(a[i]<

min)

min=a[i];

ﻩprintf("

max=%d\tmin=%d\n"

max,min);

/*8.判断闰年*/

#include<

stdio.h>

intf(intn)

ﻩif(n%4==0&

&n%100!

=0||n%400==0)

ﻩreturn 1;

ﻩelse

ﻩﻩreturn0;

ﻩintn;

ﻩprintf("pleaseinputyear:

ﻩscanf("

n);

if(f(n))

ﻩprintf("%d是闰年\n"

,n);

else

ﻩprintf("

%d不是闰年\n"

/*可能会有要输出某一范围内所有闰年,思想一样,用循环调用函数即可*/

/*9.判断水仙花数(运用循环)

#include<stdio.h>

void main()

intn,a,b,c,m;

printf("

pleaseinput anumber:

ﻩscanf("

&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("

%dis the numberwewant\n"

else

ﻩﻩprintf("

%dis notthe number\n"

,n);

/*9'.输出所有水仙花数(调用函数(书P108为循环做法))*/

#include<

stdio.h>

int f(int 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)

ﻩﻩreturn1;

ﻩﻩreturn 0;

ﻩinti,t;

ﻩfor(i=100;

1000;

ﻩt=f(i);

ﻩif(t==1)

ﻩﻩﻩprintf("

%d\t"

,i);

//10.百钱买百鸡(题目见书P115)//

#include<

stdio.h>

voidmain()

inti,j,k;

ﻩfor(i=0;

i<=20;

ﻩ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<stdio.h>

intf(intm,intn)

ﻩinti=1,t;

ﻩif(m<

n)

t=m;

m=n;

n=t;

while((i=m%n)!

=0)

ﻩﻩm=n;

ﻩﻩn=i;

returnn;

intg(intm,intn)

int i,j;

ﻩi=f(m,n);

ﻩj=m*n/i;

ﻩreturnj;

ﻩintm,n,a,b;

pleaseinputtwo numbers:

scanf("

%d%d"

,&m,&n);

ﻩa=f(m,n);

b=g(m,n);

最大公约数为%d\n"

a);

printf("

最小公倍数为%d\n"

b);

//12.1输出10-2000之间的回文数(循环)//

/*#include<

voidmain()

inti,j,k=0,a;

printf("

10-2000之间的回文数有:

for(i=10;

i<=2000;

ﻩ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("

ﻩprintf("\n"

}*/

//12.2输出10-2000之间的回文数(函数调用)//

/*#include<

stdio.h>

int f(intn)

inti=0;

ﻩwhile(n>

i=i*10+n%10;

ﻩn/=10;

ﻩreturn i;

void main()

int n,k;

10-2000之间的回文数有:

\n"

for(n=10;

n<

=2000;

n++)

ﻩif(n==f(n))

printf("

ﻩk++;

if(k%5==0)

ﻩﻩﻩprintf("

ﻩ}

printf("

}*/

//12.3判断回文数(循环)//

/*#include<stdio.h>

void main()

int i,a,j=0;

pleaseinput anumber:

\n");

ﻩscanf("

i);

a=i;

while(a>

j=j*10+a%10;

ﻩﻩa/=10;

ﻩif(j==i)

ﻩprintf("

%d是回文数\n",i);

else

ﻩﻩprintf("

%d不是回文数\n"

i);

//12.4判断回文数(函数调用)//

#include<

stdio.h>

int f(intn)

ﻩinti=0;

ﻩwhile(n>0)

ﻩi=i*10+n%10;

n/=10;

returni;

voidmain()

ﻩintn;

printf("

pleaseinpitanumber:

ﻩscanf("

n);

ﻩif(n==f(n))

ﻩprintf("

%d是回文数\n"

n);

ﻩprintf("

%d不是回文数\n"

//13.排序//

//选择法//

/*#include<

stdio.h>

#defineN10

voidf(int a[],intn)

inti,j,k,t;

for(i=0;

=n;

k=i;

ﻩﻩfor(j=i+1;

n;

j++)

ﻩﻩ{

ﻩif(a[j]<a[k])

ﻩﻩﻩk=j;

ﻩﻩif(k!

=i)

t=a[k];

ﻩﻩa[k]=a[i];

ﻩﻩa[i]=t;

voidmain()

inta[N]={8,2,34,5,12,78,4,78,76,9};

ﻩinti=0;

ﻩintsize=sizeof(a)/sizeof(int);

ﻩfor(i=0;

printf("

%4d",a[i]);

printf("\n");

ﻩf(a,size);

ﻩﻩprintf("

%4d"

,a[i]);

printf ("\n"

//冒泡法//

#include<stdio.h>

#defineN5

voidf(inta[],intn)

int i,j;

ﻩintt;

ﻩfor(i=0;

i<n-1;

i++)

for(j=0;

j<n-1-i;

if(a[j]>a[j+1])

ﻩﻩﻩ{ﻩ

ﻩﻩt=a[j];

ﻩﻩa[j]=a[j+1];

ﻩﻩﻩﻩa[j+1]=t;

ﻩ}

//插入法//

#include<stdio.h>

#defineN5

voidf(inta[],int n)

inti,j;

ﻩintt;

for(i=0;

i<n;

t=a[i];

ﻩj=i;

ﻩﻩwhile(j>

0&

a[j-1]>

t)

ﻩ{

ﻩﻩﻩa[j]=a[j-1];

ﻩ--j;

a[j]=t;

void main()

ﻩinta[N]={8,2,34,5,12};

ﻩint i=0;

ﻩintsize=sizeof(a)/sizeof(int);

printf("%4d"

,a[i]);

ﻩprintf("

ﻩf(a,size);

i++)

%4d"

,a[i]);

ﻩprintf ("

//二维数组的转置//

#include<

stdio.h>

#defineN3

#define M 3

voidmain()

inta[M][N],b[M][N];

ﻩinti,j;

ﻩprintf("

pleaseinputa[M][N]\n"

for(i=0;

M;

ﻩfor(j=0;

j<N;

ﻩﻩscanf("

a[i][j]);

ﻩfor(j=0;

N;

ﻩﻩb[i][j]=a[j][i];

ﻩﻩ}

ﻩprintf("

b[M][N]=\n");

ﻩfor(i=0;

ﻩﻩprintf("

%4d"

b[i][j]);

ﻩ}printf("

//15.调用递归函数求阶乘//

#include<

stdio.h>

intf(intn)

if(n==1||n==0)

ﻩreturn1;

ﻩelse

ﻩreturnf(n-1)*n;

voidmain()

intn,m;

pleaseinput a number:

scanf("%d",&n);

ﻩm=f(n);

ﻩprintf("%d!

=%d\n"

n,m);

/*16.运用递归函数求斐波拉契数列(前30项)*/

#include<

stdio.h>

intf(intn)

if(n==1||n==2)

ﻩreturn1;

else

ﻩﻩreturnf(n-1)+f(n-2);

voidmain()

ﻩint i,k=0;

for(i=1;

i<=30;

f(i));

k++;

ﻩif(k%5==0)

ﻩﻩprintf("\n"

//17.求a+aa+aaa+aaaa...//

/*#include<

stdio.h>

#include<

#define N5

voidmain()

intn,i,j,k,a,sum1=0;

ﻩprintf("

pleaseinputanumber:

scanf("

%d",&

ﻩfor(i=1;

i<=N;

ﻩk=fabs(10,i-1);

ﻩj=n+n*(i-1)*k;

ﻩsum1+=j;

printf("

sum=%d\n"

sum1);

stdio.h>

#defineN5

intk(inta,int sum)

ﻩsum=sum*10+a;

ﻩreturnsum;

voidmain()

inta,i=0,j,sum=0;

pleaseinputa number:

scanf("

%d",&

a);

sum=k(a,k(a,sum));

sum=%d\n"

sum);

//18.求符合条件的整数(如是某个二位数的平方,个位、十位、百位数各不相同等)//

#include<

stdio.h>

voidmain()

ﻩinta,b,c,n,m;

for(m=10;

m<

100;

m++)

ﻩn=m*m;

ﻩa=n%10;

ﻩb=n/10%10;

ﻩﻩc=n/100;

ﻩﻩif(a!

=b&&

b!

=c&&

c!

=a)

ﻩﻩprintf("%d\t"

m);

printf("

//19.字符串加密//

#include<

stdio.h>

#include<string.h>

#defineN80

voidmain()

charstr[N];

ﻩchar*p;

ﻩprintf("pleaseinput thecode:

\n");

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1