c语言刷题(9周)

输入10个不等的整数创建数组a[10],在数组a中找是否存在整数t。若存在显示找到了及下标位置,若不存在显示error。

题干 输入10个不等的整数创建数组a[10],在数组a中找是否存在整数t。若存在显示找到了及下标位置,若不存在显示error。
输入样例 1  2  3  4  5  6  7  8  9  10
5
输出样例

找到了下标为4

#include
int main() {
	int a[10], i,t;
	double s = 0, c;
	for (i = 0; i <= 9; i++) {
		scanf("%d", &a[i]);
	}
	scanf("%d", &t);
	for (i = 0; i <= 9; i++) {
		if (a[i] == t) {
			break;
		}
	}
	if (i <= 9) {
		printf("找到了下标为%d\n", i);
	}
	else {
		printf("error\n");
	}
	return 0;
}

 初始化数组a[10]为2,4,6,8,10,12,14,16,18有序递增,从键盘输入任意整数t,插入后数组仍有序递增。

题干 初始化数组a[10]为2,4,6,8,10,12,14,16,18有序递增,从键盘输入任意整数t,插入后数组仍有序递增。
输入样例 3
输出样例 2*3*4*6*8*10*12*14*16*18*
#include
int main() {
	int a[10] = { 2,4,6,8,10,12,14,16,18 };
	int i, t;
	double s = 0, c;
	scanf("%d", &t);
	for (i = 8; i >= 0; i--) {
		if (a[i] > t) {
			a[i + 1] = a[i];
		}
		else {
			break;
		}
	}
	a[i + 1] = t;
	for (i = 0; i <= 9; i++) {
		printf("%d*", a[i]);
	}
	return 0;
}

 输入10个不等的整数,找出最小数和第一个数交换位置。

题干 输入10个不等的整数,找出最小数和第一个数交换位置。
输入样例 3  4  5  6  1  2  7  8  9  10
输出样例 1*4*5*6*3*2*7*8*9*1

#include
int main() {
	int a[10];
	int i, t,min=0;
	double s = 0, c;
	for (i = 0; i <= 9; i++) {
		scanf("%d", &a[i]);
	}
	for (i = 1; i <= 9; i++) {
		if (a[i] < a[min]) {
			min = i;
		}
	}
	if (min != 0) {
		t = a[0];
		a[0] = a[min];
		a[min] = t;
	}
	for (i = 0; i <= 9; i++) {
		printf("%d*", a[i]);
	}
	return 0;
}

 输入10个不等的整数,找出最大数和第一个数交换位置,次大数和第二个数交换。

题干 输入10个不等的整数,找出最大数和第一个数交换位置,次大数和第二个数交换。
输入样例 19  8  7  5  6  4  1  2  20  3
输出样例 20*19*7*5*6*4*1*2*8*3*
#include
int main() {
	int a[10];
	int i, t, max = 0,maxx=1;
	double s = 0, c;
	for (i = 0; i <= 9; i++) {
		scanf("%d", &a[i]);
	}
	for (i = 1; i <= 9; i++) {
		if (a[i] > a[max]) {
			max = i;
		}
	}
	if (max != 0) {
		t = a[0];
		a[0] = a[max];
		a[max] = t;
	}
	for (i = 2; i <= 9; i++) {
		if (a[i] > a[maxx]) {
			maxx = i;
		}
	}
	if (maxx != 1) {
		t = a[1];
		a[1] = a[maxx];
		a[maxx] = t;
	}
	for (i = 0; i <= 9; i++) {
		printf("%d*", a[i]);
	}
	return 0;
}
题干 a数组n个元素冒泡法升序排序,请补充代码。
void  fun(int  a[],int  n)
{
        int  i,j,t,bz;
        for(i=0;i<=n-2;i++)
        {
                bz=0;
                /****************/

                /****************/
                if(bz==0)  break;
        }
}

a数组n个元素冒泡法升序排序,请补充代码。

//只填写两行/****/之间要求的语句列表
for (j = 0; j <= n - 2 - i; j++) {
            if (a[j] > a[j + 1]) {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
                bz=1;
            }
        }

你可能感兴趣的:(c语言,算法,开发语言)