C语言_SDUST_OJ(6)

这篇博客回顾了一次期末复习时遇到的C语言编程题目,涉及到处理公司收支表,判断是否亏本的问题。重点在于理解题意,正确处理正负号以及输入输出格式。题目要求根据输入的整数序列,包括正负号表示的收入和支出,判断最终是否亏损,并输出结果。
摘要由CSDN通过智能技术生成

突然发现还有一篇去年期末复习时的草稿没写完,好长时间过去了,直接发了吧

这次是前年期末重现,这几天四套期末重现下来,有点感触。
一是一些细枝末节,比如赋初值,归零,==和=,单个字符处理时注意读掉换行符(不是每次都要的),输出格式,还有更多待细心之处

二是做题的流程,先要完全理解题意,知道大概的方向,明确程序结构,后面的题甚至可以先写写汉语

三是关于字符处理的题,一是上边说的换行符处理,二是整体的思路结构,有时候就是走不通,应当一开始就选择较简单的结构,减少嵌套与分支。

亏本了吗?

Description
有一家公司,财务把今年的收支表做出来了,总经理请人编写一个程序算一算,今年是否亏本了?
公司的收支表中有一列是金额。这一列的第一行是公司上年的结余(不算作收入或支出)。后面每行的数据都代表一笔收入或支出。依照会计记账规定,应该是收入记为+,支出记为-。比如,收入10元,应该计入+10,支出10元,应该计入-10。但是粗心的会计有时会把+漏掉了,也就是收入10元,有可能记为+10,也有可能记为10,但绝不会是-10。
你来试一试,能解决这个问题吗?

Input
输入有多行,每行一个整数,至EOF结束。第一个整数是上年的结余,后面每行一个整数,整数前有可能有+或-。整数前标记为-的为支出,标记为+或不标记的为收入。
输入可以保证至少会有一个整数。所有的运算都在int范围内。

Output
若公司今年亏本(收入小于支出)则输出“Yes”,否则输出“No”。
Sample Input

10
5
+5
-10

Sample Output

No

这个题一开始不知道怎么处理,其实就是首字符的操作不同,最后有点恍惚哪个是yes哪个是no

#include<stdio.h>
#include<string.h>

int main()
{
    int n;
    scanf("%d",&n);
    char s[100];
    int sum=0;
    char ch;
    while(scanf("%s",&s)!=EOF)
    {
        int len=strlen(s);
        int i,a=0,flag=1;
        for(i=0;i<=len-1;i++)
        {
            if(i==0&&s[i]=='+')
            {
                flag=1;
            }
            else if(i==0&&s[i]=='-')
            {
                flag=-1;
            }
            else
                a=a*10+s[i]-'0';
        }
        a=a*flag;
        sum+=a;
    }
    if(sum>=0)
    {
        printf("No");
    }
    else
        printf("Yes");
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值