C语言程序设计题,急!

2025-01-06 06:46:14
推荐回答(4个)
回答1:

C 语言的"水仙花数"实现代码:
#include
#include
int main (void)
{
long n,p;
long c,a,j,s[30],i,q;
p=0;
a=10;
scanf("%d",&n);
q=n;
for (i=1;c>10 ;++i)
{
c=n/a;
a=a*10;
}
printf("i=%d,a=%d \n",i,a);
for (j=1;a>=10 ;++j)
{
s[j]=n/(a/10);
n=n-s[j]*(a/10);
a=a/10;
printf("j=%d,a=%d\n",j,a);
}
for (j=1;j<=i ;j++)
{
p+=pow(s[j],i);
printf("p=%d,i=%d\n",p,i);
}
if (p==q)
{
printf("%d 为水仙花数",q);
}
else
{
printf("%d 该数不是水仙花数",q);
}
}
摘自百度百科水仙花数http://baike.baidu.com/view/152077.htm

回答2:

1、
#include
void main()
{ int i,a,b,c;
for(i=100;i<1000;i++)
{ a=i%10;
b=i/10%10;
c=i/100%10;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d ",i);
}
}
2、
#include
#include
void main()
{ int i,n;
char a[100];
gets(a);
n=strlen(a);
for(i=0;i if(a[i]=='z')
a[i]='a';
else
a[i]=a[i]+1;
puts(a);
}
3、
#include
void main()
{ int a[100],b[100],f[100];
int i=0,j=0,c,e,l=0;
char d;
while(d!='\n')
scanf("%d%c",&a[++i],&d);
d=' ';
while(d!='\n')
scanf("%d%c",&b[++j],&d);
for(c=1;c<=i;c++)
for(e=1;e<=j;e++)
if(a[c]==b[e])
f[++l]=a[c];
printf("%d ",f[1]);
for(i=2;i<=l;i++)
{ j=i;
if(f[--j]!=f[i])
printf("%d ",f[i]);
}
}

回答3:

1、输入一个数num,求出百位a=num/100、十位b=(num-a*100)/10、个位c=num%10、判断他们的立方和是否为num
2、a变成b、b变成c、c变成d、…、x变成y、y变成z 用到阿斯玛+1,使用for循环、z变成a单独编
3、使用for循环逐个遍历找出相同的将其输出
楼主这是思路、编程还得靠自己,希望对你有用、

回答4:

1.
for( int i=100;i<1000;i++)
{
a= i / 100; //百位数
b= i%100;
c= b/10; //十位数
d= b%10; //个位数
e= a*a*a+c*c*c+d*d*d;
if(i==e)
{
printf("%d\n",i);}
}

输出结果:
153
370
371
407