C、C++编程入口,常见的编程题

1.设计一个从5个数中取最小数和最大数的程序。

2.#include<stdio.h>

3.intmin(inta[],inti);

4.intmax(inta[],inti);

5.intmain()

6.{

7. inta[5];

8. printf("输入五个数:\n");

9. for(inti=0;i<5;i++)

10. {

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

12. }

13. printf("最小值是:");

14. min(a,5);

15. printf("最大值是:");

16. max(a,5);

17. return0;

18.}

19.intmin(inta[],inti)

20.{

21. intmin=a[0];

22. for(i=0;i<5;i++)

23. {

24. // scanf("%2d",a[i]);

25. if(a[i]<min)

26. min=a[i];

27. }

28. printf("%2d",min);

29. printf("\n");

30. returnmin;

31.}

32.intmax(inta[],inti)

33.{

34. intmax=a[0];

35. for(i=0;i<5;i++)

36. {

37. //scanf("00000%d",a[i]);

38. if(a[i]>max)

39. max=a[i];

40. }

41. printf("%2d",max);

42. printf("\n");

43. returnmax;

44.}

2.输入某年某月某日,判断这一天是这一年的第几天?

3.#include<stdio.h>

4.intleap(intx);

5.intmain()

6.{

7. inti,year,mon,day,days=0;

8. inta[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

9. printf("分别输入年、月、日:");

10. scanf("%4d%2d%2d",&year,&mon,&day);

11. for(i=0;i<=mon;i++)

12. {

13. days=days+a[i];

14. }

15.if(leap(year))

16. {

17. days=days+1;

18.}

19.printf("%4d年%2d月%2d日式这年的第%d天",year,mon,day,days);

20.printf("\n");

21.return0;

22.}

23.intleap(intx)

24.{

25. if(x%4==0&&x%100!=0)

26. return1;

27. else

28. return0;

29.}

3.求1!+2!+3!+…+20!。

4.#include<stdio.h>

5.intfact(intn);

6.

7.intmain()

8.{

9. ints=fact(20);

10. printf("1!+2!+3!+…+20!=%d",s);

11. printf("\n");

12. return0;

13.

14.}

15.intfact(intn)

16.{

17. intsum=1;

18. for(inti=2;i<=n;i++)

19. {

20. for(intn=i-1;n>=1;n--)

21. {sum=sum+i*(i-n);}

22. }

23.if(n<=0)

24.{

25. printf("error");

26.}

27. printf("%d",sum);

28. returnsum;

29.}

3.求1!+2!+3!+…+20!。

4.#include<stdio.h>

5.intfact(intn);

6.

7.intmain()

8.{

9. ints=fact(20);

10. printf("1!+2!+3!+…+20!=%d",s);

11. printf("\n");

12. return0;

13.

14.}

15.intfact(intn)

16.{

17. intsum=1;

18. for(inti=2;i<=n;i++)

19. {

20. for(intn=i-1;n>=1;n--)

21. {sum=sum+i*(i-n);}

22. }

23.if(n<=0)

24.{

25. printf("error");

26.}

27. printf("%d",sum);

28. returnsum;

29.}

30.

4.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等

于该数本身。

#include<stdio.h>

intmain()

{

intn,i,j,k;

for(n=100;n<1000;n++)

{

i=n/100;//百位

j=(n%100)/10;//十位

k=n%10;//个位

if(n==i*i*i+j*j*j+k*k*k)

printf("水仙花数有:%d\n",n);

}

return0;

}

5.求数列a0,a1,a2,a3,…,a20。已知:

a0=0,a1=1,a2=1

a3=a0+2a1+a2

a4=a1+2a2+a3

……

#include<stdio.h>

intmain()

{

inta[20];

a[0]=0,a[1]=1,a[2]=1;

for(intn=3;n<=20;n++)

{

a[n]=a[n-3]+2*a[n-2]+a[n-1];

}

for(n=3;n<=20;n++)

{

printf("a[%d]=%d\n",n,a[n]);

}

return0;

}

6.要将一张100元的大钞票,换成等值的10元、5元、2元、1元的小钞票。要求每次换成40张小钞票,每种至少一张。编程找出所有可能的换法。

7.#include<stdio.h>

8.intmain()

9.{

10. inta=100,j,k,m,n;//10元、5元、2元、1元的小钞票分别为j、k、m、n张

11. a=j+k+m+n=40;

12. if(j>=1&&k>=1&&m>=1&&n>=1)

13. printf("10元的%d张",(100-(5*k)-(2*m)-n)/10);

14. printf("5元的%d张",(100-(10*j)-n)/5);

15. printf("1元的%d张",(100-(10*j)-(5*k)));

16.return0;

17.}

7.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编写一程序找出6~10000之内的所有完数,并按下面的格式输出:6=1+2+3

8.#include<stdio.h>

9.intWanShu(intn);

10.intmain()

11.{

12.WanShu(1000);

13.return0;

14.}

15.intWanShu(intm)

16.{

17.inti,j,s;

18.for(m=6;m<10000;m++)

19.{

20.s=0;

21./*求出m的所有因子之和s*/

22.for(i=1;i<m;i++)

23.if(m%i==0)s=s+i;

24./*ms相等,按题中所示格式输出*/

25.if(m==s)

26.{

27.printf("%5d=",m);

28.for(j=1;j<m;j++)

29.if(m%j==0)printf("%d+",j);

30.printf("\b\n");

31.}

32.}

33. return0;

34.}










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值