标题:一道三级的题目,我已经和零分战斗一宿了。
取消只看楼主
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
结帖率:95.24%
已结贴  问题点数:20 回复次数:1 
一道三级的题目,我已经和零分战斗一宿了。
题干:
已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数位置上的值减去百位数位置上的值再减去十位数位置上的值最后减去个位数位置上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt,并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。
注意:部分源程序存在test.c文件中。
程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
代码:
程序代码:
#include <stdio.h>
#define MAX  200
int a[MAX], b[MAX], cnt = 0;
void writeDat();
void jsVal()
{
    int i0=0,i1=0;
    int the4=0,the3=0,the2=0,the1=0;
    int x=0;
    for(i0=0;i0<200;i0++)
    {
        the4=a[i0]/1000;
        the3=(a[i0]-the4*1000)/100;
        the2=(a[i0]-the4*1000-the3*100)/10;
        the1=a[i0]-the4*1000-the3*100-the2*10;
        if((the4-the3-the2-the1)>=0 && (a[i0]%2)==1)
        {
            b[cnt++]=a[i0];
        }
    }
    for(i0=0;i0<cnt;i0++)
    {
        for(i1=0;i1<cnt-1;i1++)
        {
            if(b[i1]>b[i1+1])
            {
                x=b[i1];b[i1]=b[i1+1];b[i1+1]=x;
            }
        }
    }
}
void readDat()
{
  int i;
  FILE *fp;
  fp = fopen("in.dat", "r");
  for(i = 0; i < MAX; i++) 
    fscanf(fp, "%d", &a[i]);
  fclose(fp);
}
void main()
{
  int i;
  readDat();
  jsVal();
  printf("满足条件的数=%d\n", cnt);
  for(i = 0; i < cnt; i++) 
    printf("%d ", b[i]);
  printf("\n");
  writeDat();
}
void writeDat()
{
  FILE *fp;
  int i;
  fp = fopen("out.dat", "w");
  fprintf(fp, "%d\n", cnt);
  for(i = 0; i < cnt; i++)
    fprintf(fp, "%d\n", b[i]);
  fclose(fp);
}



求正解,或者明确告诉我模拟软件有问题。

[ 本帖最后由 dreamofgod 于 2011-9-3 00:15 编辑 ]
搜索更多相关主题的帖子: 战斗 源程序 战斗 源程序 个位数 个位数 
2011-09-03 00:07
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
得分:0 
感谢感谢。
发现写完后要运行一下,得自己输出out.dat。

一个单片机就让我头疼不已~~~
2011-09-03 08:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-349025-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved