日常练习__0325

1.在屏幕上输出以下图案:

在这里插入图片描述
思路分析:
在屏幕上打印" * ",1-6行下一行比上一行多俩个,6-11行下一行比上一行少俩个。
利用for 遍历打印。

#include<stdio.h>
#include<stdlib.h>
int main() {
	for (int i = 1; i <= 7; ++i) {
		for (int n = 1; n <= 2 * i - 1; ++n) {
			printf("*");
		}
		printf("\n");
	}
	for (int i = 1; i <= 6; ++i) {
		for (int n = 1; n <= 13 - 2 * i; ++n) {
			printf("*");
		}
		printf("\n");
	}

运行结果
在这里插入图片描述
2.
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
例如:2+22+222+2222+22222

思路分析:
首先要求出前5项的数值,并将它们储存起来

因为数值第一项是n,第二项为n10+第一项,第三项为n100+第二项…
所以我定义了一个函数
如果是第一项就乘1,第二项就乘10,第三项就乘100…
代码如下

int power(int x) {
	int result=1;
	for (int i = 1; i <= x; ++i) {
		result *= 10;
	}
	return result;
}

然后我创建了一个数组来储存每一项的值,
最后附上全部代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//定义power去求每一项的值
int power(int x) {
	int result=1;
	for (int i = 1; i <= x; ++i) {
			result *= 10;
	}
	return result;
}
int main() {
	int arr[6] = { 0 };
	int n;
	int m = 0;
	int sum = 0;
	
	printf("请输入要求的数\n");
	scanf("%d", &n);
	//利用for循环来求值
	for (int i = 1; i < 6; ++i) {
		arr[0] = 0;//定义数组的第一项为0;
		arr[i] = n * power(m) + arr[i-1];//数组的第二项为所求的第一项
			m += 1;
			sum += arr[i];//sum表示最后结果
	}
	printf("%d+%d+%d+%d+%d=%d",arr[1],arr[2],arr[3],arr[4],arr[5], sum);
		system("pause");
	return 0;
}
	

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值