代码运行后程序会自动结束

img

img


好像是文件读取时候存在的问题,其中number是整型,tiwen是double,date是整型,其他都是字符串

根据信息显示哪里有溢出,所以得检查下代码,并不一定是你贴的这个函数内。

看一下数据结构定义,另外检查一下fp是否为空

代码不完整,输入文件的内容是什么也不知道。
看看文件里有没有内容,格式和你的输入格式是否一致

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/343170
  • 这篇博客也不错, 你可以看下解决时间(date)类型序列化为数字(number)类型的问题
  • 除此之外, 这篇博客: 【蓝桥杯31日冲刺】冲刺第2日中的 四、约瑟夫环 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    n 个人的编号是 1 ~ nn,如果他们依编号按顺时针排成一个圆圈,从编号是 1 的人开始顺时针报数。
    (报数是从 1 报起)当报到 kk 的时候,这个人就退出游戏圈。下一个人重新从 1 开始报数。
    求最后剩下的人的编号。这就是著名的约瑟夫环问题。
    本题目就是已知 n,kn,k 的情况下,求最后剩下的人的编号。
    题目链接

    约瑟夫环

    输入描述
    输入是一行,2 个空格分开的整数 n, k(0 < n, k < 10的7次方)。
    输出描述
    要求输出一个整数,表示最后剩下的人的编号。
    输入输出样例
    输入
    10 3
    输出
    4

    这道题是2018年蓝桥杯国赛的真题,也是很经典的一道递归题。在CSDN上有很多大佬的讲解,我就不过多阐述了,直接上代码吧。

    代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
      int n, k, i, ans = 0;
      scanf("%d %d", &n, &k);
      for(i = 1; i <= n; i++)
      {
        ans = (ans + k) % i;
      }
      printf("%d", ans + 1);
      return 0;
    }
    


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^