鱼C论坛

 找回密码
 立即注册
查看: 3369|回复: 9

[已解决]谢谢帮忙看看哪里写错了,找找BUG

[复制链接]
发表于 2021-6-20 09:42:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
屏幕截图 2021-06-20 093707.jpg 屏幕截图 2021-06-20 093644.jpg aslkflskhfk.jpg


  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct pp
  4. {
  5.         int flag;
  6.         char id[10];
  7.         int de;
  8.         int cai;
  9. }decai;
  10. int cmp(const void *a,const void *b)
  11. {
  12.         struct pp *aa = (struct pp *)a; //为啥我这里写 decai*aa = (decai*)a; 就编译报错??
  13.         struct pp *bb = (struct pp *)b;
  14.         if(aa->de != bb->de)
  15.         {
  16.                 return bb->de -aa->de;
  17.         }
  18.         else
  19.         {
  20.                 return bb->cai-aa->cai;
  21.         }
  22. }
  23. int main()
  24. {
  25.         int N,L,H;
  26.         decai kaosheng[100000];
  27.         scanf("%d%d%d",&N,&L,&H);
  28.         getchar();
  29.         int i,count[5]={0},j;
  30.         int de_fen,cai_fen;
  31.         for(i=0;i<N;i++)
  32.         {
  33.                 scanf("%s %d %d",&kaosheng[i].id,&kaosheng[i].de,&kaosheng[i].cai);
  34.                 getchar();
  35.                 //对每一类分别标识
  36.                 de_fen = kaosheng[i].de;
  37.                 cai_fen = kaosheng[i].cai;
  38.                 if(de_fen>=H&&cai_fen>=H){
  39.                         count[0]++;                                //才德全尽
  40.                         kaosheng[i].flag=1;}
  41.                 else if(de_fen>=H&&cai_fen < H&&cai_fen>=L){
  42.                         count[1]++;                                //德胜才
  43.                         kaosheng[i].flag = 2;}
  44.                 else if(de_fen>=L&&de_fen<H&&cai_fen>=L&&cai_fen<H&&cai_fen<=de_fen){
  45.                         count[2]++;                // 才德兼亡
  46.                         kaosheng[i].flag=3;}
  47.                 else if(de_fen>=L && cai_fen>=L){
  48.                         count[3]++;                        //其他的符合条件的
  49.                         kaosheng[i].flag=4;}
  50.                
  51.         }
  52.         int sum_count = 0;//达标总人数
  53.         for(i=0;i<4;i++) sum_count +=count[i];
  54.                 printf("%d\n",sum_count);
  55.         decai temp[100000];
  56.         //打印最后结果
  57.         for(i=1;i<5;i++)// 类别
  58.         {
  59.                 int l = 0;
  60.                 for(j=0;j<N;j++)//考生人数
  61.                 {
  62.                         if(kaosheng[j].flag==i)
  63.                         {
  64.                                 temp[l++] = kaosheng[j];
  65.                          }
  66.                 }
  67.                 qsort(temp,count[i-1],sizeof(temp[0]),cmp);
  68.                 for(int k=0;k<count[i-1];k++)
  69.                 {
  70.                         printf("%s %d %d\n",temp[k].id,temp[k].de,temp[k].cai);
  71.                 }
  72.         }
  73.         return 0;
  74. }
复制代码
球球大家帮忙找找哪里写错了,还没等输入就程序自动退出不知为啥??

最佳答案
2021-6-20 14:12:15
堆栈溢出了
windows里默认栈内存是1M,所以当申请空间大于1M时就会出现溢出错误。

解决办法可以扩大栈空间的大小
也可以将decai kaosheng[100000];和decai temp[100000];移出main函数写成全局变量,就可以解决了
或者还可以改成申请内存释放内存那种,这种我也不太会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-20 11:36:08 | 显示全部楼层

回帖奖励 +3 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-20 13:10:06 | 显示全部楼层

回帖奖励 +3 鱼币

不会呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-20 14:12:15 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +3 鱼币

堆栈溢出了
windows里默认栈内存是1M,所以当申请空间大于1M时就会出现溢出错误。

解决办法可以扩大栈空间的大小
也可以将decai kaosheng[100000];和decai temp[100000];移出main函数写成全局变量,就可以解决了
或者还可以改成申请内存释放内存那种,这种我也不太会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-20 14:46:30 | 显示全部楼层
战机智 发表于 2021-6-20 14:12
堆栈溢出了
windows里默认栈内存是1M,所以当申请空间大于1M时就会出现溢出错误。

谢谢啦!!强啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-20 15:06:08 | 显示全部楼层

回帖奖励 +3 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-21 13:13:25 | 显示全部楼层

回帖奖励 +3 鱼币

新人来向大佬学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 14:58:56 | 显示全部楼层

回帖奖励 +3 鱼币

向大佬学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-25 14:05:02 | 显示全部楼层
向大佬学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-27 19:13:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 19:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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