天津理工150c语言题库Word文档格式.docx

上传人:b****5 文档编号:19755404 上传时间:2023-01-09 格式:DOCX 页数:29 大小:22.49KB
下载 相关 举报
天津理工150c语言题库Word文档格式.docx_第1页
第1页 / 共29页
天津理工150c语言题库Word文档格式.docx_第2页
第2页 / 共29页
天津理工150c语言题库Word文档格式.docx_第3页
第3页 / 共29页
天津理工150c语言题库Word文档格式.docx_第4页
第4页 / 共29页
天津理工150c语言题库Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

天津理工150c语言题库Word文档格式.docx

《天津理工150c语言题库Word文档格式.docx》由会员分享,可在线阅读,更多相关《天津理工150c语言题库Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

天津理工150c语言题库Word文档格式.docx

b=n/10-a*10;

c=n%10;

if(n==fac(a)+fac(b)+fac(c))

%d\n"

n);

intfac(inti)

intj,s=1;

for(j=1;

j<

=a;

j++)

s=s*j;

returns;

//输出145

3.题目:

有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

答案:

32.66(要求答案一定要有小数)

void 

 

int 

i;

float 

m=1,n=1,t,s=0;

for(i=1;

i<

=20;

i++) 

t=m+n;

s=s+t/n;

m=n;

n=t;

printf("

%9.6f\n"

s);

}

4键盘输入一个整数n,求n!

并输出

voidmain()

inti,j=1,n;

scanf("

n);

for(i=1;

=n;

j=j*i;

j);

5.输入一串正整数,倒序输出

inta[10],i;

=9;

for(i=9;

i>

=0;

i--)

a[i]);

6.求100~100000之间所有数字之和为5的整数的个数(120)

i,n=0;

 

for(i=100;

100000;

if(i/10000+(i/1000)%10+(i/100)%10+(i/10)%10+i%10==5)

n++;

7.输入字符串打印除小写,元音(aeiou)字母之外的。

用数组

inti,j;

chars[20];

20;

i++)

%c"

s[i]);

for(j=0;

if(s[j]!

='

a'

&

s[j]!

e'

i'

o'

u'

s[j]);

8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)

a[10],i=0,n=0,s=0;

please 

input 

10 

numbers.\n"

for(;

10;

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

{

s=s+a[i];

%d,%d,%f"

n,s,(float)s/n);

9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)

voidmain(){inta[10],i=0,n=0,s=0;

pleaseinput10intnumbers.\n"

for(;

i++){scanf("

if(a[i]%2!

=0){n++;

s=s+a[i];

}}printf("

10.循环语句求Sn=a+aa+aaa+…+aaa…a(n个a)的值其中a是一个数字n由键盘输入(如a=2,n=5,得数为24690)

longa,b,c;

inti,t;

scanf("

%d,%d"

a,&

t);

b=a;

c=a;

=t;

b=b*10+a;

c=c+b;

c);

11.求1!

+2!

+3!

+…+n!

(当n=10时得4037913)

inti,j=1,n,sum=0;

j=j*i;

sum=sum+j;

sum);

12.输入满足条件的最大数n,条件为:

1*1+2*2+….+n*n<

=1000唯一答案:

n=13)

inti,t=0;

t<

=1000;

t=t+i*i;

i-2);

13.0~1000同时被7和13整除的数

intn;

for(n=1;

if(n%7==0&

n%13==0)

14.1/1+1/2+1/3+…+1/20

inti=1;

floatsum=0,j=1;

sum=sum+j/i;

%f\n"

15.sum=1-1/3+1/5-1/7+…+1/n(1/n<

0.0001)

math.h>

inti,j=1;

floatk=1,sum=0;

fabs((float)(j)/i)>

1e-4;

sum=sum+(float)(j)/i;

if(i>

0)

{

i=i+2;

i=-i;

}

else

i=i-2;

16.求e≈1+/1!

+1/2!

+…+1/n!

一直加到1/n!

<

10ˉ6(10的负6次方),求e的近似值

inti,j=1,n=1;

floatsum=1;

((float)(i)/n)>

1e-6;

n=n*j;

sum=sum+(float)(i)/n;

17.用л∕4约等于1-1/3+1/5-1/7+…直到某一项的绝对值小于10的-6次方为止

floatj=1,pi=0,n=1.0;

while(fabs(j)>

1e-6)

pi=pi+j;

n=n+2;

j=i/n;

pi=pi*4;

%10.6f\n"

pi);

18.输出1~10的阶乘,分行打出

i,j=1;

=10;

j=j*i;

19.输入正数,判断是否是素数

inti,m;

m);

for(i=2;

=m;

if(m%i==0)break;

/*这句话很关键*/

if(i<

m)

%d不是一个素数"

m);

else

%d是一个素数"

20.1+(1+2)+(1+2+3)+…+(1+2+…+n)输入n=20,得1540

inti,n,temp=0,sum=0;

temp=temp+i;

sum=sum+temp;

21.输入年月,输出该月有多少天。

(答案:

如输入1992-2得到29,输入2009-2得到28)

inta,c;

c);

if(((a%4==0)&

(a%100!

=0))||(a%400==0))

if(c==2)

29\n"

28\n"

switch(c)

case1:

case3:

case5:

case7:

case8:

case10:

case12:

31);

break;

case4:

case6:

case9:

case11:

30);

22.编一个计算器,可以计算“+”“-”“*”“/”

#include<

floata,b;

charf;

%f"

a);

f=getchar();

b);

switch(f)

case'

+'

:

a+b=%f"

a+b);

-'

a-b=%f"

a-b);

*'

a*b=%f"

a*b);

/'

a/b=%f"

a/b);

default:

inputerror!

\n"

23.求555555的约数中最大的3位数:

777

longj=555555;

inti;

for(i=999;

=100;

if(j%i==0)

i);

24.韩信点兵:

士兵5人一行,末行一人;

6人一行,末行5人;

7人一行,末行4人,11人一行,末行10人。

求士兵人数?

其中人数应该〉11(答案:

2111)

for(i=11;

=3000;

if(i%5==1&

i%6==5&

i%7==4&

i%11==10)

25爱因斯坦阶梯问题:

台阶,每步跨2阶最后剩1阶,跨3阶剩2阶,跨5阶剩4阶,跨10阶剩5阶,跨7阶一个不剩正好走完,问一共有多少阶?

(答案:

119)

=200;

if(i%2==1&

i%3==2&

i%5==4&

i%7==0)

26.输入m,n求其最小公倍数(答案:

如输入12和8,输出4和24;

输入4和16,输出4和8)

intm,n,max,min,i;

请输入两个数(逗号隔开):

"

m,&

if(m>

n)

i=m;

m=n;

n=i;

for(i=m;

0;

if(m%i==0&

n%i==0)

max=i;

min=m*n/max;

这两个数的最小公倍数是%d\n"

min);

27输入m,n求其最大公约数(答案:

如输入24和16,输出8)

intm,n,max,i;

这两个数的最大公约数是%d\n"

max);

ps:

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。

这两个数的最大公约数是%d,最小公倍数是%d\n"

max,min);

28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

charc;

intletters=0,space=0,digit=0,other=0;

请输入一行字符:

while((c=getchar())!

\n'

if(c>

c<

z'

||c>

A'

Z'

letters++;

elseif(c=='

'

space++;

elseif(c>

9'

digit++;

else

other++;

字母数:

%d\n空格数:

%d\n数字数:

%d\n其他字符数:

letters,space,digit,other);

29.输入十个数,将其排序

inti,j,k,a[10];

Pleaseinput10numbers:

9;

9-j;

if(a[i]>

a[i+1])

k=a[i];

a[i]=a[i+1];

a[i+1]=k;

30.输出100~200之间的素数

intjudge(inta)

intj=1,i;

=a-1;

if(a%i==0)

j=0;

return(j);

intb,c;

Theprimenumbersin100~200are:

for(b=0;

b<

b++)

for(c=0;

c++)

if(judge(100+10*b+c))

%d"

100+10*b+c);

}_

31题:

由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?

(3男,3女,30小孩)

voidmain()

inta,b,c,d;

for(a=0;

a<

a++)

=12;

=72;

if(4*a+3*b+0.5*c==36&

a+b+c==36)

Itneed%dmen\nItneed%dwomen\nItneed%dchildren\n"

a,b,c);

32题:

输入一个字符串,将其正序反序输出?

chara[10];

inti,j,k;

Pleaseinputastring:

The->

is:

a[j]);

The<

-is:

for(k=9;

k>

k--)

a[k]);

33题:

输入一行字符,统计以空格间隔的的单词个数?

charstring[81];

inti,num=0,word=0;

gets(string);

(c=string[i])!

\0'

if(c=='

)word=0;

elseif(word==0)

{

word=1;

num++;

Thereare%dwordsintheline.\n"

num);

34题:

输出一个十进制数,将其转化为一个2进制数输出?

inta,i=0,j,s[8];

Pleaseinputanumber:

while(a>

s[i]=a%2;

a=a/2;

i++;

Theresultis:

for(j=i-1;

j>

j--)

35题:

水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?

inta,b,c;

for(b=0;

for(c=0;

if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)

printf("

%3d\n"

100*a+10*b+c);

36题:

求从3开始到小于100的所有双素数?

intprime(intx);

inta,c,p;

for(p=3;

p<

p++)

{

a=prime(p);

c=prime(p+2);

if(a&

c)

%d/%d\n"

p,p+2);

intprime(intx)

inti,k;

k=(int)sqrt(x);

=k;

if(x%i==0)

return0;

return1;

37题:

求两位绝对素数?

intisPrime(intn)

k=(int)sqrt(n);

if(n%i==0)

return0;

returnn;

voidabsPrimeTens()

intx,y,i,j;

for(i=10;

100;

x=isPrime(i);

if(x)//表示x不为零,即是素数

j=10*(x%10)+x/10;

y=isPrime(j);

if(y>

=10&

y<

100)

%d

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

当前位置:首页 > 医药卫生 > 基础医学

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

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