北工大 c语言题库.docx

上传人:b****5 文档编号:11895374 上传时间:2023-04-08 格式:DOCX 页数:36 大小:883.28KB
下载 相关 举报
北工大 c语言题库.docx_第1页
第1页 / 共36页
北工大 c语言题库.docx_第2页
第2页 / 共36页
北工大 c语言题库.docx_第3页
第3页 / 共36页
北工大 c语言题库.docx_第4页
第4页 / 共36页
北工大 c语言题库.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

北工大 c语言题库.docx

《北工大 c语言题库.docx》由会员分享,可在线阅读,更多相关《北工大 c语言题库.docx(36页珍藏版)》请在冰豆网上搜索。

北工大 c语言题库.docx

北工大c语言题库

求1+1/2!

+....+1/n!

#include"stdio.h"

intmain()

{

intri,repeat;

inti,n;

doubles;

doublefact(intn);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

s=0;

for(i=1;i<=n;i++)

s=s+1/fact(i);

printf("%0.4f\n",s);

}

return0;

}

doublefact(intn)

{

inti;

doubleresult;

result=1;

for(i=1;i<=n;i++)

result=result*i;

returnresult;

}

统计一个整数中数字的个数

#include"stdio.h"

intmain()

{

intri,repeat;

intcount;

longin;

intcountdigit(longnumber,intdigit);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%ld",&in);

count=countdigit(in,2);

printf("count=%d\n",count);

}

}

intcountdigit(longnumber,intdigit)

{

inti,count=0,t;

if(number<0)

number=-number;

for(i=1;;i++){

t=number%10;

if(t==digit)count++;

number=number/10;

if(number==0)

break;

}

returncount;

}

统计素数并求和

#include"stdio.h"

#include"math.h"

intmain()

{

intri,repeat;

intcount,i,m,n,sum;

intprime(intm);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d%d",&m,&n);

sum=0;count=0;

for(i=m;i<=n;i++){

if(prime(i)==1){

count++;

sum=sum+i;

}

}

printf("count=%d,sum=%d\n",count,sum);

}

}

intprime(intm)

{

inti;

if(m==1)return0;

if(m>1){

for(i=2;i<=m/2;i++){

if(m%i==0){

return0;

}

}

if(i>m/2)return1;

}

}

求完数

#include"stdio.h"

intmain()

{

intri,repeat;

inti,m,n;

longfactorsum(intnumber);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++){

if(i==factorsum(i))

printf("%d",i);

}

printf("\n");

}

}

longfactorsum(intnumber)

{

inti,sum=0;

if(number==1)return1;

for(i=1;i

if(number%i==0)

sum=sum+i;

}

returnsum;

}

输出Fibonacci序列

#include"stdio.h"

#include"math.h"

intmain()

{

intri,repeat;

inti,m,n;

longf;

longfib(intn);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d%d",&m,&n);

for(i=1;;i++){

f=fib(i);

if(f>=m&&f<=n)printf("%ld",f);

if(f>n)break;

}

printf("\n");

}

return0;

}

longfib(intn)

{

inti,a=1,b=1,t;

if(n==1)return1;

if(n==2)return1;

for(i=3;i<=n;i++){

t=a+b;

a=b;

b=t;

}

returnt;

}

求各位数字的立方和等于它本身的数

#include"stdio.h"

intmain()

{

intri,repeat;

inti,m,n;

intis(intnumber);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++){

if(i==is(i))

printf("%d",i);

}

printf("\n");

}

return0;

}

intis(intnumber)

{

intt,sum=0;

do{

t=number%10;

sum=sum+t*t*t;

number=number/10;

}while(number!

=0);

returnsum;

}

将一个整数逆序输出

#include

intmain()

{

intri,repeat;

longin,res,k;

longreverse(longnumber);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%ld",&in);

if(in<0){

in=-in;

k=1;

}

elsek=0;

res=reverse(in);

if(k==1)

res=-res;

printf("%ld\n",res);

}

}

longreverse(longnumber)

{

inta,b;

b=0;

while(number!

=0){

a=number%10;

b=b*10+a;

number=number/10;

}

returnb;

}

循环移动(调试示例error08_1)

#include

voidmov(int*x,intn,intm);

intmain(void)

{

inti,m,n,*p;

inta[80];

scanf("%d%d",&n,&m);

for(i=0;i

scanf("%d",&a[i]);

mov(a,n,m);

printf("Aftermove:

");

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

voidmov(int*x,intn,intm)

{

inti,j,k;

for(i=0;i

k=x[n-1];

for(j=n-1;j>0;j--)

x[j]=x[j-1];

x[0]=k;

}

}

在数组中查找指定元素

#include

intmain(void)

{

inti,index,n,res,x;

intrepeat,ri;

inta[10];

intsearch(intlist[],intn,intx);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

scanf("%d",&x);

res=search(a,n,x);

if(res!

=-1)

printf("index=%d\n",res);

else

printf("Notfound\n");

}

}

intsearch(intlist[],intn,intx)

{

inti,res;

res=-1;

for(i=0;i

if(list[i]==x)

res=i;

returnres;

}

使用函数的选择法排序

#include

voidsort(inta[],intn);

intmain(void)

{

inti,n;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

sort(a,n);

printf("Aftersorted:

");

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

}

voidsort(int*p,intn)

{

intk,i,index,t;

for(k=0;k

index=k;

for(i=k+1;i

if(p[i]

index=i;

t=p[index];

p[index]=p[k];

p[k]=t;

}

}

使用函数删除字符串中的字符

#include

voidmain()

{

charc;

charstr[80];

intrepeat,ri;

voiddelchar(char*str,charc);

scanf("%d",&repeat);

getchar();

for(ri=1;ri<=repeat;ri++){

gets(str);

scanf("%c",&c);

getchar();

/*---------*/

delchar(str,c);

printf("result:

");

puts(str);

}

}

/*---------*/

voiddelchar(char*str,charc)

{

inti,j;

for(i=j=0;str[i]!

='\0';i++){

if(str[i]!

=c)

str[j++]=str[i];

}

str[j]='\0';

}

使用函数实现字符串复制

#include

#include

voidmain()

{

chars[80],t[80];

intm;

intrepeat,ri;

voidstrmcpy(char*s,char*t,intm);

scanf("%d",&repeat);

getchar();

for(ri=1;ri<=repeat;ri++){

gets(t);

scanf("%d",&m);

getchar();

if(strlen(t)

printf("errorinput");

else{

/*---------*/

strmcpy(s,t,m);

puts(s);

}

}

}

voidstrmcpy(char*s,char*t,intm)

{

inti,j;

j=0;

for(i=m-1;t[i]!

='\0';i++)

s[j++]=t[i];

s[j]='\0';

}

/*---------*/

判断回文字符串

#include

voidmain()

{

chars[80];

intrepeat,ri;

intmirror(char*p);

scanf("%d",&repeat);

getchar();

for(ri=1;ri<=repeat;ri++){

gets(s);

if(mirror(s)!

=0)

printf("YES\n");

else

printf("NO\n");

}

}

/*---------*/

intmirror(char*p)

{

char*q;

q=p;

while(*q!

='\0')

q++;

p--;

while(p

if(*p!

=*q)

return0;

p++;

q--;

}

return1;

}

分类统计字符个数

#include

voidmain()

{

chars[80];

char*p;

intblank,digit,lower,other,upper;

gets(s);

upper=lower=blank=digit=other=0;

/*---------*/

for(p=s;*p!

='\0';p++)

if(*p>='A'&&*p<='Z')

upper++;

elseif(*p>='a'&&*p<='z')

lower++;

elseif(*p>='0'&&*p<='9')

digit++;

elseif(*p=='')

blank++;

else

other++;

printf("upper:

%dlower:

%dblank:

%ddigit:

%dother:

%d\n",upper,lower,blank,digit,other);

}

显示水果的价格

#include

intmain(void)

{

intri,repeat;

intchoice;

floatprice;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

printf("[1]apples\n");

printf("[2]pears\n");

printf("[3]oranges\n");

printf("[4]grapes\n");

scanf("%d",&choice);

if(choice==0)

printf("price=0");

switch(choice){

case1:

price=3.00;break;

case2:

price=2.50;break;

case3:

price=4.10;break;

case4:

price=10.20;break;

}

printf("price=%.2f\n",price);

}

return0;

}

求n!

#include

intmain(void)

{

intri,repeat;

inti,n;

doublefact;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

fact=1;

for(i=1;i<=n;i++)

fact=fact*i;

printf("%.0f\n",fact);

}

return0;

}

求最大值

#include

intmain()

{

intri,repeat;

inti,max,n,x;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

max=n;

for(i=1;i<=n;i++){

scanf("%d",&x);

if(max

max=x;

}

printf("%d\n",max);

}

return0;

}

求整数的位数以及各位数之和

#include

intmain()

{

intri,repeat;

intnumber,sum;

longin;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

number=0;

sum=0;

scanf("%ld",&in);

if(in<0)

in=-in;

do{

sum=sum+in%10;

in=in/10;

number++;

}while(in!

=0);

printf("number=%d,sum=%d\n",number,sum);

}

}

求a+aa+aaa+aa…a

#include

voidmain()

{

intri,repeat;

inti,n;

longinta,sn,tn;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%ld%d",&a,&n);

sn=a;tn=a;

for(i=1;i<=n-1;i++){

tn=10*tn+a;

sn=sn+tn;

}

printf("%ld\n",sn);

}

}

求平均值

#include

intmain(void)

{

inti,n,sum;

intrepeat,ri;

inta[10];

doubleaver;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

sum=0;

for(i=0;i

scanf("%d",&a[i]);

sum=sum+a[i];

}

aver=sum/(n*1.0);

printf("average=%.2f\n",aver);

}

}

交换最小值和最大值

#include

intmain(void)

{

inti,index,n,t;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

index=0;

for(i=0;i

if(a[i]

index=i;

t=a[0];

a[0]=a[index];

a[index]=t;

for(i=0;i

if(a[i]>a[index])

index=i;

t=a[n-1];

a[n-1]=a[index];

a[index]=t;

printf("Afterswap:

");

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

}

将数组中的数逆序存放

#include

intmain(void)

{

inti,n,temp;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

temp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;

}

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

}

选择法排序

#include

intmain(void)

{

inti,index,k,n,temp;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

for(k=0;k

index=k;

for(i=k+1;i

if(a[i]>a[index])index=i;

temp=a[index];

a[index]=a[k];

a[k]=temp;

}

printf("Aftersorted:

");

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

}

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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