C语言运行程序为什么没有输出数字,产生的原原因如下:
创新互联是一家集网站建设,清丰企业网站建设,清丰品牌网站建设,网站定制,清丰网站建设报价,网络营销,网络优化,清丰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
1、输入的格式不对
要输入“浮点数”并用 “逗号” 分隔输入三个数两个逗号后还要额外多加一回车才开始后面的流程,
如果把
scanf("%f,%f,%f\n",a,b,c);
改为
scanf("%f%f%f",a,b,c);
就可以用空白符做分隔了。
2、没有输出
不知道计算的结果那算法就没有意义了。输出不一定是要打印到屏幕上的,可以是下一个程序的输入,可以是一个文件、一段语音、一张图像,甚至是机器人的步行动作等等。
程序要实现的功能没说,怎么知道错什么了?
#include stdio.h
float *search(float (*p)[4],int n); /*函数定义应该写在外*/
main()
{ float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
/*float *search(float (*p)[4],int n); 应该写在外*/
float *a = NULL; /*使用前应该初始化为NULL 虽然不是必须的 仅仅是建议*/
int i,j;
for (i=0;i3;i++) { //增加
a=search(score,i);
if (a==*(score+i))
{
printf("No.%d score is ",i);
for (j=0;j4;j++)
printf("%f ",*(a+j));
putchar('\n');
}
}
return(0);
}
float *search(float (*p)[4],int n)
{
/*
这函数什么意思,到底查找什么呀,好费解
*/
int i;
float *a;
a=*(p+n+1); //什么p+n+1加n还加1到底要干什么
for (i=0;i4;i++)
if (*(*(p+n)+i)=60) /* 什么意思,第一个分数=60?做什么,你的3组数据都是=60的 */
a=*(p+n); // 另a这样改变,你是根据数据特征(=60)来变???
return(a);
}
题目似乎是:有一个班,3个学生,各学4门课,计算总平均分和第3个学生的成绩。
void main()
{void average(float *p,int n);
void search(float (*p)[4],int n);/*此行问题*/
float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
average(*score,12);
search(score,2);
}
void average(float *p,int n)
{float *p_end;
float sum=0,aver;
p_end=p+n-1;
for(;p=p_end;p++)
sum=sum+*p;
aver=sum/n;
printf("average=%5.2f\n",aver);
}
void search(float (*p)[4],int n)
{int i;
printf("the score of NO.%d are:\n",n);
for(i=0;i4;i++)
printf("%6.2f",*(*(p+n)+i));
}
我就不说废话了,你写的看得好令人费解
scanf("%f %f %f",a,b,c);//改为scanf("%f%f%f",a,b,c);,空格去掉比较好。
else if (m=0)改为else if (m==0)
可以调用。
输入的数据 应合理,例如: Enter e and x: 输入 0.001 0.25
至于公式是否正确,计算结果是否对,未给你仔细看。