C语言_练习(三)

C语言_练习(三)

21、输出最小值
输入一个整数n(n <= 10000)。随后输入n个整数。输出这n个整数中的最小值。

#include<stdio.h>
int main()
{
	int x,i,n,min;
	scanf("%d",&n);
	scanf("%d",&x);
	min=x;
	for(i=1;i<n;i++)
	{
		scanf("%d",&x);
		
		if(x<min)
			min=x;
	}
	printf("%d\n",min);
	return 0;
}

22、求最值
输入一个长度为n(1 <= n <= 100000)数组,输出他的最大值和最小值。
数组中的元素ai满足(-2147483648 <= ai <= 2147483647)。

#include<stdio.h>
int main()
{
	int x,i,n,min,max;
	scanf("%d",&n);
	scanf("%d",&x);
	min=x;
	max=x;
	for(i=1;i<n;i++)
	{
		scanf("%d",&x);
		if(x<min)
			min=x;
		if(x>max)
			max=x;
	}
	printf("%d %d\n",min,max);
	return 0;
}

23、前缀和
输入一个长度为n(1 <= n <= 100000)数组ai(0<=ai<=1000),输出他的前缀和。
前缀和中的第i项,表示原数组中的前i项的和。

#include <stdio.h>

int main(void) {
 // your code goes here
 int n,i,sum=0;
 int ai[100005];
    scanf("%d\n",&n);
    for(i=0;i<n;i++)
    {  
     scanf("%d\n",&ai[i]);
     
    }
    printf("%d\n",n);
    for(i=0;i<n;i++)
    {   
     sum+=ai[i];
     printf("%d\n",sum);
     
    }
}

24、斐波那契数(上台阶)
现在小瓜想通过台阶走上平台,最底层(小瓜所在的层)编号为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;
}

25、倒序输出
给出两个整数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;
}

26、求和
给出n(n <= 100000)个整数,请你输出这n个整数的和。保证每个整数<=1000。

#include<stdio.h>
int main()
{
	int n,m,sum=0,i;
	scanf("%d",&n);
	for(i=0;i<n;i++){

		scanf("%d",&m);
		sum +=m;
	}
	printf("%d\n",sum);
	return 0;
}

27、 数列计算
有一列数是: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;
}

28、阶乘
给定一个整数n,求它的阶乘,1≤n≤10。

#include<stdio.h>
int main()
{
	int n,m=1,i;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		m=m*i;
	}
	printf("%d\n",m);
	return 0;
}

29、非负数和
通过键盘不断输入整数,不断读取,直到输入的数字为负数,跳出循环,输出其中(读到负数前)所有的非负数的和。

#include<stdio.h>
int main()
{
	int n,m,i,sum=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%d",&m);
		
		if(m<0)
			break;
		sum +=m;
	}
	printf("%d\n",sum);
	return 0;
}

30、分数求和
计算1/1+1/2+1/3+…+1/N的和(N为读入值)

#include<stdio.h>
int main()
{
	int n;
	float i,sum=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		sum+=1/i;
	}
	printf("%f\n",sum);
	return 0;
}

未完待续

发布了55 篇原创文章 · 获赞 14 · 访问量 3376

猜你喜欢

转载自blog.csdn.net/weixin_41969690/article/details/103295297