首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮朋友问个计算机考试的有关问题,请帮助解决

2012-02-15 
帮朋友问个计算机考试的问题,请帮助解决。#includestdio.h#defineMAX200inta[MAX],b[MAX],cnt0voidjsVa

帮朋友问个计算机考试的问题,请帮助解决。
#include   <stdio.h>
#define   MAX     200
int   a[MAX],   b[MAX],   cnt   =   0   ;

void   jsVal()
{
}

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()   ;
}

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)   ;
}
这是原程序我把题目打给你不能复制

编制一函数jsVal(),起功能是:把一个四位数的个位数字是的值减千位减百位减十位,如果得出的值大于等于零而且是偶数,则统计个数cnt,并按大小顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中


[解决办法]
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;

void jsVal()
{
for( int i =0; i < MAX; i++)
{
b[cnt] = a[i]%10 - a[i]/1000 - (a[i]/100) %10 -(a[i]/10) %10 ;
if( b[cnt] > = 0 && b[cnt] % 2 ==0 ) b[cnt++] = a[i] ;
}
}


ps : 强烈bs 滥用全局变量,另外,题目有bug

热点排行