C语言小测2

C语言小测2

  1. 现在小瓜想通过台阶走上平台,最底层(小瓜所在的层)编号为1,最顶层编号为n。由于小瓜的腿比较短,他一次只能向上走1级或者2级台阶。小瓜想知道他有多少种方法走上平台,你能帮帮他吗?
#include <stdio.h>

int find(int n)
 {  if(n==0) return 0;
    if(n==1) return 1;
    if(n==2) return 2;
    if(n>2)  return find(n-1)+find(n-2);
 }

int main(void) {
 int n,step;
 scanf("%d",&n);
    step=find(n-1); 
    printf("%d\n",step);
 return 0;
}
  1. 给出两个整数a和b,倒序输出a到b之间(包括a和b)的所有整数。
#include<stdio.h>
int main()
{
	int a,b,i,c;
	scanf("%d%d",&a,&b);
	c=b;
	for(i=0;i<c-a+1;i++){
		printf("%d\n",b);
			--b;
	}
	return 0;
}
  1. 有一列数是:4/7,7/11,11/18,18/29,29/47,47/76……请找出这个数列的规律,编写程序计算并输出这个数列的第 N 项(要求是分数形式),并计算这个数列的前 N 项和(结果四舍五入保留两位小数)。
#include<stdio.h>
int main()
{
	int n;
	float i,m=0,x,y,z=0;
	x=4;
	y=7;
	scanf("%d",&n);
	m+=x/y;
	for(i=2;i<=n;i++){
		z=x;
		x=y;
		y=z+x;
		m+=x/y;
	}
	printf("%.0f/%.0f\n%.2f\n",x,y,m);
	return 0;
}
  1. 读入一个四位数abcd,请你输出他的“反写”的值。
    比如读入1015,输出5101;
    读入4310,输出134(不能有前导零)
    不合法的四位数,如234, 0123, 12412不会作为读入数据。
#include <stdio.h>
int main() {

	int n,m;
	int i=0;
	int sum=0;
	scanf("%d",&m);
	n=m;
	while(m!=0){
		i=m%10;
		m=m/10;
		sum = sum*10+i;
	}
	printf("%d\n",sum);
	return 0;
}
  1. 数字回文的判定,如果一个数字从左往右看和从右往左看是一样的,那么我们称
    这个数字是回文数字,例如121,454454, 67876,5,22都是回文数字,而223,
    56,10就不是回文数字。现在读入一个数字X,请你写程序判断一下它是不是回文数
    字。
#include<stdio.h>
int main()
{
	int x,sum=0,n,i=0;
	scanf("%d",&x);
	n=x;
	while(n!=0){
		i=n%10;
		n=n/10;
		sum = sum*10+i;
	}
	if(x==sum)
		printf("yes\n");
	else
		printf("no\n");
	return 0;
}
  1. n!=1 * 2 * 3 * … * n
    现在请你求1/1!+1/2!+…+1/n! 的值
#include<stdio.h>
int main()
{
	int n,i;
	float sum=0,m=1;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		m=m*i;
		sum+=1/m;
	}
	printf("%.10f\n",sum);
	return 0;
}
  1. 读入N,求出1…N的范围内所有2或3或5的倍数一共有多少个?
#include <stdio.h>
int main() {

	int n,i,m=0;
    scanf("%d",&n);
	for(i=1;i<=n;i++){
		if(i%2==0||i%3==0||i%5==0)
			++m;
	}
	printf("%d\n",m);
	return 0;
}
发布了39 篇原创文章 · 获赞 4 · 访问量 713

猜你喜欢

转载自blog.csdn.net/weixin_44718794/article/details/103430962