ZKX's LAB

C语言求平均数问题 c语言中有一种算法取平均数法确定位置

2021-04-09知识7

C语言求平均数问题 键盘输入数每个数结束打回车键(Enter键)输入数全部结束后打end(小写,无空白,end完毕也要Enter键)输出结果。includeincludevoid main(){double a[3000],sum=0.0;char s[32];int i,j,N=0;Lab1:printf(\"Please enter data,if finish,enter end\\n\");scanf(\"%s\",&s[0]);printf(\"you entered%s\\n\",s);if(strncmp(\"end\",s,1)=0)goto done;sscanf(&s[0],\"%lf\",&a[N]);N=N+1;goto Lab1;done:;for(i=0;i;i+){sum=sum+a[i];}sum=sum/(double)N;printf(\"mean=lf,N=d\\n\",sum,N);}

怎样用C语言编写一个求平均数的程序?要求如下.刚学C语言, includeint chartoint(char ch){int a;switch(ch){case 'A':a=4;break;case 'B':a=3;break;case 'C':a=2;break;case 'D':a=1;break;case 'F':a=0;break;default:a=-5000;}return a;}main(){char ch;int gpa,i;while(scanf(\"%c\",&ch)。EOF){gpa=chartoint(ch);for(i=0;i=0)printf(\"%.2f\\n\",gpa/6.0);elseprintf(\"Unknown letter grade in input\\n\");getchar();}}这个可以实现输入多组数据的,感觉题目不规范,没有描述终止条件,最后的getchar()是用来吸收回车的,你可以去掉以后调试一下就知道效果了

C语言编程问题求解:输入一个四行五列的数组,要求算出平均值最大的一行以及平均值。请问逻辑错误在哪? 你这个程序,第一个循环,你没有任何用处,循环那么多遍你计算的始终是第一行的值。你可以直接去掉循环max=a[0][0]+.+a[0][4].然后第二个循环,你要把if那个判断挪到循环里面去。不然你这样循环结束后total就等于最后一边的循环值,就是最后一行的值。你就只是把第一行跟最后一行做了比较,别的你都没比较。把判断大小的if放在循环里面。还有,你的循环其实只是循环了行,并没有设计列,所以把j的那个循环也可以去掉,一层循环就够了。我修改了一下,是这样includeint main(){ float a[4][5];int i,j,t1;float aver,max,total;printf(\"请输入数组\\n\");for(i=0;i;i+){for(j=0;j;j+){scanf(\"%f\",&a[i][j]);}}max=a[0][0]+a[0][1]+a[0][2]+a[0][3]+a[0][4];for(i=0;i;i+){total=a[i][0]+a[i][1]+a[i][2]+a[i][3]+a[i][4];if(total>;max){max=total;t1=i+1;}total=0;}aver=max/5;printf(\"平均值最大的行是第%d行,平均值是%f\",t1,aver);return 0;}

#c语言中有一种算法取平均数法确定位置

随机阅读

qrcode
访问手机版