| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 776 人关注过本帖
标题:请教多文件问题!!!
只看楼主 加入收藏
风之翼ASD
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2011-1-9
结帖率:100%
收藏
已结贴  问题点数:3 回复次数:12 
请教多文件问题!!!
以下四个文件连接起来后,编译器都没提示错误了,但是运行起来总是得不到我预想的结果。我的目的是:第二个文件输入;第三个文件,从最后一个数开始往前面相乘;第四个文件对所输入的数据进行排序!!!麻烦大家帮我找找问题所在,好吗?在此先谢了!!!
f1.c:
#include<stdio.h>
double m[10];
void main()
{
 void readin(double m[10],int size);
 void product(double m[10],int size);
 void sortA(double m[10],int size);
 readin(m[10],10);
 product(m[10],10);
 sortA(m[10],10);
}


f2.c:
void readin(double m[10],int size)
{
 int i;
 for(i=0;i<size;i++)
  scanf("%lf",&m[i]);
}


f3.c:
void product(double m[10],int size)
{
 double b=1;int i;
 for(i=9;i>=0;i--)
  {
   b=b*m[i];
   if(i<0)
   break;
  }
   printf("The product is:%lf",b);
}


f4.c:
void sortA(double m[10],int size)
{
 double a[10],temp;
 int k,i,j;
 for(k=0,i=0;k<size;k++,i++)
 a[i]=m[k];
 for(j=0;j<9;j++)
  for(i=0;i<9;i++)
    if(a[i]>a[i+1])
     {temp=a[i+1];
      a[i+1]=a[i];
      a[i]=temp;}
  printf("The srted number:");
 for(i=0;i<10;i++)
 printf("%lf",a[i]);
 printf("\n");
}
搜索更多相关主题的帖子: 编译器 
2011-04-16 21:13
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
帮顶~~还没学到文件操作

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-16 22:02
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:0 
LZ提问好歹把问题描述的详细点吧。
你所谓的得不到你预想的结果是指程序运行出错还是代码逻辑错误?
如果是程序出错,那么报了什么错?如果是逻辑错误,那么哪个函数执行的结果与你预想的不符?
直接扔一堆代码,别人也无从下手啊!

[ 本帖最后由 Kid_X 于 2011-4-17 00:19 编辑 ]
2011-04-17 00:17
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:1 
传递数组作为实参,好像不是那样的吧??
m[10] 好像是 m的第十个元素吧??

readin(m[10],10);
product(m[10],10);
sortA(m[10],10);

这个地方先改改,其它的我还没看
2011-04-17 00:26
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
不太明白  楼主去参考一下mfc的多文件结构

然后你就会知道stdafx.h的用途

再把stdafx.h加入到你的程序里面  你就没错了

                                         
===========深入<----------------->浅出============
2011-04-17 09:20
flylee
Rank: 5Rank: 5
等 级:职业侠客
帖 子:309
专家分:374
注 册:2004-8-10
收藏
得分:0 
加个头文件,在里面声明一下数组m

程序代码:
//databasic.h
_ifndef _DATABASIC_H_
define _DATABASIC_H_

extern double m*;

_endif


在4个c文件都include一下这个头文件
2011-04-17 09:55
辰星睿
Rank: 2
等 级:论坛游民
威 望:3
帖 子:33
专家分:63
注 册:2010-12-24
收藏
得分:1 
#include<stdio.h>
#define size 10
void readin( );
void product( );
void sortA();

int m[10];

void main()
{
//readin(double m[10],int size);
 //product(double m[10],int size);
//sortA(double m[10],int size);
readin();
printf("\n");
product();
printf("\n");
sortA();
printf("\n");
}



void readin( )
{
int i;
for(i=0;i<size;i++)
  scanf("%d",&m[i]);
}



void product( )
{
int b=1;
int i;
for(i=9;i>=0;i--)
  {
   b=b*m[i];
  // if(i<0)
  // break;
  }
   printf("The product is:%d",b);
}


void sortA()
{
double a[10],temp;
int k,i,j;
for(k=0,i=0;k<size;k++,i++)
a[i]=m[k];
for(j=0;j<9;j++)
  for(i=0;i<9;i++)
    if(a[i]>a[i+1])
     {temp=a[i+1];
      a[i+1]=a[i];
      a[i]=temp;}
  printf("The srted number:");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}

貌似最后一个排序有问题 前面的应该没问题了 你自己多尝试着改错
2011-04-17 11:51
风之翼ASD
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2011-1-9
收藏
得分:0 
回复 2楼 ansic
谢了~
2011-04-18 14:10
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:1 
程序代码:
//问题在于 main() 调用其他函数时参数传递错误
void main()
{
    void readin(double m[10], int size);
    void product(double m[10], int size);
    void sortA(double m[10], int size);
    // readin(m[10],10);    // 这样传递的是数组的一个元素,而非整个数组
    readin(m, 10);
    // product(m[10],10);    // 同上
    product(m, 10);
    // sortA(m[10],10);    // 同上
    sortA(m, 10);
}


要传递数组作为函数参数时,函数形参不用定义数组长度,void readin(double m[10], int size); 可以写成 void readin(double m[], int size);
还有,楼主在每个 printf() 里加上 "\n", 不然显示的结果太乱了。

[ 本帖最后由 voidx 于 2011-4-18 14:31 编辑 ]
2011-04-18 14:28
风之翼ASD
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2011-1-9
收藏
得分:0 
回复 3楼 Kid_X
谢谢提醒哈~问题解决了~
2011-04-19 00:54
快速回复:请教多文件问题!!!
数据加载中...
 
   



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

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