【不高兴的津津】C语言17行代码解题

简介: 【不高兴的津津】C语言17行代码解题

1.前言

       这道题目基本没有任何难度17行解决他,归根到底就是个数据排序问题,这次为了追求极致的精简,删除了大部分的无用代码,没有使用数组等进行数据处理。虽然数据量不大时间优化不明显,但如果涉及海量数据,将会有质的飞跃。废话不多说了,上题目!!!

2.题目

2.1题目情景

       津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

2.2输入格式

输入包括 77 行数据,分别表示周一到周日的日程安排。每行包括两个小于 1010 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

2.3输出格式

一个数字。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(用 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

3.题目分析

       我们可以看出这孩子是个很不喜欢学习的孩子。。。和笔者一样,笔者比他有过之而无不及,一般看一个小时就歇菜了,还要苦逼码字。QAQ

       好啦进入正题,我们通过对题目分析发现,本题我们首先需要求解津津每天上课的总小时数目,如果超过8小时就会不开心,然后我就将她记录。如果没有超过8小时就是开心的,这时候只需要输出0。由此可见,本题在输入输出和数据处理上并没有过分的为难我们。下面我们来上代码。

4.代码

       由于本次案例较为简单,笔者本着能少敲就少敲的方针,对代码进行了优化,缩短为17行来进行讲解。先放一个完整截图。然后慢慢简述。

4.1循环部分

       针对我们这个程序最为核心的就是循环部分,但是在我们赋值的时候是有个坑在这里的。

各位可以看到我的max的初始值赋值为1,这是为了满足后面的if判断语句,否则不满足条件就会导致数据损失。

  int a,b,day,max=1;  //a,b表示时间,day表示日期,max是最大值
    for (int i = 0; i < 7; i++) //七天循环
    {
        scanf("%d %d",&a,&b);
        if((a+b>max)&&(a+b>8))//大于最大值且大于8
        {
            max=a+b;          //更换最大值
            day=i+1;          //更新天数  
        }
    }

4.2数据打印

       这里的输出只需要进行判断最后的max是否大于8,如果大于8就输出我们的max否则是0.

    if (max>8) printf("%d",day);//判断
    else printf("0");

5.总结

       这题相对简单,但是越简单就可能想的越复杂,就像笔者开始时候居然想用结构体来储存我们的数据,这个样子就会导致思路越来越远,最后好在笔者浪子回头哈哈哈。好啦今天的文章就到这里了。最后AC绿马护体

目录
相关文章
|
12小时前
|
测试技术 C语言
hdu 1106排序 c语言解题
hdu 1106排序 c语言解题
15 0
|
6月前
|
测试技术 C语言
hdu 1106排序 c语言解题
hdu 1106排序 c语言解题
27 0
|
10月前
|
C语言
【C语言】左旋字符串解题思想
【C语言】左旋字符串解题思想
46 0
【C语言】左旋字符串解题思想
|
定位技术 C语言 C++
C语言解题——分发饼干
力扣题目链接(opens new window) 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 示例 1: ·输入: g = [1,2,3], s = [1,1] ·输出: 1 解释:你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于·他们的尺
|
C语言
C语言解题报告模板
问题及代码: /* Copyright (c) 2014, 烟台大学计算机学院 All rights reserved. 文件名称:test.cpp 作 者:贺利坚 完成日期:2016年 10 月 x 日 版 本 号:v1.0 题目描述  计算并输出它们串联电阻值 输入  两个电阻r1和r2的阻值 输出  一个整数,代表串联电阻的值 样例输入  1 2 样例
863 0
|
C语言
《C语言及程序设计》实践项目——穷举法解题
返回:贺老师课程教学链接 说明:穷举法在有些时候,并不是一种最有效率的解决方案,但却是最直观的。初学者依靠这一组问题的解决,将获得程序设计的最直接体验,以及会想问题的头脑。 【项目1-小明借书】小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?提示:本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后
1700 0
|
C语言
《C语言及程序设计》实践项目——迭代法解题
返回:贺老师课程教学链接  【项目1:另类求和】求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。请在下面的代码基础上补充完整。 #include &lt;stdio.h&gt; int main( ) { int a,n,count=1,Sn=0,Tn=0; printf("请
1433 0
|
C语言
C语言及程序设计初步例程-40 穷举法解题
贺老师教学链接  C语言及程序设计初步 本课讲解 穷举法求解:百鸡百钱问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? #include &lt;stdio.h&gt; int main() { int x,y,z; //定义数据类型为整型,买鸡和买烤鸡不是一个概念 for(x=0; x&lt;=20; ++x)
1205 0
|
12小时前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
12小时前
|
存储 编译器 C语言
C语言:字符函数 & 字符串函数 & 内存函数
C语言:字符函数 & 字符串函数 & 内存函数
15 2