前言
作为一名大学生,平平庸庸的踏入了编程不归路,目前仍然是处于小白的水平,只有一些C++的基础知识,编程还是很费劲儿,为了强迫自己提升水平,所以有了这个系列的,不喜勿喷!也希望能带动一些小白跟我一起学习进步提升,或者有大佬来带我做项目!
坚持每天打卡学习
入门级试炼
人总要经历一些事儿才会成长,我意识到我不能在坐以待毙了,但是繁重的书,自己没有恒信毅力去看下去,找了许多视频课,也无法认真学进去,为了逼迫自己,我决定写博客,来帮自己巩固知识,如果能帮到一些跟我一样处于菜鸟级别的人物。我会先从入门级别的试题开始,大佬直接绕过,有一些c++或者小白可以继续观看!(入门级的试题训练,挺简单的,希望各位能够先思考,然后再看代码,这样提升会更快)
试题1:A+B=?
输入两个自然数,输出他们的和
先对比一下c语言和c++ 的输入与输出
1 、c 语言
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",a+b);
return 0;
}
2、c++
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
显而易见 ,c++的输入为 cin>> ____; 然后如果要连续输入俩个值就是例题中的那样了, 输出为cout<<a+b<<endl;(注意对比记忆输入与输出,这个 endl 就是换行的意思 ),刚开始也许你老记混,没关系,多用几次就会了,会有感觉的
试题2 :摘苹果
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入格式:
输入包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式:
输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
好了 ,你得开始思考了,先自己试一下吧 ,入门小白一定要动手,不能大意!
上代码 :
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[11],tall,count=0;
for(int i=1;i<=10;i++)cin>>a[i];// 输入每个苹果距离地面的距离
cin>>tall; //输入陶陶伸手能够到的最大距离
for(int i=1;i<=10;i++) if(tall+30>=a[i])count++;
cout<<count;
return 0;
}
试题3:不高兴的津津
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式:
输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式:
输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的—天。
虽然题目废话多,但是我们需要养成一个好习惯,毕竟你以后面对的题目可比这枯燥乏味多了,开始思考!
#include<iostream>//声明类型
using namespace std;
int main()
{
int happy=0,day=0;//声明"happy"和"day"两个变量
int time1,time2;//声明"time1"和"time2"两个变量
for(int i=1;i<=7;i++)//重复执行7次下列代码
{
cin>>time1>>time2; //将两个数分别赋给"time1"和"time2"两个变量
if(time1+time2>8&&time1+time2>happy)
{
happy=time1+time2;
day=i;
}
}
cout<<day<<endl;//回答
return 0;
}
试题4:数字反转
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入格式:
输入共1 行,一个整数N。
输出格式:
输出共1 行,一个整数,表示反转后的新数。
样例 1 :
输入:
290
输出:
92
样例 2 :
输入:
900000000
输出:
9
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int number,sum,i=1,result,result1,m=0;//number是要被反转的数,sum用于记录位数,m记录前面是否有非0数字输出,若有则后续的0可输出,若无即不能输出,例50400,输出405,前面两个0不输出
cin >> number;
while(fabs(number)>0)//判断输入数字的位数用于动态申请数组
{
result = pow(10, i);
result1 = number % result;
if (result1 == number)//判断的关键
{
sum = i;
break;
}
i++;
}
int *s = new int[sum];
if (number < 0)
cout << "-";
number = fabs(number);
for(i=0;i<sum;i++)//输出
{
if (number % 10 == 0)//如果分离出来是0且前面没有已输出非零数,则不输出
{
if (m > 0)
cout << 0;
}
else { cout << number % 10; m = 1; }
number = number / 10;
}
}
这是我自己写的,比较菜,繁重,如果你有更好的代码,欢迎滴滴我,一起学习进步!
结束语
入门级的试题今天就到这儿了,我们不求多,只求一天一练,我并不是什么大佬,也是个慢慢进步的大学生,没有编程祖师爷赏的天赋,学起来也是一步一个脚印,希望能和我处于同水平的人,互相监督进步!
强迫自己学习c++的第一天 结束了,各位一定要努力尝试自己写!不能退缩噢