洛谷练习题——入门(顺序结构)P1001、P5703、P5704、P5705、P5706

有感:

昨天从同学哪里接触到了洛谷这个刷题的网站,感觉对于我这个新手很友好,连续刷了几道题,有点上头的感觉,很有成就感,虽然知道这是很简单的题,但是对于目前的我来说很适合,也顺便借此机会写一些笔记与纠错。

P1001:

 输入格式:两个以空格分开的整数

输出格式:一个整数

代码:

#include<stdio.h>
int main(){
int a,b,c;
scanf("%d%d",&a,&b);
c =a + b;
printf("%d\n",c);
return 0;
}

思考:对于这个问题还是比较简单及基础,因为是顺序结构,代码只需要像数学逻辑一样表示出来即可。

P5703:【深基2.例5】苹果采购

代码:

#include<stdio.h>
int main() {
int a,b,c;
scanf("%d%d",&a,&b);
c=a * b;
printf("%d\n",c);
return 0;
}

 思考:对于这个问题与第一题比较可以发现,一个只是加法,一个只是乘法,思路还是比较容易想出。

P5704:【深基2.例6】字母转换

代码: 

#include<stdio.h>
int main(){
	
char c;
scanf("%c",&c);
printf("%c\n",c - 32);
return 0;
}

思考:对于这道题,刚开始是完全没有思路的,因为也是第一次做题,去看了评论区的题解,有得到启发,对于观察在ASCⅡ表可以发现规律:小写字母=大写字母+32,则大写字母=小写字母-32,当得到这个规律以后解这道题就是很轻松的了,有一点小tips需要注意,就是对于变量的定义,在这里应该是char。

P5705深基2.例7】数字反转

代码1:

#include<stdio.h>
int main()
{
	int a,b,c,r;
	
    scanf("%d",&r);
	a=r/100;
	b=r/10%10;//变成十进制,也可以变成二进制(除2取余)
	c=r/1%10;


	printf("%d",c);
	printf("%d",b);
	printf("%d",a);
	return 0;
}//整数(取余)反转    

代码2:

#include<stdio.h>
char a,b,c,d;
int main(){
scanf("%c%c%c.%c",&a,&b,&c,&d);
printf("%c.%c%c%C\n",d,c,b,a);
return 0;
}

思考:我对于这个题刚开始也是完全无法下手的,有经过同学的交流得到了一种方法一,取模运算符%,整除后取余数,这个对于题解就是可以相对应的除百位,十位,个位然后取余,这种方法相对与第二种方法,直接表示四个变量,然后位置调换输出即可。

P5706【深基2.例8】再分肥宅水

 代码:

#include<stdio.h>
int main() {
	float t;
	int n;
	scanf("%f%d",&t,&n);
	printf("每个同学可分到%.3lf毫升饮料\n一共需要 %d 个杯子\n",t/n,2*n);
	return 0;

思考:对于这道题,刚开始不知道需要如何才可以精确到后几位小数,这是我认为这题中唯一的难点。<精确到小数点后几位: %.几位lf或f>

P1425小鱼的游泳时间

代码: 

#include<stdio.h>
int main(){
    int a,b,c,d,e,f;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    if(d < b){
        f = 60+d-b;
        c=c-1;
        e=c-a;
    }
    else {
        f=d-b;
        e=c-a;
    }
    printf("%d %d\n",e,f);
    return 0;
}

思考:对于这道题,也是很简单的数学问题,只是在其中有需要考虑到当结束分钟数小于开始分钟数时的一种情况,这时候需要小时退位在相减,这就是两种情况,需要考虑;还有一种方法就是直接都换算成分钟计算,这样就不需要考虑哪些,在这里我采用的是第一种。

最后:顺便在这里记录一下自己在编码过程中犯的错误:一直将d-b,写成b-d,就导致在这种方法里相当于没有考虑到第二种情况,所以用题中的例子就一直是正确的,我还不知道改哪里,后来换了个例子才发现自己的错误,提醒自己以后细心一点。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值