Archive for 六月, 2009
Posted in C/C++ Programming @ 2009.06.30 (周二) 7:31 下午 by 一兮
这是上次帮226的人做专周的一个子函数,里面有个排序的函数,自认为对于入门还不错。
因为这是一个程序管理系统,这个排序是用来排名次的一个小功能,只是其中的一个子函数,故在这里先说下函数前提。
首先是数据,数据是写到一个文件中的,输出大概就是这么个形式。

然后将这个数据赋值到一个 float score[10][8] 的数组中。
在main() 函数中:
首先赋值 int n=10; //n为学生人数。
下面是排序函数的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| void fun3(float score[][8],int n) //排序函数
{
int i,j,k;
float temp[10][3],x[3]; //定义了一个临时二维数组和一个一维数组
for (i=0;i<n;i++)
{
temp[i][0]=score[i][0]; //将学号赋给临时二维数组的0列
temp[i][1]=score[i][6]; //将总分赋给临时二维数组的1列
}
for (i=0;i<n;i++) /*条件也可为:i<n-1*/
{
k=i;
for (j=i+1;j<n;j++)
if (temp[j][1]>temp[k][1])
k=j;
if (i!=k) /*此语句不要也可*/
{
x[0]=temp[k][0]; //以下就是交换学号和总分
x[1]=temp[k][1];
x[2]=temp[k][2]; /*些语句不要也可*/
temp[k][0]=temp[i][0];
temp[k][1]=temp[i][1];
temp[k][2]=temp[i][2];
temp[i][0]=x[0];
temp[i][1]=x[1];
temp[i][2]=x[2]; /*些语句不要也可*/
}
}
j=1;
temp[0][2]=j;
for (i=1;i<n;i++)
if (temp[i][1]==temp[i-1][1])
temp[i][2]=j;
else
{
j++;temp[i][2]=j;
}
printf("按总分排列的名次\n");
printf("原学号 总分 名次\n");
for (i=0;i<n;i++)
printf("%4g%10g%7g\n",temp[i][0],temp[i][1],temp[i][2]);
} |
嗯,排序函数就是这样,数组的排序,有很多种方式,这只是一种。
Tags:C语言 函数 13 views With
Posted in 生活琐事 @ 2009.06.29 (周一) 3:37 下午 by 一兮
今天考完了期末最后的几科中的第一科,毛概。
据说,挂的人比较多。
无所谓了,反正我也是上了毛概老师的黑名单的。
累的很。
11 views With
Posted in 网络琐事 @ 2009.06.26 (周五) 6:17 下午 by 一兮
昨天本博客撤销了部分友情链接,原因如下:
1.超过两月长期不更新。
2.原博客地址跳转至第三方网站。
3.被空间服务商关闭空间的博客。
4.纯利益性博客。
5.撤掉本站链接。
如果之前有和我交换链接的朋友被我误删掉的请与我联系,在次表示深深抱歉,若是因为以上原因,那请审视自己站点。
附:本站友情链接申请地址:http://yixi.info/index.php/lianjie
Tags:博客 8 views With
Posted in 生活琐事 @ 2009.06.25 (周四) 5:59 下午 by 一兮
今天遇到同学,和她聊了很久,聊了一些补习的事。
原来我还不知道,看似平静的班级,却是暗涌流动,感情的牵牵扯扯,还有不同的人心。
不曾了解,那个时候的我就低着头用手机看小说,不曾关心身边的事。
而当前,即使才大学的第一年,说的最多的问题却是未来。
未来怎样,很是迷茫。
眨眼间,马上就大二了,大学的日子就去了三分之一,论收获,却惘然。
我还是仍然在坚持,破碎的梦想。
P.S.很久没用这样的文字,支离破碎。
Tags:碎念 7 views With
Posted in PHP Programming, 工作记录 @ 2009.06.21 (周日) 6:47 下午 by 一兮
今天比较累,就不做过多的说明了。函式在下面。
先给个简短的说明吧:
/*
#### 检索分页函式 ####
Int $HALT – 检索结果仅分1页时是否(1/0)显示页码条
Int $LRLIST – (页码条显示页码数-1)/2
Int $ECHOCNT – 检索时每页显示记录的数量
Int $paper – 页数,预提取:$paper=$HTTP_GET_VARS[paper];
Varchar $table – 数据表名,预附值:$table=”db.table”;
Varchar $where – 检索条件,预附值:$where=”where field=’value’”;
Varchar $enwhere – 将原$where进行两次base64_encode()编码后以GET的方式提交
Varchar $splitstr – 页码条输出字串,执行函式后在相应的位置执行 echo $splitstr;
函式调用前需获取变量 –
$paper=$HTTP_GET_VARS[paper];
$sumcnt=$HTTP_GET_VARS[sumcnt];
$enwhere=$HTTP_GET_VARS[enwhere];
Return (Varchar $where) – 分页后检索语句的检索条件
注意:本函式需调用出错处理函式 nerror($error);
*/
<?
function splitlist($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){
global $splitstr,$sumcnt;
if($paper=="" || $sumcnt==""){
$query = "select count(*) as num from $table $where";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$sumcnt=$row["num"];
if($sumcnt==0){
nerror("该版内还没有选择发布新闻 !");
}
$paper=1;
}
$sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT;
if(($sumcnt%$ECHOCNT)!=0) $sumpaper+=1;
if($sumpaper==1 && $HALT==0) return($where);
$enwhere=base64_encode(base64_encode($where));
if(($LRLIST*2+1) < $sumpaper){
if(($paper-$LRLIST) < 2){
$tract=1;
$sub=$LRLIST*2+1;
}else if(($paper+$LRLIST) >= $sumpaper){
$tract=$sumpaper-($LRLIST*2);
$sub=$sumpaper;
}else{
$tract=$paper-$LRLIST;
$sub=$paper+$LRLIST;
}
}else{
$tract=1;
$sub=$sumpaper;
}
$uppaper=$paper-1;
$downpaper=$paper+1;
$startcnt=($paper-1)*$ECHOCNT;
$where.=" limit ${ startcnt },${ ECHOCNT }";
if($tract > 1) { $splitstr="【 << "; }
else $splitstr="【 << ";
for($i=$tract;$i<=$sub;$i++){
if ($i!=$paper) $splitstr.="".$i." ";
else $splitstr.="".$i." ";
}
if ($sub!=$sumpaper) $splitstr.=">> 】";
else $splitstr.=">> 】";
return($where);
}
?>
Tags:PHP 函数 7 views With