C语言题目

2023-12-20 23:31:52

??????1.水仙花数

打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.

例:153=1的三次方+5的三次方+3的三次方.

法1:

#include<stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	int k = 0;
	for (i = 1; i < 10; i++)//百位
	{
		for (j = 0; j < 10; j++)//十位
		{
			for (k = 0; k < 10; k++)//个位
			{
				if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k)
				{
					printf("%d ", i * 100 + j * 10 + k);
				}
			}
		}
	}
	return 0;
}

运行结果:

153 370 371 407?

法2:

#include<stdio.h>
int main()
{
	int n = 0;
	for (n = 100; n < 999; n++)//直接所有数循环
	{
		int i = n / 100;//百位
		int j = n / 10 % 10;//十位
		int k = n % 10;//个位
		if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k)
		{
			printf("%d ", i * 100 + j * 10 + k);
		}
	}
	return 0;
}

2.整型数组内函数求和?

法1:

#include<stdio.h>
int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	int i = 0;
	int ret = 0;
	for (i = 0; i < sz; i++)
	{
		ret += arr[i];
	}
	printf("%d ", ret);
	return 0;
}

法2:采用函数方法

#include<stdio.h>
int sum(int arr[], int n)
{
	int ret1 = 0;
	int i = 0;
	for (i = 0; i < n; i++)
	{
		ret1 += arr[i];
	}
	return ret1;
}
int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	int ret = sum(arr, sz);
	printf("%d ", ret);
	return 0;
}

3.斐波那契数列?

类似于1? 1? 2? 3? 5? 8? 13? 21? 34......

#include<stdio.h>
//1  1  2  3  5  13
int main()
{
	int arr[15] = { 0 };
	arr[0] = 1;
	arr[1] = 1;
	int i = 0;
	for (i = 2; i < 15; i++)
	{
		arr[i] = arr[i - 1] + arr[i - 2];
	}
	for (i = 0; i < 15; i++)
	{
		printf("%d  ", arr[i]);
	}

	return 0;
}

运行结果:

?1 ?1 ?2 ?3 ?5 ?8 ?13 ?21 ?34 ?55 ?89 ?144 ?233 ?377 ?610

4.杨辉三角??

杨辉三角的每行行首和每行行尾的数都为1.而且每个数等于其左上及其正上方两数只和.

法1:

#include<stdio.h>
int main()
{
	int arr[11][11] = { 0 };
	int i = 0;
	int j = 0;
	arr[0][0] = 1;
	for (i = 0; i < 11; i++)
	{
		printf("\n");
		for (j = 1; j <= i; j++)
		{
			arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
			printf("%3d", arr[i][j]);
		}
	}
	return 0;
}

文章来源:https://blog.csdn.net/Djdbds/article/details/135071972
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。