永发信息网

统计数字的一道题 用DEV CPP写的代码哪里错了 请教高人

答案:1  悬赏:80  手机版
解决时间 2021-04-12 13:42
描述 Description
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果
输入格式 Input Format
  输入文件包含n+1行:
  第1行是整数n,表示自然数的个数。
  第2~n+1行每行一个自然数。
输出格式 Output Format
输出包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

样例输入:

8
2
4
2
4
5
100
2
100

样例输出:

2 3
4 2
5 1
100 2

下面是代码:

#include"stdio.h"
main()
{
int b[10000];
int n;
FILE *fp1,*fp2;
fp1=fopen("put.in","r");
fscanf(fp1,"%d",&n);
int a[n];
for(int i=1;i<=n;i++)
{
fscanf(fp1,"%d",&a[i]);
}
for(int m=1;m<=n;m++)
for(int k=1;k<=n;k+2)
{
if(m==1)
b[k]=a[m];
if(a[m]==b[k])
b[k+1]++;
else
b[k+2]=a[m];
}

fp2=fopen("put.out","w");
for(int s=1;s<=n;s+2)
{
fprintf(fp2,"%d %d\n",b[s],b[s+1]);
}
}
运行倒是可以运行 就是运行后弹了个黑框框就没反映了 是程序写错了还是?

最佳答案
#include"stdio.h"
main()
{
int b[10000];
int n;
FILE *fp1,*fp2;
fp1=fopen("put.in","r");
fscanf(fp1,"%d",&n);
int a[n];
for(int i=0;i<n;i++) // 数组下标是从0开始的,你写成<=就越界了
{
fscanf(fp1,"%d",&a[i]);
}
for(int m=0;m<n;m++)
for(int k=0;k<n;k+=2) // 还有这里是k+=2不是k+2
{
if(m==0)
b[k]=a[m];
if(a[m]==b[k])
b[k+1]++;
else
b[k+2]=a[m];
}

fp2=fopen("put.out","w");
for(int s=0;s<n;s+2)
{
fprintf(fp2,"%d %d\n",b[s],b[s+1]);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
关于初一学习的问题
七年级科学问题,紧急用!!
信用水果连锁店地址在什么地方,想过去办事
对新婚老师的祝福语!
下列没有“成分残缺”语病的一句是A.国外的未
扣扣密码忘了,没有密保没有绑定手机号,除了
QQ宠物为什么我买了玩具用不了?
我要注销此号
如何选择适合自己的衣服?
古代诗人赞美长江的诗句有哪些
DNF今天维护完后转区的还是在原大区吗
自由幻想60级JK牛人进
保嘎怎么去啊,有知道地址的么
最近有啥好的3D的分阵营的网游?除了WOW和蜀
新能源汽车为什么需要BMS
推荐资讯
怎样以最快的速度或取最大值的G币
吴江到嘉兴要多长时间,吴江到常熟有多远?
游侠网单机游戏排名前二十的分别是什么游戏?
想个和‘难以搁浅’相配的网名
岔着吃龙骨传奇怎么去啊,有知道地址的么
求一副新婚贺词
儿童字谜语大全7一9岁
单选题2005年2月19日,美国和日本在华盛顿召
介绍好看的电影
单选题Findingherhousebrokeninto,________.
安然若水是什么意思,淡是什么意思
做了近一个小时还没有射,表示什么?怎样有助
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?