c语言的问题
c语言的问题这个程序要实现的是输入实际重量和猜测重量第一个函数返回西瓜的个数第二个函数输出绝对误差和相对误差绝对=猜测-实际相对=100*绝对/实际代码如下#includ...
c语言的问题这个程序要实现的是输入实际重量和猜测重量
第一个函数返回西瓜的个数 第二个函数输出绝对误差和相对误差 绝对=猜测-实际 相对=100*绝对/实际 代码如下#include<stdio.h>int main(){ int in_data(float *,float *); void out_list(float *,float *,int); int c,i,j; float *p1,*p2; p1=0;p2=0; printf("请输入若干西瓜的实际重量和猜测重量,以-1为结束标记:\n"); j=in_data(p1,p2); out_list(p1,p2,j); }int in_data(float *pa,float *pb){ int i,n;n=3; int j;j=0; float a[n],b[n]; for(i=0;;i++) { if(i>n) n=i; scanf("%f %f",&a[i],&b[i]); if(a[i]==-1&&b[i]==-1) break; j++; } pa=a;pb=b; return j;}void out_list(float *pc,float *pd,int i) { float c[i],d[i]; int l,j,k; for(l=0;l<i;l++) c[l]=(pd+l)-(pc+l); for(j=0;j<i;j++) d[j]=100*c[j]/(pc+j); printf("西瓜编号 实际重量 猜测重量 绝对误差 相对误差\n"); for(k=0;k<i;k++) { printf("西瓜%d",k+1); printf("%19.4fkg",(pc+k)); printf("%15.4fkg",(pd+k)); printf("%15.4fkg",c[k]); printf("%15.4f%%",d[k]); printf("\n"); }} 求解 展开
第一个函数返回西瓜的个数 第二个函数输出绝对误差和相对误差 绝对=猜测-实际 相对=100*绝对/实际 代码如下#include<stdio.h>int main(){ int in_data(float *,float *); void out_list(float *,float *,int); int c,i,j; float *p1,*p2; p1=0;p2=0; printf("请输入若干西瓜的实际重量和猜测重量,以-1为结束标记:\n"); j=in_data(p1,p2); out_list(p1,p2,j); }int in_data(float *pa,float *pb){ int i,n;n=3; int j;j=0; float a[n],b[n]; for(i=0;;i++) { if(i>n) n=i; scanf("%f %f",&a[i],&b[i]); if(a[i]==-1&&b[i]==-1) break; j++; } pa=a;pb=b; return j;}void out_list(float *pc,float *pd,int i) { float c[i],d[i]; int l,j,k; for(l=0;l<i;l++) c[l]=(pd+l)-(pc+l); for(j=0;j<i;j++) d[j]=100*c[j]/(pc+j); printf("西瓜编号 实际重量 猜测重量 绝对误差 相对误差\n"); for(k=0;k<i;k++) { printf("西瓜%d",k+1); printf("%19.4fkg",(pc+k)); printf("%15.4fkg",(pd+k)); printf("%15.4fkg",c[k]); printf("%15.4f%%",d[k]); printf("\n"); }} 求解 展开
3个回答
展开全部
#include<stdio.h>
#define NUM 1000 /*这只是自定义一个尽量大的数作为数组的个数,简单点,也可以
选择用malloc定义*/
int in_data(float *,float *);
void out_list(float *,float *,int);
int main()
{
int c,i,j;
float p1[NUM]={0};
float p2[NUM]={0};
printf("请输入若干西瓜的实际重量和猜测重量,以-1为结束标记:\n");
j=in_data(p1,p2);
out_list(p1,p2,j);
return 0;
}
int in_data(float *pa,float *pb)
{
int i,n;
int j;
j=0;
for(i=0;;i++)
{
scanf("%f",&pa[i]);
if (pa[i]!=-1) {
j++;
}else {
break ;
}
scanf("%f",&pb[i]);
}
return j;
}
void out_list(float *pc,float *pd,int i)
{
float c[i],d[i];
int l,j,k;
for(l=0;l<i;l++)
c[l]=*(pd+l)-*(pc+l);
for(j=0;j<i;j++)
d[j]=100*c[j]/pc[j];
printf("西瓜编号 实际重量 猜测重量 绝对误差 相对误差\n");
for(k=0;k<i;k++)
{
printf("西瓜%d",k+1);
printf("%19.4fkg",*(pc+k));
printf("%15.4fkg",*(pd+k));
printf("%15.4fkg",c[k]);
printf("%15.4f%%",d[k]);
printf("\n");
}
更多追问追答
追问
我的代码是哪里错呢
追答
1:main里少return 0,
2:in_date里不需要再定义数组a和b,输入实际质量后判断一下,如果为-1,就不需要再输入了
3:void那个函数里d[j]=100*c[j]/(pc+j)中pc+j改成pc[j],输出里pc+k和pd+k前面加*号
大概就记得这么多。
这是根据你的代码改的,你对着看一下哪里不同就好了,我也是刚学没多久,除了大概格式具体看不出哪里为什么不对,有需要可以用编译器调试一下就知道了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序给出提示是说编译的时候找不到CL.EXE这个程序。这主要是VC编译环境未设置好造成的。一定是你在安装完VC后又移动了VC的安装目录。可以在VC中重新设计:Tools->Options...打开Options对话框,选中Directories选项卡,其中有一个Show
directiories
for下拉列表框,选中Include
files。然后在下面设置正确的包含文件目录。CL.exe默认所在的目录为C:MICROSOFT
VISUAL
STUDIOVC98INCLUDE.
directiories
for下拉列表框,选中Include
files。然后在下面设置正确的包含文件目录。CL.exe默认所在的目录为C:MICROSOFT
VISUAL
STUDIOVC98INCLUDE.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照上面的仁兄的答案也可以,但是改后的路径一般保存不了。给你个最简单的办法就是把你的VC++卸载后重装,然后直接将所有目录安装到你的系统盘C中,就高枕无忧了哈。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询