【刷题记录】
此系列文章仅是对个人学习的记录,如有错误望大家谅解,给予指正。
第29次刷题
一、牛客网刷题
第一题
1.题目描述:给定秒数seconds (0< seconds < 100,000,000),把秒转化成小时、分钟和秒。
输入描述:一行,包括一个整数,即给定的秒数。
输出描述:一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。
2.代码:
#include<stdio.h>
int main()
{
int a,b,c; //定义整数变量秒,时,分
scanf("%d",&a); //输入秒数
b=a/3600; //求小时
c=a%3600/60; //求分
a=a%3600%60; //求秒
printf("%d %d %d",b,c,a); //依次输出
return 0; //返回函数0
}
3.问题分析:思考清楚转换给定秒数,是将秒数以#时#分#秒的形式表示,而不是将秒数单独转换成秒=多少小时,秒=多少分。求小时后采用余数的方式依次进行运算。
第二题
1.题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
2.代码:
#include<stdio.h>
int Fibonacci(int n )
{
if(n==0)
return 0;
if(n==1)
return 1;
int i,f1=0,f2=1,p; //定义变量,赋初值
for(i=2;i<=n;i++) //定义循环条件
{
p=f1+f2;
f1=f2;
f2=p; //数值调换,反复相加
}
return p;
}
3.问题分析:斐波那契数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)