梦希月翎吧 关注:107贴子:2,619
  • 9回复贴,共1
BACK ME UP


1楼2013-09-07 20:55回复
    冒泡
    #include <iostream> // 预编译命令
    #include <memory> // 预编译命令
    using namespace
    int main() // 主函数
    {
    int i=0, j=0, p=0, a[7]; // 整型变量
    memset( a, 0, sizeof(a) ); // 整型数组初始化
    for (i=1; i<=6; i++) // 键入6个数,放入a数组中
    {
    cout<< "请输入待排序的数a["
    << i << "]=
    "; // 提示
    cin >> a[i]; // 用键盘输入整数赋给a[i]
    }
    for ( j=1; j<=5; j++) // 冒泡排序,外层循环
    for ( i=1; i<=6-j; i++ ) // 内层循环
    if ( a[i] < a[i+1] ) // 如果
    a[i] < a[i+1]
    {
    p = a[i]; // 让 a[i] 与 a[i+1] 交换
    a[i] = a[i+1];
    a[i+1] = p;
    }
    for ( i=1; i<=6; i++) // 输出排序结果
    cout << a[i] << endl; // 输出 a[i]
    return 0;
    }


    3楼2013-09-07 20:56
    回复
      n设置标志位
      n记录最后一次交换元素的位置


      4楼2013-09-07 20:56
      回复
        #include<iostream>#include <memory>using namespace std;const int N=10;int a[N]={0};int b,t=0,m,s;int main(){ cin>>m; for(int i=0;i<m;i++)cin>>a[i]; for(int i=0;i<m-1;i++){ for(int j=0;j<m-j;j++){ if(a[j]<a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; s=j+1; } } } for(int i=0;i<m;i++)cout<<a[i]<<' '<<s; system("pause"); return 0;}


        5楼2013-09-07 21:34
        回复

          若外部变量与局部变量同名,则外部变量被屏蔽


          6楼2013-09-08 22:15
          回复
            计算机:时间与空间的局部性
            计算机:时间与空间的局部性


            来自百度影音浏览器7楼2013-09-14 11:55
            回复
              exit(0):正常运行程序并退出程序;
              exit(1):非正常运行导致退出程序;
              return():返回函数,若在主函数中,则会退出函数并返回一值。
              详细说: 1. return返回函数值,是关键字; exit 是一个函数。 2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
              3. return是函数的退出(返回);exit是进程的退出。 4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。 5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。 6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。


              8楼2013-09-14 20:43
              回复
                #include<iostream>
                #define N 100
                using namespace std;
                int main()
                {
                int n,tot=0;
                int x=0,y=n-1;
                int a[N][N]={0};
                scanf("%d",&n);
                for(int i=0;i<n/2;++i) //控制循环圈
                {
                for(;x<n - i - 1 ; x++) a[x][y]= ++tot ;
                for(;y>i;y--) a[x][y]= ++tot;
                for(;x>i ; x--) a[x][y]= ++tot;
                for(;y<n - i - 1 ; y++) a[x][y]= ++tot ;
                x++;y--;
                }
                if(n%2!=0)a[n/2][n/2]=++tot;
                for(int i=0;i<n;++i) {
                for(int j=0;j<n;++j)
                {
                printf("%d\t",a[i][j]);
                }
                printf("\n");
                }
                while(1);
                return 0;
                }
                I


                9楼2013-09-20 18:03
                回复
                  #include<cstdio>
                  #include<cstring>
                  #define MAXN 10
                  int a[MAXN][MAXN];
                  int main()
                  {
                  int n,x,y,tot=0;
                  scanf("%d",&n);
                  x=0;
                  y=n-1;
                  for(int k = 0; k < n / 2; ++k){
                  for(; x < n - k - 1; ++x) a[x][y] = ++tot;
                  for(; y > k; --y) a[x][y] = ++tot;
                  for(; x > k; --x) a[x][y] = ++tot;
                  for(; y < n - k - 1; ++y) a[x][y] = ++tot;
                  ++x;--y;
                  }
                  if(n % 2)
                  a[n/2][n/2] = ++tot;
                  for(int i = 0; i < n; ++i){
                  for(int j = 0; j < n; ++j)
                  printf("%d\t",a[i][j]);
                  printf("\n");
                  }
                  while(1);
                  return 0;
                  }
                  I


                  10楼2013-09-20 18:05
                  回复
                    #include<iostream>
                    #define N 100
                    using namespace std;
                    int n,m;
                    void rou(int x,int *a){
                    int t;
                    t=a[n-1];
                    a[0]=t;
                    for(int i=n-1;i>1;i--){
                    a[i-1]=a[i];
                    }
                    x--;
                    if(x)rou(x,a);
                    }
                    int main()
                    {
                    int a[N]={0};
                    scanf("%d%d",&n,&m);
                    for(int i=0;i<n;i++){
                    scanf("%d",&a[i]);
                    }
                    rou(m,a);
                    for(int i=0;i<n;i++){
                    printf("%d",a[i]);
                    }
                    while(1);
                    return 0;
                    }


                    11楼2013-09-21 17:58
                    回复