| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 961 人关注过本帖
标题:这个程序怎么编啊 菜鸟求助
取消只看楼主 加入收藏
xiekanxiyang
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2008-4-3
收藏
 问题点数:0 回复次数:3 
这个程序怎么编啊 菜鸟求助
题:输入一串字符,直到输入一个星号为止,统计(输出)其中的正整数和负整数个数以及所有正整数的平均值和所有负整数的平均值。


我是新手 望各位前辈赐教
搜索更多相关主题的帖子: 平均值 正整数 
2008-04-03 12:45
xiekanxiyang
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2008-4-3
收藏
得分:0 
正数与负数怎么识别和区啊!
2008-04-03 22:25
xiekanxiyang
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2008-4-3
收藏
得分:0 
不是吧 我是说在你输入的是字符串的基础上怎么区分正负数
2008-04-04 06:47
xiekanxiyang
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2008-4-3
收藏
得分:0 
做出来了 呵呵!睡觉时想到的思路 然后用了1个多小时写出来的

#include"stdio.h"
main()
{
    int i=-1,n=-1,a,b,fu=1,num[80],fnum[80];         /*定义i为统计正数的个数n 为统计负数的个数*/
    float sumz=0,sumf=0,avz=0,avf=0;
    char ch1='t',ch;                                 /*数组num放正数,数组fnum放负数;fu用来标记负数*/
    while((ch=getchar())!='*')                       /*while循环输入字符,循环体对每个字符进行处理*/
    {    
        
        if(fu!=-1&&(ch>='0'&&ch<='9'))               /*处理正数*/
        {    
            if(ch1<='0'||ch1>='9')
            {
                i=i+1;                               /*i控制数组*/
                num[i]=(int)(ch-'0');
            }
            if(ch1>='0'&&ch1<='9')                   /*将正数存入数组*/
            {
                num[i]=num[i]*10+(int)(ch-'0');

            }
        }
        if(ch=='-'||(fu==-1&&(ch>='0'&&ch<='9')))     /*处理负数*/
        {
            if(ch=='-')                                /*标记负数,n控制fnum数组*/
            {
                fu=-1;
                n=n+1;
                fnum[n]=0;
            }
            else
            {
                fnum[n]=fnum[n]*10+(int)(ch-'0');      /*将负数的绝对值放入数组fnum*/
            }

        }
        if(fu==-1&&(ch<'0'||ch>'9')&&ch!='-')          /*当一个负数结束,将符号标志为1*/
            fu=1;
        ch1=ch;                                        /*记住ch用以在下个ch时判断一个的开始*/
    }
    for(a=0;a<=i;a++)
    {
        sumz=sumz+num[a];                              /*求所有正数的的和*/
    }
    for(b=0;b<=n;b++)
    {
        sumf=sumf+fnum[b];                             /*求所有负数的和*/   
    }
    printf("在你输入的字符串中有\n正数: %d个\n负数: %d",i+1,n+1);/*输出正数和负数的个数*/
    if(i+1!=0)                                                    /*计算平均值*/
        avz=sumz/(i+1);
    if(n+1!=0)
        avf=-sumf/(n+1);
    printf("\n正数的平均数为: %.4f\n负数的平均数为: %.4f\n",avz,avf); /*输出正数和负数的平均数*/

}
2008-04-04 09:47
快速回复:这个程序怎么编啊 菜鸟求助
数据加载中...
 
   



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

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