1.在屏幕上打印任意行的菱形
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int k = 0;
int row = 0;
int z = 0;
printf("请输入行数:");
scanf("%d",&row);
for(i=0;i<row;i++)
{
for(j=1;j<row-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<row-1;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=1;k<2*(row-1-i);k++)
printf("*");
printf("\n");
}
return 0 ;
}
2.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
int i = 0;
int A = 0;
int sum = 0;
int n = 0;
printf("请输入数字和项数:");
scanf("%d%d",&a,&n);
for(i=0;i<n;i++)
{
A = A*10+a;
sum += A;
}
printf("sum=%d\n",sum);
return 0;
}
3.求水仙花数。在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。(可以求出任意n位数是否为水仙花数)
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main()
{
int num = 0;
for(num=1;num<10000;num++)
{
int count = 0;
int sum = 0;
int i = num;
count++;
while(i/10)//判断为几位数
{
count++;
i /= 10;
}
i = num;//i需要重新赋值
while(i)//取出每一位并求其count次方
{
sum += pow(i%10,count);
i /= 10;
}
if(sum == num)
{
printf("%d ",num);
}
}
return 0;
}