c练习 :3

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

* 
*** 
***** 
******* 
********* 
*********** 
************* 
*********** 
********* 
******* 
***** 
*** 
* 
void star(){
	int line, temp = 0;
	printf("输入行数(必须是奇数行):\n");
	scanf("%d", &line);
	printf("结果为:\n");
	for (int i = 1; i <= line/2+1; i++){
		int j = 1;
		for (; j <= 2 * i - 1; j++){
			printf("*");
			if (j == 2 * i - 1){
				printf("\n");
			}
		}
	}
	for (int i = line/2; i > 0; i--){
		int j = 1;
		for (; j <= 2 * i - 1; j++){
			printf("*");
			if (j == 2 * i - 1){
				printf("\n");
			}
		}
	}
}

2.求出0~999之间的所有“水仙花数”并输出。 “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。

void flower(){
	for (int i = 0; i < 1000; i++){
		int H = (i / 100);
		int T = ((i % 100 - i % 10) / 10);
		int G = (i % 10);
		if (i < 10){
			if (i==G)
				printf("%d\t", i);
		}
		else if (i < 100){
			if (i == (T*T + G*G))
				printf("%d\t", i);
		}
		else{
			if (i == (H*H*H + T*T*T + G*G*G))
				printf("%d\t", i);
		}
	}
}

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

void addSn(){
	int sum=0,temp=0,a;
	printf("输入n值:\n");
	scanf("%d", &a);
	for (int i = 1; i < 6; i++){
		temp = temp * 10 + a;
		sum = temp + sum;
	}
	printf("Sn的值为:%d\n", sum);
}

EX.main函数

int main(){
	star();
	flower();
	addSn();
	system("pause");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值