第四次

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












#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int n;
int i, j;
scanf("%d", &n);
for (i = 1; i <=n; ++i)
{
for (j = 1; j <= n - i; ++j)
{
putchar(’ ‘);
}
for (j = 1; j <= 2 * i - 1; ++j)
{
putchar(’’);
}
putchar(’\n’);
}
for (i = n-1; i >= 1; --i)
{
for (j = 1; j <= n-i; ++j)
{
putchar(’ ‘);
}
for (j = 1; j <= 2 * i - 1; ++j)
{
putchar(’
’);
}
putchar(’\n’);
}
system(“pause”);
return 0;
}

2.求出0~999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
int i;
int a, b, c;
for (i = 100; i <= 999; ++i)
{
a = i / 100; //提取百位
b = i / 10 % 10; //提取十位
c = i % 10; //提取个位
n = a * a * a + b * b * b + c * c * c;
if (n == i)
{
printf("%d\n", n);
}
}
system(“pause”);
return 0;
}

扩展到一亿以内:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i,j;
int tmp[10] = { 0 }; //记录位数
int count = 0;
int sum = 0;
for (i = 0; i < 100000000; ++i)
{
for (j = i; j; j /= 10)
{
tmp[count] = j % 10;
count++;
}
for (j = 1; j <= count; ++j)
{
sum += pow(tmp[j - 1], count); //pow函数表示tmp[j - 1]的count次方
}
if (sum == i)
{
printf("%d\n", i);
}
count = sum = 0;
}
system(“pause”);
return 0;
}

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

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int n;
int i;
int tmp = 0, sum = 0;
scanf("%d", &n);
for (i = 0; i < 5; ++i)
{
tmp = tmp * 10 + n;
sum += tmp;
}
printf("%d\n", sum);
system(“pause”);
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值