华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2549|回复: 9
打印 上一主题 下一主题

函数训练题1 1!+2!+****+10!

[复制链接]

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
跳转到指定楼层
楼主
发表于 2014-12-2 18:18:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <iostream>
  2. using namespace std;
  3. long long fac(int n)
  4. {
  5.     long long x=1;
  6.     for (int i=1;i<=n;i++) x=x*i;
  7.     return x;
  8. }
  9. int main()
  10. {
  11.     long long x=0;
  12.     for (int i=1;i<=10;i++) x=x+fac(i);
  13.     cout<<x;
  14.     return 0;

  15. }
复制代码
回复

使用道具 举报

1

主题

13

帖子

62

积分

注册会员

Rank: 2

积分
62
沙发
发表于 2014-12-2 18:20:16 | 只看该作者
英语不好怎么办?!
回复 支持 反对

使用道具 举报

1

主题

13

帖子

62

积分

注册会员

Rank: 2

积分
62
板凳
发表于 2014-12-2 18:21:04 | 只看该作者
clivia 发表于 2014-12-2 18:20
英语不好怎么办?!

算了我还是好好学英语吧。不玩了。
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
地板
 楼主| 发表于 2014-12-2 18:21:18 | 只看该作者
函数设计的建议:
1、函数名字最好是动宾词组,Find , Try, Search Place 若他是预定义的函数,可以考虑加上 My
  不要加 nzh  keyima  panduan  不文雅。
2、变量的定义最好在函数内部,不要牵扯太多的外部变量
3、善于用中转变量
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
5#
 楼主| 发表于 2014-12-2 18:27:33 | 只看该作者
简单排序
  1. #include <iostream>
  2. using namespace std;
  3. int a[10];
  4. void mysort()
  5. {
  6.     int i,j,k;
  7.     int m;
  8.     for (i=0;i<=8;i++)
  9.     {
  10.         m=a[i];k=i;
  11.         for (j=i+1;j<=9;j++)
  12.         if (a[j]>m) {m=a[j];k=j;}
  13.         swap(a[i],a[k]);
  14.     }
  15. }
  16. int main()
  17. {
  18.     int i;
  19.     for (i=0;i<=9;i++) cin>>a[i];
  20.     mysort();
  21.     for (i=0;i<=9;i++) cout<<a[i]<<' ';
  22.     return 0;

  23. }
复制代码
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
6#
 楼主| 发表于 2014-12-2 18:29:23 | 只看该作者
听懂了,那么问题来了,我只想求10个数字里面的第4大的那个数字,怎么办?
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
7#
 楼主| 发表于 2014-12-2 18:47:00 | 只看该作者
另外一种冒泡排序的方法
  1. #include <iostream>
  2. using namespace std;
  3. int a[10];
  4. void mysort()
  5. {
  6.     int i,j;
  7.     bool b=false;
  8.     i=8;
  9.     while ((i>=0) && !b)
  10.     {
  11.         b=true;
  12.         for (j=0; j<=i; j++)
  13.             if (a[j]<a[j+1])
  14.             {
  15.                 swap(a[j],a[j+1]);
  16.                 b=false;
  17.             }
  18.         i--;
  19.     }

  20. }
  21. int main()
  22. {
  23.     int i;
  24.     for (i=0; i<=9; i++) cin>>a[i];
  25.     mysort();
  26.     for (i=0; i<=9; i++) cout<<a[i]<<' ';
  27.     return 0;

  28. }
复制代码
回复 支持 反对

使用道具 举报

4

主题

68

帖子

1592

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1592
8#
发表于 2014-12-2 20:55:03 | 只看该作者
膜拜…一下…
这个人很懒,不想写签名。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-7 01:45 , Processed in 0.186713 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表