| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:请教一个小的c编程问题
只看楼主 加入收藏
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:9 
请教一个小的c编程问题
编写一段程序,打印出银行账户的开始余额和结束余额,例如,如果输入是(正代表存款,负代表取款):
324.56 420.32 -3.54 -87.56
那么输出是:
openbalance=$324.56
closebalance=$653.78

谢谢!
(注意输入是以空格分开的,而非回车)
搜索更多相关主题的帖子: c编程 
2009-09-27 22:05
lansong
Rank: 4
等 级:业余侠客
帖 子:79
专家分:226
注 册:2009-6-11
收藏
得分:0 
自己动手,丰衣足食,靠别人是没用的,只能靠自己
2009-09-27 22:23
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
可是自己想了很久了,也问过别人,楼上的要是知道麻烦告诉我好吗?
感谢
2009-09-27 22:29
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
可是自己想了很久了,也问过别人,楼上的要是知道麻烦告诉我好吗?
感谢
2009-09-27 22:30
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
要是能允许告诉计算机打算输入多少个数的话,就简单多了。
可以如下运行:
#include "stdio.h"
void main()
{
float s=0,m[100];
int i,n;
printf(" Please input the amount of the data:n."\n);
scanf("%d",&n);
for(i=0;i<n;i++)
   {
       scanf("%f",&m[i]);
       s+=m[i];
        
   }
printf("\nopenbalance is %.2f.\nclosebalance is %.2f.\n",m[0],s);
     
}
要是不允许,有点麻烦。
下面是一个不太完善的程序:
#include "stdio.h"
void main()
{
float s=0,m[100];
int i;
char c;
for(i=0;;i++)
   {
       scanf("%f",&m[i]);
       c=m[i];
       if(c==0)
       break;
       s+=m[i];
       }
printf("\nopenbalance is %.2f.\nclosebalance is %.2f.\n",m[0],s);
     
}
不过这个程序在输完所有的数据后,必须要多输入一个字符再回车,比如a,b,逗号,等等。具体原因我还没找出来,应该是程序编的不好。我现在有点乱。请高手完善一下。
2009-09-27 22:59
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
回复 5楼 m456m654
嗯,谢谢五楼
原题意,输入个数是不确定的,结束标志只是最后那个回车,我开始写的时候也是遇到你那样的问题
很奇怪,就是不知道是哪有问题
(您的程序段里循环我觉得用while好些,就可以不用指定m元素个数了

[ 本帖最后由 kangmin 于 2009-9-27 23:14 编辑 ]
2009-09-27 23:12
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
回复 6楼 kangmin
你说的也很对,我也觉得while好些,只是当时用了for,那用while试试。
2009-09-28 10:00
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:5 
#include<stdio.h>
main(void)
{
    float sum=0,a,first=0;
    int flag = 0;
    while(scanf("%f",&a))
    {
        if(flag==0)
        {
            first = a;
            flag=1;
        }      
        sum+=a;
    }
    printf("openbalance=$%.2f\n",first);
    printf("closebalance=$%.2f\n",sum);
}

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-09-28 11:16
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
虽然没弄懂,但还是谢谢了
2009-09-28 18:47
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
回复 8楼 flyingcloude
你的程序也不能在回车后停止啊。要输入别的东西然后回车才行。到底该怎么改呢?
2009-09-28 19:01
快速回复:请教一个小的c编程问题
数据加载中...
 
   



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

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