C语言的小题目

依次输入某个班级N个同学的数学。物理。化学成绩。计算平均成绩输出成绩列表。同时还要输出每个同学平均成绩是否高于班级平均列子:n=4s1=608090S2=707887s2... 依次输入某个班级N个同学的数学。物理。化学成绩。计算平均成绩输出成绩列表。同时还要输出每个同学平均成绩是否高于班级平均
列子:
n=4
s1=60 80 90
S2=70 78 87
s2=95 55 89
s3=95 66 89
s4=67 89 90
no mat phy chm avg y/n
1 60 80 90 77 n
2 70 78 87 78 n
3 95 66 89 83 y
4 67 89 90 82 y
展开
 我来答
北正牧职
游戏玩家

2019-05-30 · 非著名电竞玩家
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:792万
展开全部
这个程序很简单,用递归是把问题复杂化了,不过实现的方法有很多种,只要能实现就行。以下是我的一种方法,已经过编译调试,可运行
算法核心如下:
while
(
i
<
loop
)
{
sum
+=
a
*
pow(
10
,
i
)
+
temp;
temp
+=
a
*
pow(
10
,
i
);
i
++;
}
我想你应该能看懂,就不具体解释了哈
程序源代码如下:
#include
"stdio.h"
#include
"math.h"
int
main()
{
int
a;
/*进行计算的数*/
int
loop;
/*循环次数*/
int
i
=
0;
/*循环起始值*/
double
temp
=
0;
/*过程变量,存储上一次的值*/
double
sum
=
0;
/*总和*/
printf(
"Please
input
two
numbers
form
as:
numerA
numberLOOP\n"
);
scanf(
"%d
%d",
&a
,
&loop
);
while
(
i
<
loop
)
{
sum
+=
a
*
pow(
10
,
i
)
+
temp;
temp
+=
a
*
pow(
10
,
i
);
i
++;
}
printf(
"\nResult
is:
%.0f\n"
,
sum
);
return
0;
}
汤夏璇茅咏
2019-11-08 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:542万
展开全部
#include
<stdio.h>
#include
<math.h>
double
digiu(double
a,double
*b)//这题个人觉得用递归比较方便
{
double
i,sum;
i=0;sum=0;
while(i<*b)
{
sum=sum+a*pow(10,
i);//pow原形double
pow(低数,指数
);,pow10()在vc里没有,在TC里就不知道了
i++;
}
*b=*b-1;
if(*b!=0)
return
sum+digiu(a,b);
else
return
sum;
}
void
main()
{
double
a,b,i=1,sum=0;
scanf("%lf,%lf",&a,&b);//a为相同的数,b为多少个数相加,输入时ab间最好有,号,像这样a,b
if(b==0)
printf("Error!!\n");
else
printf("%lf\n",digiu(a,&b));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhenvv
2010-04-24 · 超过14用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#define N 4
#define n 6
void main()
{
int i,j;int Avg=0,sum=0;
int a[N][n];
for(i=0;i<N;i++)
{
printf("请输入第%d个生的三科成绩\n",i+1);
for(j=1;j<n-2;j++)
{
scanf("%d",&a[i][j]);
sum=sum+a[i][j];
}
}
Avg=sum/((n-3)*N);
printf("%d",Avg);
for(i=0;i<N;i++)
a[i][0]=i+1;
sum=0;
for(i=0;i<N;i++)
{
for(j=1;j<n-2;j++)
sum=sum+a[i][j];
a[i][n-2]=sum/(n-3);
sum=0;
if(a[i][n-2]>Avg)
a[i][n-1]='y';
else
a[i][n-1]='n';
}

printf("no mat phy chm avg y/n\n");
for(i=0;i<N;i++)
{
for(j=0;j<n;j++)
if(j==n-1)
printf("%c",a[i][j]);
else
printf("%-3d ",a[i][j]);
printf("\n");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
葛施然仪侬
2019-05-26 · TA获得超过2.9万个赞
知道小有建树答主
回答量:1.1万
采纳率:32%
帮助的人:683万
展开全部
#include
"stdio.h"
#include
"math.h"
void
main()
{
long
int
a,b,i,n=0;
int
sum=0;
printf("Input
the
number:");
scanf("%ld",&a);
for(i=0;i<6;i++){
if(a/pow(10,i)>=1){
n++;
}
}
for(i=n-1;i>=0;i--){
b=a/pow(10,i);
a=a-b*pow(10,i);
sum+=b;
}
printf("%d\n",sum);
getch();
}
这样就实现了
,试试吧。以前我也用过这个方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小轨M
2019-06-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:604万
展开全部
pow是用错了
但是整个程序运行也有问题把,pow(a,b),a是底数,b是指数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式