在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

这段代码老得不到正确的结果,哪儿错了?求高人指点

[table][tr][td=1,1,4%]
[/td][td=1,1,91%]
/*【问题描述】
从标准输入连续读入n(nmarkAll < (pStu+j)->markAll){    stuInf tmp = *(pStu + i);    *(pStu + i) = *(pStu + j);    *(pStu + j) = tmp;   }    } } /*根据学号排序*/ for (i = 0; i < size - 1; i++) {  for (j = i + 1; j < size; j++) {   if ((pStu + i)->markAll == (pStu + j)->markAll) {    if ((pStu + i)->stuID > (pStu + j)->stuID) {     stuInf tmp = *(pStu + i);     *(pStu + i) = *(pStu + j);     *(pStu + j) = tmp;    }   }   else {    continue;   }  } }}void stuArrRakOut(stuInf *pStu, int size) { int i,rak=1; printf("%d %d %s %d %d %d\n", rak, (pStu + 0)->stuID,(pStu + 0)->stuName,(pStu+0)->stuMath,(pStu+0)->stuEng,(pStu+0)->stuChi); for (i = 1; i < size; i++) {  if ((pStu + i)->markAll == (pStu + (i-1))->markAll) {   printf("%d %d %s %d %d %d\n", rak, (pStu + i)->stuID, (pStu + i)->stuName, (pStu + i)->stuMath, (pStu + i)->stuEng, (pStu + i)->stuChi);  }  else {   rak=i;   printf("%d %d %s %d %d %d\n", rak, (pStu + i)->stuID, (pStu + i)->stuName, (pStu + i)->stuMath, (pStu + i)->stuEng, (pStu + i)->stuChi);  } }}int main(){ int iniNum; scanf_s("%d", &iniNum); if (iniNum < 1 || iniNum>9) {  printf("Please input num 1-9. \n"); } else {  stuInf *stuArr = (stuInf*)malloc(sizeof(stuInf)*iniNum);  int i;  for (i = 0; i < iniNum; i++) {   scanf_s("%d %s %d %d %d", &((stuArr + i)->stuID), ((stuArr + i)->stuName),10, &((stuArr + i)->stuMath), &((stuArr + i)->stuEng), &((stuArr+i)->stuChi));  }  stuArrSort(stuArr, iniNum);  stuArrRakOut(stuArr, iniNum);  free(stuArr); } system("pause"); return 0;}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

结构体定义发生了些问题= =还有就是scanf_s里面写的具体有问题。
如果可能希望你能自己改下吧= =

使用道具 举报

...................... l

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册