⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 题目90序列重排.txt

📁 c语言小程序100个
💻 TXT
字号:
  题目90:下列程序的功能是:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的左面(后继的再向U左存放),比K1大的数都在K1的右面(后续的再向右存放),从k1想右扫描。要求编写函数jsvalue()实现此功能,最后调用writeDat()函数所新序列输出到文件out.dat中。
  说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。
  例:序列{6,8,9,1,2,5,4,7,3}
  经重排后成为{3,4,5,2,1,6,8,9,7}
  注意:部分源程序已给出。
  请勿改动主函数main()和写函数writeDat()的内容。
--------------------
jsValue(int a[10][9]) /*标准答案*/
{int value,I,j,k,num;
 for(I=0;I<10;I++)
 {value=a[I][0];
  for(j=0;j<9;j++)
  if (a[I][j]<value)
  {num=a[I][j];
   for(k=j;k>0;k--)
   {num=a[I][j];
for(k=j;k>0;k--)
a[I][k]=a[I][k-1];
a[I][0]=num;   }
 }}
}
或者:
jsvalue(int a[10][9])
{ int i,j,k,m,c,b[10][9];
 for(i=0;i<10;i++)
  for(j=0;j<9;j++)
  b[i][j]=a[i][j];
 for(i=0;i<10;i++)
{ k=b[i][0];
  for(j=1;j<9;j++)
   if(b[i][j]<k)
    { c=b[i][j];
      for(m=j;m>0;m--)
      a[i][m]=a[i][m-1];
      a[i][0]=c;   } }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -