码迷,mamicode.com
首页 > 其他好文 > 详细

做题纹路4

时间:2018-03-29 19:17:24      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:...   ota   for   core   one   blog   play   res   case语句   

技术分享图片
 1 #include <stdio.h>
 2 
 3 #include <stdlib.h>
 4 
 5 int main()
 6 
 7 {
 8 
 9     int a[5][3] = { { 80,75,92 },{ 61,65,71 },{ 59,63,70 },{ 85,87,90 },{ 76,77,85 } }, j, k;
10 
11     float sum1 = 0, sum2 = 0, sum3 = 0, ave = 0;
12 
13     for (k = 0; k < 3; k++)
14 
15     {
16 
17         for (j = 0; j < 5; j++)
18 
19         {
20 
21             switch (k)
22 
23             {
24 
25             case 0:
26 
27                 sum1 += a[j][k];
28 
29                     if(j>3)
30 
31                 {
32 
33                     printf("The math average scores is %5.2f ", sum1 / 5.0);
34 
35                 }
36 
37                 break;
38 
39             case 1:
40 
41                 sum2 += a[j][k];
42 
43                 if (j > 3)
44 
45                 {
46 
47                     printf("\n\n\tThe c average scores is %5.2f ", sum2 / 5.0);
48 
49                 }
50 
51                 break;
52 
53             case 2:
54 
55                 sum3 += a[j][k];
56 
57                 if (j > 3)
58 
59                 {
60 
61                     printf("\n\n\t\tThe foxpro average scores is %5.2f", sum3 / 5.0);
62 
63                 }
64 
65                 break;
66 
67             default:
68 
69                 printf("Please input again!\n");
70 
71             }
72 
73         }
74 
75         ave = (sum1 + sum2 + sum3) / 3;
76 
77         if (k > 1)
78 
79         {
80 
81             printf("\n\n\n\t\tThe total average is %5.2f\n", ave);
82 
83         }
84 
85     }
86 
87     system("pause");
88 
89     return 0;
90 
91 }
View Code

 

 

这个东西有点长哦!!自己编写的。

 

 技术分享图片

 

技术分享图片
#include <stdio.h>

#include <stdlib.h>

int main()

{

    int i, j, s = 0, average, v[3];

    int a[5][3] = { {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };

    for (i = 0; i < 3; i++)

    {

        for (j = 0; j < 5; j++)

        {

            s = s + a[j][i];

        }

            v[i] = s / 5;

       

        s = 0;

    }

    average = (v[0] + v[1] + v[2]) / 3;

    printf("math:%d\nc language:%d\ndFoxpro:%d\n", v[0], v[1], v[2]);

    printf("total:%d\n", average);

    system("pause");

    return 0;

}
View Code

 

首先是自己的,首先我们肯定是横向计算5个人,以学科为主,这样,我就应该定3那个,在我的答案中,也就是k(嵌套循环,外层循环,等待内层循环进行),然后在内层循环进行变,来计算这一科的平均分,而,k从0到2,代表3个学科,所以我就用了case来选择(case相当于else if),特别要注意,if语句不能把sum的计算包括进去,包括进去会造成,sum就只运算符合if语句那次。

 

答案的话,首先好在用一个一维数组v[i]代替了我的的switch...case语句,简便很多,但需要我注意for循环内层语句,for不能包括v[i]=s/5    s=0进去,因为包括进去,会造成多个v[i]输出,,额但是i唯一,所以只会输出最后一个的值,但这样会浪费计算时间,最后一个为答案,s归0又使得变量无法计算5个人一科成绩,只计算一个人/5。

做题纹路4

标签:...   ota   for   core   one   blog   play   res   case语句   

原文地址:https://www.cnblogs.com/Mayfly-nymph/p/8671008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!