函数题目练习

51 阅读2分钟

作业标题(728)

喝汽水问题

作业内容

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int Total1(int money)
{
	int total = money;
	int empty = money;
	while (empty > 1)
	{
		total += empty / 2;
		empty = empty / 2 + empty % 2;
	}
	return total;
}

int Total2(int money)
{
	return money * 2 - 1;//找规律可知
}

int main()
{
	printf("%d\n", Total1(5));
	printf("%d\n", Total1(6));
	printf("%d\n", Total1(7));
	printf("%d\n", Total1(20));

	printf("%d\n", Total2(20));
	return 0;
}

作业标题(721)

打印菱形

作业内容

用C语言在屏幕上输出以下图案:

打印图像问题,难在找规律

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void Func(int line)
{
	//1.打印上半部分
	for (int i = 0; i < line; i++)
	{
		for (int j = 0; j < line-i - 1; j++)
		{
			printf(" ");
		}
		for (int k = 0; k < i*2 + 1; k++)
		{
			printf("*");
		}
		printf("\n");
	}
	//2.打印下半部分
	for (int i = 0; i < line - 1; i++)
	{
		for (int j = 0; j < i + 1; j++)
		{
			printf(" ");
		}
		for (int k = 0; k < (line-1-i)*2 - 1; k++)
		{
			printf("*");
		}
		printf("\n");
	}
}

int main()
{
	Func(7);
	return 0;
}

作业标题(722)

打印水仙花数

作业内容

求出0~100000之间的所有“水仙花数”并输出。

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>

void Func()
{
	for (int i = 0; i <= 100000; i++)
	{
		int count = 0;
		int tmp = i;
		while (tmp != 0)
		{
			count++;
			tmp /= 10;
		}

		tmp = i;
		int sum = 0;
		while (tmp != 0)
		{
			sum += pow((tmp % 10), count);//原型pow(x,y),x的y次幂
			tmp /= 10;
		}

		if (i == sum)
		{
			printf("%d ", i);
		}
	}

}



int main()
{
	Func();
	return 0;
}

作业标题(723)

计算求和

作业内容

求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>

void Func(int a, int n)
{
	int sum = 0;
	int tmp = 0;
	for (int i = 0; i < n; i++)
	{
		tmp = tmp * 10 + a;
		sum += tmp;
	}
	printf("%d", sum);

}


//void Func(int x)
//{
//	int sum = 0;
//	int n = 1;
//	int m = 5;
//	for (int i = 0; i < 5; i++)
//	{
//		sum += x * n * m;
//		n *= 10;
//		m--;
//	}
//	printf("%d", sum);
//}


int main()
{
	Func(2, 5);
	return 0;
}