纸上得来终觉浅
绝知此事要躬行
1.
//小乐乐上课需要走 n 阶台阶,每次走一阶或走两阶,那么一共有多少种走法?
// fib(n)计算 n 个台阶的走法
// { 1, n=1;
// fib(n)= { 2, n=2;
// { fib(n-1)+fib(n-2) n>2;
//斐波那契数列:在编程中,“fib”常指斐波那契数列,该数列从0和1开始,后续每一项都是前两项之和
#include<stdio.h>
int fib(int n)
{
if (n <= 2)
{
return n;
}
else
{
return fib(n - 1) + fib(n - 2);
}
}
int main()
{
int n = 0;
//输入
scanf_s("%d", &n);
//计算
int m = fib(n);
//输出
printf("%d\n", m);
return 0;
}
2.
//有一个整数序列(可能有重复的整数),现删除指定的某一个整数,
// 输出删除指定数组之后的序列,序列中未被删除数字的前后位置没有发生改变
//输入描述:
//第一行输入一个整数
//第二行输入N个整数,输入用空格分隔的N个整数
//第三行输入想要进行删除的一个整数
#include<stdio.h>
int main()
{
int n = 0;
scanf_s("%d", &n);
int arr[50]; //接收 n 个数字
int i = 0;
for (i = 0; i < n; i++)
{
scanf_s("%d", &arr[i]);
}
int del = 0; //接收删除的数
scanf_s("%d",&del);
int j = 0; //j作为下标的位置就是用来存放不删除的数据的
for (i = 0; i < n; i++)
{
if (arr[i] != del)
{
arr[j] = arr[i];
j++;
}
}
//输入
for (i = 0; i < j; i++)
{
printf("%d", arr[i]);
}
return 0;
}
3.
//输入 n 个成绩,换行输出 n 个成绩中的最高分和最低分分数的差
//输入描述
//两行,第一行为 n ,表示 n 个成绩
//第二行为 n 个成绩,以空格分开
#include<stdio.h>
int main()
{
int n = 0;
scanf_s("%d", &n);
int arr[100];
int i = 0;
//输入
for (i = 0; i < n; i++)
{
scanf_s("%d", &arr[i]);
}
//寻找最大值
int max = arr[0];
for (i = 1; i < n; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
//寻找最小值
int min = arr[0];
for (i = 1; i < n; i++)
{
if (arr[i] < min)
{
min = arr[i];
}
}
printf("%d\n", max - min);
return 0;
}
}
4.
//有一个字符,判断它是否为大写字母,如果是,将它转换为小写字母;
// 反之则转换为大写字母
//输入描述
//多组输入,每一行输入一个字母
#include<stdio.h>
int main()
{
char ch = 0;
while (scanf_s("%c", &ch) == 1)
{
if (ch >= 'a' && ch <= 'z')
{
printf("%c\n", ch - 32);
}
else
{
printf("%c\n", ch + 32);
}
}
return 0;
}
5.
//想判断输入的字符是不是字母
#include<stdio.h>
int main()
{
char ch = 0;
while (scanf_s("%c", &ch) == 1)
{
if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
{
printf("%c is an alphabet.\n", ch);
}
else
{
printf("%c is not an alphabet.\n", ch);
}
return 0;
}
}
6.
//输入三个整数输入的分数,判断其中的最高分
#include<stdio.h>
int main()
{
int i = 0;
int max = 0;
int score = 0;
for (i = 0; i <3; i++)
{
scanf_s("%d", &score);
if (score >= max)
{
max = score;
}
}
printf("%d\n", max);
return 0;
}
7.
//变种水仙花-Lily Number:把任意的数字,从中间拆分成两个数字
//比如 1461 可以拆分成(1和461),(461和1),如果所有拆分后的乘积之和等于自身
//则是Lily Number
//例如:
//655=6*55+65*5
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
for (i = 10000; i <= 99999; i++)
{
//判断i是否为L M
int sum = 0;
int j = 0;
for (j = 1; j <= 4; j++)
{
int k = (int)pow(10,j);
sum += (i % k) * (i / k);
}
if (sum == i)
{
printf("%d ", i);
}
}
return 0;
}
387

被折叠的 条评论
为什么被折叠?



