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;
}

本文介绍了三个C语言编程题目及其解决方案,包括打印菱形图案、计算特定数列之和及寻找水仙花数。通过这些例子展示了基本的循环结构、数学运算以及位运算的应用。
3740

被折叠的 条评论
为什么被折叠?



