简单的循环语句C语言问题,在线等哈!

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:46:19
问题1:求sum=d+dd+...+d...d,例如:3+33+333+3333(此时,d=3,n=4),从键盘上输入d和n
#include<math.h>
main()
{int p,q,d,n;
long sum,sum1;
printf("Input two numbers:");
scanf("%d,%d",&n,&d);
for(p=1;p<=n;p++)
{sum=d;
for(q=1;q<=n;q++)
sum+=d*pow(double 10;double (n-1));
sum+=sum;
}
printf("sum=d+dd+...+d...d=%ld\n",sum);
}
我就是pow(double 10;double(n-1))好像不对
我不会x的y次方=????

问题2:求水仙花数。是一个三位十进制数,改数的各位数字立方之和,等于该本身。如:1*1*1+5*5*5+3*3*3=153.(1三次方+5三次方+3三次方)=153.
main()
{int a,b,c;
long n;
for(n=100;n<=999;n++)
if(n%(a*100+b*10+c=0));
if(n/(a*100+b*10=c=1));
if(n=(a*a*a+b*b*b+c*c*c));
break;
{printf("%d",n);
}
}

请在我的程序基础上更改后,如有更优化的程序请再写出来!谢谢!

我写的程序,你看一下吧,算法和你的差不多的.
1.#include<stdio.h>
#include<math.h>
void main()
{
int d,n,i,sum=0;
l:
printf("\nPlease input d(1-9):");
scanf("%d",&d);
if(d<1||d>9)
{
printf("d should be in 1-9");
goto l;
}
printf("Please input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=i*d*pow(10,n-i);
printf("The sum is %d",sum);
}
2.main()
{int a,b,c,n;
for(n=100;n<=999;n++)
{
a=n/100;
b=(n-a*100)/10;
c=n-a*100-b*10;
if(a*a*a+b*b*b+c*c*c==n)
printf("%d\n",n);
}
}

题目1:
#include<stdio.h>
#include <math.h>
int main(void)
{
int d,n,i,m,c=0,e=0;
printf("输入d和n:\n");
scanf("%i,%i",&d,&n);
for(i=0;i<=n;i++)
{
m=pow(10,(i-1));
c+=d*m;