数组应用(凑标题字数专用括号)

1.输出所有大于平均值的数:输入n个整数(1<=n<=10),计算这些数的平均值,再输出所有大于平均值的数

#include<stdio.h>

int main() {
	int i,n,sum;
	double average;
	int a[10];

	printf("enter n:");
	scanf("%d", &n);
	if (n < 1 || n>10) {
		printf("wrong");
	}
	else if (n >= 1 && n <= 10) {
		printf("enter %d integers:", n);
		for (i = 1; i < n; i++) {
			scanf("%d", &a[i]);
		}
		sum = 0;
		for (i = 1; i < n; i++) {
			sum = sum + a[i];
		}
		average = sum / n;
		printf("average=%lf\n", average);
		printf(">average:");
		for (i = 0; i < n; i++) {
			if (a[i] > average) {
				printf("%d", a[i]);
			}
		}
	}
	return 0;
}

2.利用数组计算斐波那契数列:利用数组计算斐波那契数列的前n个数(1<=n<=46),即1,2,3,5,8,……,并按每行打印5个数的格式输出,如果最后一行的输出也少于5个数,也需要换行

#include<stdio.h>
#define MAXN 46
int main() {
	int i,n;

	int fib[MAXN] = { 1,1 };

	printf("enter n:");
	scanf("%d", &n);

	if (n < 1 || n>46) {
		printf("wrong");
	}
	else if (n >= 1 && n <= 46) {
		for(i=2;i<n;i++){
			fib[i] = fib[i - 1] + fib[i - 2];
		}
		for (i = 0; i < n; i++) {
			printf("%d", fib[i]);
			if ((i + 1) % 5 == 0) {
				printf("\n");
			}
		}
		if (n % 51 != 0) {
			printf("\n");
		}
	}

	return 0;
}

3.查找满足条件的所有数--顺序查找法。输入正整数n(1<=n<=10)和整数x,再输入n个整数并存入数组a中,然后在数组a中查找给定的x。如果数组a中的元素与x的值相同,输出所有满足条件的元素的下标(下标从0开始);如果没有找到,输出“not found”

#include<stdio.h>
#define maxn 10
int main() {
	int n,x,i,flag;
	int a[maxn];
	
	printf("enter n:");
	scanf("%d", &n);
	printf("enter x:");
	scanf("%d", &x);

	if (n < 1 || n>10) {
		printf("wrong");
	}
	else if (n >= 1 && n <= 10) {
		flag = 0;
		printf("enter numbers:");
		for (i = 0; i < n; i++) {
			scanf("%d", &a[i]);
		}
		for (i = 0; i < n; i++) {
			if (a[i] == x) {
				printf("%d", i);
				flag = 1;
			}
		}
		if (flag == 0) {
			printf("not found");
		}
	}

	return 0;
}

4.选择法排序:输入一个正整数n(1<=n<=10),再输入n个整数,用选择法将他们从小到大排序后输出

#include<stdio.h>
#define maxn 10

int main() {
	int n,i,k,index,temp;
	int a[maxn];
	printf("enter n:");
	scanf("%d", &n);
	if (n < 1 || n>10) {
		printf("wrong");
	}
	else if (n >= 1 && n <= 10)
	{
		printf("enter numbers:");
		for (i = 0; i < n; i++) {
			scanf("%d", &a[i]);
		}
		/*对n个数进行选择排序*/
		for (k = 0; k < n - 1; k++) /*对于选择排序,n个数要排n-1轮,k从0开始,则k最大取n-2*/
		{
			index = k;/*index存放最小值的下标*/
			for (i = k + 1; i < n; i++)/*寻找最小值的下标*/
			{
				if (a[i] < a[index]) {
					index = i;
				}
			}

			temp = a[index];/*最小元素与下标为K的元素交换,k其实就是第k+1轮,a[k]是原数列中第k+1个数*/
			a[index] = a[k];
			a[k] = temp;
		}

			printf("after sorted:");
			for (i = 0; i < n; i++) {
				printf("%d", a[i]);/*输出包含n个元素的数组*/

			}
		}
	return 0;
}

(用家主大人的美貌激励自己)

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值