c语言刷题之实际问题
·小乐乐定闹钟
代码如下:
·小乐乐排电梯
代码如下:
·小乐乐与欧几里得
代码如下:
·小乐乐改数字
代码如下:
·小乐乐走台阶
代码如下:
台阶为1,2时走法分别1,2种 1:(1) 2:(1,1),(2)
要走完n阶时,即我第一步要么走的1阶,要么就是2阶, eg: 上3阶
若第一步是走1阶的时候,那么还剩n-1个台阶 第一步:走1阶,剩余2阶
若第一步是走2阶的时候,那么还剩n-2个台阶 第一步:走2阶,剩余1阶
即转变为求我走1阶剩余台阶的走法+走2阶时剩余台阶的走法,即可递推到走最后一步的走法有多少种
·小乐乐与序列
错误代码示例:
#include<stdio.h>int main()
{int n = 0;scanf("%d", &n);int arr[100000] = {0};for(int i = 0; i < n; i ++){scanf("%d\n", &arr[i]);}for(int i = 0; i < n - 1; i ++){for(int j = 0; j < n - i - 1; j ++){if(arr[j + 1] < arr[j]){int tmp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = tmp;}}}for(int i = 0; i < n - 1; i ++){if(arr[i] == arr[i + 1]){for(int k = i; k < n - 1; k ++){arr[k] = arr[k + 1];}n --;i --;}}for(int i = 0; i < n; i ++){printf("%d ", arr[i]);}return 0;
}
以上代码没有语法错误,但是运行会超时
这道题与之前的那道“数列去重和排序”不同点在于输入整数k < 总元素数n,即可用以下代码解决:
·小乐乐判断上三角矩阵
代码1:
代码2:
·小乐乐计算函数
代码如下:
·小乐乐计算求和
·小乐乐算最高分
代码如下:
(冒泡排序)