c入门基础题(2)
1、逆序数 输入一个任意整数(int型),输出其位数并逆序输出该数。
输入
输入一个任意整数(int型)
输出
输出其位数及逆序数
样例输入
12345
-123
100
样例输出
54321 5
-321 3
001 3
#include <stdio.h>
int main() {int num;int reverse_num = 0;int count=0;scanf("%d",&num);int flag = num;int f = 0;int index = 0;while (num != 0) {int digit = num % 10;reverse_num = reverse_num * 10 + digit;if(flag % 10==0 && flag < 0 && index==0){printf("-"); index=1;}if(flag % 10 == 0){if(reverse_num<0){reverse_num = reverse_num*(-1);}printf("%d",reverse_num);f = 1;}num /= 10;count++;}if(f !=1){printf("%d %d\n",reverse_num,count); }else{printf(" %d\n",count);} return 0;
}
2、求斐波那契数列的前n项值 输入n,求斐波那契数列前n项的值。斐波那契数列规律如下:1, 1, 2, 3, 5, 8, 13,21, 34,55…,从第三项开始,每一项都是前面两项的和。
输入
输入正整数n。
输出
输出斐波那契数列的前n项值
样例输入
1
3
5
8
样例输出
1
1 1 2
1 1 2 3 5
1 1 2 3 5 8 13 21
#include <stdio.h>//获取第n项斐波那契数列值
int fn(int n){int i;if(n==1||n==2){return 1;}else{return fn(n-1)+fn(n-2); }
}int main() {int n;while (scanf("%d",&n)