c语言练习第11周(1~5)

数列  1  1  2  3  5  8  13  21  ...  被称为斐波纳数列。
输入若干个正整数N,输出这个序列的前  N  项的和。

题干 数列  1  1  2  3  5  8  13  21  ...  被称为斐波纳数列。
输入若干个正整数N,输出这个序列的前  N  项的和。
输入样例 3
5
4
1
输出样例 4
12
7
1
#include
int fbnq(int n) {
	int i = 1, a = 1, b = 1,c,s=0;
	for (i = 1; i <= n; i++) {
		s += a;
		c = a + b;
		a = b;
		b = c;
	}
	return s;
}
int main() {
	int n;
	while (~scanf("%d", &n)) {
		printf("%d\n", fbnq(n));
	}
	return 0;
}

 

 数列  0  1  1  2  3  5  8  13  21  ...  被称为斐波纳数列。
输入若干个正整数N,输出这个序列的前  N  项。

题干 数列  0  1  1  2  3  5  8  13  21  ...  被称为斐波纳数列。
输入若干个正整数N,输出这个序列的前  N  项。
输入样例 3
5
1
4
输出样例 0,1,1,
0,1,1,2,3,
0,
0,1,1,2,

#include
int fbnq(int n) {
	int i = 1, a = 0, b = 1,c,s=0;
	for (i = 1; i <= n; i++) {
		printf("%d,",a);
		c = a + b;
		a = b;
		b = c;
	}
	return s;
}
int main() {
	int n;
	while (~scanf("%d", &n)) {
		fbnq(n);
     printf("\n");
	}
	return 0;
}

 a数组n个元素插入法升序排序,请补充代码

题干 a数组n个元素插入法升序排序,请补充代码。
void  fun(int  a[],int  n)
{
        int  i,j,t;
        for(i=1;i<=n-1;i++)
        {
                t=a[i];
                /****************/

                /****************/
                a[j+1]=t;
        }
}

 

 

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

 输入一个二维数组  M[12][12],根据输入要求,求出二维数组下方绿色部分元素的平均值或和。
第一行输入一大写字母,若为  S,则求和,若为  M,则求平均值。
接下来  12  行,每行包含  12  个用空格隔开的浮点数,输出结果保留一位小数。
数据范围:100.0≤M[i][j]≤100.0。

 c语言练习第11周(1~5)_第1张图片

 

输入样例 S
-6.0  0.7  -8.4  -5.7  -4.1  7.6  9.5  -9.7  4.1  0.6  -6.5  -4.9
6.6  4.9  -3.1  5.3  0.3  -4.5  3.9  -1.5  6.6  7.0  5.1  2.5
-8.5  1.8  -2.7  0.1  -4.9  -7.2  4.3  6.0  -1.4  2.7  -3.0  2.0
4.8  -7.0  -1.3  0.8  1.0  4.5  -1.1  -2.9  -3.9  -3.9  -8.9  5.8
-2.1  -9.6  5.1  0.2  1.0  -1.7  6.4  4.1  2.8  -6.9  2.4  9.3
-6.0  -9.1  -7.0  -7.0  7.8  5.1  6.9  -7.6  0.4  -7.2  5.5  6.0
-1.9  5.5  1.9  -8.5  -5.3  2.3  -9.3  2.0  -0.2  1.2  5.6  -1.8
8.2  2.3  3.5  1.4  4.0  -5.1  -6.9  -2.8  1.7  -7.0  7.8  1.8
-6.0  -4.1  -4.6  -9.4  -4.9  -4.1  4.2  6.3  -2.8  8.7  8.1  -0.9
8.8  -6.5  -4.3  6.1  -6.2  -3.9  -7.0  7.3  5.0  -0.9  -0.0  5.6
-2.4  1.4  8.5  -2.2  0.9  5.3  3.6  8.8  -8.1  3.0  -3.1  6.5
-3.8  -6.4  2.3  4.2  -9.8  -0.3  -9.9  -7.4  3.5  1.5  -0.2  7.0
输出样例 -11.9

 

#include
int main() {
	int n = 0, i, j;
	char c;
	scanf("%c", &c);
	double M[12][12],s=0;
	for (i = 0; i < 12; i++) {
		for (j = 0; j < 12; j++) {
			scanf("%lf", &M[i][j]);
			if (i + j > 11 && j

 

 输入一个二维数组  M[12][12],根据输入要求,求出二维数组左方绿色部分元素的平均值或和。
第一行输入一大写字母,若为  S,则求和,若为  M,则求平均值。
接下来  12  行,每行包含  12  个用空格隔开的浮点数,输出结果保留一位小数。
数据范围:100.0≤M[i][j]≤100.0。

 c语言练习第11周(1~5)_第2张图片

 

 

#include
int main() {
	int n = 0, i, j;
	char c;
	scanf("%c", &c);
	double M[12][12], s = 0;
	for (i = 0; i < 12; i++) {
		for (j = 0; j < 12; j++) {
			scanf("%lf", &M[i][j]);
			if (i + j < 11 && j < i) {
				s += M[i][j];
				n++;
			}
		}
	}
	if (c == 'S') {
		printf("%.1lf\n", s);
	}
	else {
		printf("%.1lf\n", s / n);
	}
	return 0;
}

 

 

你可能感兴趣的:(c语言,算法,数据结构)