一个C语言函数调用的问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 16:30:35
小弟之前的提过类似的问题,就是从一个文本文件中读取数字比如文件中的数字为(22,33,4,2,5,5), 把读到的数字保存进一个数组里面,然后比较,选出数组里最大的数,依次把数组里的每个数和那个最大数相除,比如我之前说的文本中最大数为33,然后依次执行22除以33,33除以33,结果用小数点表示,最后把结果保存到另一个文件中.我已经把整个程序写出来了,找了个朋友改了下,可是结果输出还是有问题,下面我把程序贴出来,希望得到帮助.

需要新建一个控制台,然后建几个CPP文件,把主文件和其它自制函数的代码单独的放入各自的文件中,
下面是主文件代码:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include "Task.h"
int n=0;
int max=0;
void ModifyVec(int Size,int *pVec )
{
max=*pVec;

for(int w=1;w<n;w++)
if(*(pVec+w)>max)
max=*(pVec+w);
}

int main(int argc,char *argv[])
{

int a[MAX_ARRAY];
int *vec=&a[0];
char *inputFileName="D:\\input.txt";
OpenFile(inputFileName,"r",2);
ReadVector(vec,n,inputFileName);
WorkCS(10,2,0);
ModifyVec(n, vec ); // find maximum
PrintVector(vec, n,"output.txt", "w&quo

Mode[0]="r"; 这个去掉吧 没用

printf("error № %d. couldnt open the file"
"file <%s> in Mode <%s>\n",ErrCode,pFileName,Mode); //%c-->%s

fprintf(pFileOut2,"%f ",double(*pVec+m)/double(max)) 改成
fprintf(pFileOut2,"%lf ",double(pVec[m])/double(max)) 试一下

#include<iostream>
#include<fstream>
#include<vector>
using namespace std;

void main(void)
{
vector <int> v;
int d,i;
double max;
ifstream cin1("d:\\1.txt");
while(1)
{
cin1 >> d;
if(!cin1)
break;
v.push_back(d);
}
max=v[0];
for(i=1;i<v.size();i++)
if(v[i]>max)
max=v[i];
ofstream cout1("d:\\3.txt");
for(i=0;i<v.size();i++)
cout1<<v[i]/max<<endl;
}