| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 553 人关注过本帖
标题:帮帮忙,最后一步要如何修改
只看楼主 加入收藏
bgkike
Rank: 2
来 自:湖南衡山
等 级:论坛游民
帖 子:28
专家分:16
注 册:2009-7-28
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
帮帮忙,最后一步要如何修改
#include "stdio.h"
#include "conio.h"

void input(void)
{
        int a, i ;
        float sum = 0.0,i1=0.0;
        float score[100];

        printf("input ren shu:");    /*输入人数*/
        scanf("%d", &a);
        for (i = 0; i < a; i++) {
                printf("input %d de chengji:  ", i+1);
                scanf("%f", &score[i]);
        }
        for (i = 0; i < a; i++)
                sum += score[i];
        printf("sum is :%2f\n", sum);    /*求总分*/
        printf("\n");
        printf("Aver is :%f\n",sum/a);  /*求平均分*/
        printf("\n");
        for (i =0;i < a;  i++) {        /*求及格人数和及格率*/
                if (score[i]>=60)
                i1++;
       }
        printf("jige renshu is %d ren.\n",i1);
        printf("\n");
        printf("jige renshu de is %f%.\n",i1/a);  /*这里不知道怎么修改了..得不到百分数的值,最好是2位小数.*/
}

int main(void)
{
        input();
        getchar();
        while(1) {getchar();}     
}
搜索更多相关主题的帖子: void include 如何 
2010-07-03 12:40
moondark
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:158
注 册:2009-9-6
收藏
得分:0 
printf("jige renshu de is %f%%.\n",i1/a); 打印百分号的问题,输出格式是要打两个。。。
2010-07-03 13:34
bgkike
Rank: 2
来 自:湖南衡山
等 级:论坛游民
帖 子:28
专家分:16
注 册:2009-7-28
收藏
得分:0 
i1 到底是定义成什么类型.
定为float则不能够求出及格人数.

加我QQ和我们一起来探讨.......
2010-07-03 13:43
bgkike
Rank: 2
来 自:湖南衡山
等 级:论坛游民
帖 子:28
专家分:16
注 册:2009-7-28
收藏
得分:0 
我知道了..用强制转换.
printf("jige renshu de is %f%.\n",(float)i1/a(float));

结果是6位小数的,有没有办法四舍五入保留2位小数的??

加我QQ和我们一起来探讨.......
2010-07-03 18:26
xiaweiqiang
Rank: 2
等 级:论坛游民
帖 子:27
专家分:82
注 册:2010-7-1
收藏
得分:10 
#include "stdio.h"
#include "conio.h"

void input(void)
{
        int a, i ,j = 0;
        float sum = 0.0,i1=0.0,k=0.0;
        float score[100];

        printf("input ren shu:");    /*输入人数*/
        scanf("%d", &a);
        for (i = 0; i < a; i++) {
                printf("input %d de chengji:  ", i+1);
                fflush(stdin);
                scanf("%f", &score[i]);
        }
        for (i = 0; i < a; i++)
            sum += score[i];
        printf("sum is :%.2f\n", sum);    /*求总分*/
        printf("\n");
        printf("Aver is :%.2f\n",sum/a);  /*求平均分*/
        printf("\n");
        for (i =0;i < a;  i++)
        {        /*求及格人数和及格率*/
            if (score[i]>=60)
                j++;
        }
        printf("jige renshu is %d ren.\n",j);
        printf("\n");
        k=(float) j/(float) a;
        printf("jige renshu de %%is %.2f%%\n",k*100);  /*这里不知道怎么修改了..得不到百分数的值,最好是2位小数.*/
}

int main(void)
{
    input();
    return 0;
 
}

这样就行了  你需要的功能都实现了 也是2位小数
2010-07-03 20:30
bgkike
Rank: 2
来 自:湖南衡山
等 级:论坛游民
帖 子:28
专家分:16
注 册:2009-7-28
收藏
得分:0 
谢谢,可以了用了..
为什么*100后就能四舍五入了呢?*1000是保留三位小数吧.

加我QQ和我们一起来探讨.......
2010-07-03 21:51
xiaweiqiang
Rank: 2
等 级:论坛游民
帖 子:27
专家分:82
注 册:2010-7-1
收藏
得分:0 
不是  *100的意思是 你前面不是要输出 % 这个符号么  如果直接输出K的话就是实际值了啊  就没打到%的效果了啊
2010-07-04 11:13
starjun14
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:266
专家分:136
注 册:2009-4-26
收藏
得分:0 
学习~~~·
2010-07-04 12:02
快速回复:帮帮忙,最后一步要如何修改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016452 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved