C语言打印1000以内的同构数,我自己写了一个:不知道错在哪里,求高手帮助。非常感谢!

作者&投稿:励富 (若有异议请与网页底部的电邮联系)
c语言 打出1~1000所有的同构数~

#include
#include
#include
char *right(char *ms,int len); /*截取一个字符串尾部长为len个字符的子串*/
void main()
{
long a;
int len;
char as[10];
char ms[20];
printf("求[1,10000]中的同构数:
");
for(a=1;a<=10000;a++)
{
ultoa(a,as,10); /*数a转换为字符串,存入as*/
len=strlen(as);
ultoa(a*a,ms,10);
if(strcmp(as,right(ms,len))==0) /*比较字符串as与ms长为len的子串是否相等*/
printf("%s 其平方为 %s
",as,ms); /*相等就是同构数,输出结果*/
}
system("pause");
}
char *right(char *ms,int len) /*截取字符串尾部长为len子串的函数*/
{
int i,j;
for(i=0;i<(signed)strlen(ms);ms++);
for(j=0;j<len;j++,ms--);
return ms;
}


/*下面是百科写的,你的可以实现,简单修改下
#include<stdio.h>
main()
{ long i,j,k;
k=10;
for (i=1;i<=1000;i++)
{
if (i==k) k*=10;
j=i*i;
if(j%k==i) printf("%ld\t%ld\n",i,j);
}
}
*/

#include<stdio.h>
#include<math.h>
void main()
{
int x,y,flag,i;
for(x=1;x<=1000;x++)//x从1开始
{
y=(int)pow(x,2);
flag=1;
i=10;
do
{
if(y%i==x)
{
flag=0;
break;
}
else
i=i*10;
}while(y/i>0);// 直到平方数y小于基数i
if(flag==0)
printf("%d\t%d\n",x,x*x);
}
}

你写的复杂。这是我找的。
#include<stdio.h>
main()
{ long i,j,k;
k=10;
for (i=1;i<=10000;i++)
{ if (i==k) k*=10;
j=i*i;
if(j%k==i) printf("%ld\t%ld\n",i,j);
}
}


c语言中求1000以内的回文数的程序
include<stdio.h> int main(){ int i,n,m,count=0;printf("所有的回文数字如下:\\n");for(i=1;i<=1000;i++){ n=i;m=0;while(n){ m=m*10+n%10;n\/=10;} if(m==i){ printf("%d ",m);count++;} } printf("\\n共%d个\\n",count);getchar();return 0;} ...

C语言,求1000以内的最大素数。
include <stdio.h> int isprime(int n){ int i;for(i=2;i*i<=n;++i){ if(n%i==0){ return 0;} } return 1;} int main(){ int i;for(i=1000;i>1;--i){ if(isprime(i)){ printf("%d\\n",i);break;} } return 0;} ...

编写程序,用C语言,求1000以内的奇数之和及偶数之和。
\/\/用两个循环即可;include<stdio.h> int main(){ int j=1,o=0,jtotal=0,ototal=0;while(j<1000){ j=j+2;jtotal+=j;} while(o<=1000){ o=o+2;ototal+=o;} printf("1000以内奇数之和为:%d\\n",jtotal);printf("1000以内偶数之和为:%d\\n",ototal);return 0;} 我自己用...

c语言输出100到1000之间三的倍数,五个一换行
include <stdio.h>void main(){int i,n=0;for(i=100;i<=1000;i++)if(i%3==0){printf("%-4d",i);n++;if(n%5==0) printf("\\n");}}

在c语言中如何输出1000到20000之间的数据有三个9的所有整数?
include "stdio.h"void main(){ int i;int num = 0;int count = 0;for (i = 1000; i < 20000; i++) { num = i;count = 0;while (num != 0) { if (num % 10 == 9) { count++;} num \/= 10;} if (count == 3) { printf("%d\\n", i);} } } ...

C语言:输出1000~2000之间的所有素数,每行输出8个,要求调用求素数函数...
include <stdio.h> int sushu(int n){ int i;for(i=2;i<n;i++){ if(n%i==0)return 0;} return 1;} int main (){ int n,m,j=0;for(n=1000;n<=2000;n++){ m=sushu(n);if(m==1){ printf("%d ",n);j++;if(j%8==0)printf("\\n");} } return 0;} ...

编程输出1~1000之间能被3整除,又能被7整除的数
楼主要的是什么语言的编程:c#是:public void sendNum(){ int num=1000;for(int i=0;i<=num;i++)\/\/循环体,从0开始循环,每次循环i变量+1,当i变量大于1000时退出循环 { if(i%3==0&&i%7==0)\/\/如果i变量除以3的余数等于0并且i变量除以7的余数等于0,则执行下面语句 { Console.WriteLine(...

高分求:C语言,求1000以内的回文数,以每行6个数输出
include<stdio.h> int main(){ int i,j,k,a,m=0;for(i=1;i<1000;i++){ k=i;a=0;while(k!=0){ j=k%10;k=k\/10;a=a*10+j;} if(a==i){printf("%d\\t",i);m++;} if(m==6){printf("\\n");m=0;} } } 这个就可以了,你看看,不明白留言。

C语言编程实现:输入1~1000以内,除7余5、除5余1、除3余2的数,每行输出...
include <stdio.h>int main(int argc,char *argv[]){ int n,k; for(k=0,n=1;n<1001;n++) if(n%7==5 && n%5==1 && n%3==2) printf(++k%8 ? "%4d" : "%4d\\n",n); if(k%8) printf("\\n"); return 0;} ...

C语言 打印出1到1000中满足个位数字的立方和等于其本身所有数,没学水...
include <stdio.h>#include <math.h>int sum(int a) { int s=0; for(int i=1; i<=3; i++) s+=pow((int)(a\/pow(10,i-1))%10,3); return s;}int main(){ for(int i=1;i<=999;i++) if(sum(i)==i) printf("%d ",i);} 应该是 各位 数字的...

曲周县18296806595: C语言打印1000以内的同构数,我自己写了一个:不知道错在哪里,求高手帮助.非常感谢! -
布秒安乐: /*下面是百科写的,你的可以实现,简单修改下#include<stdio.h> main() { long i,j,k;k=10;for (i=1;i<=1000;i++) {if (i==k) k*=10;j=i*i;if(j%k==i) printf("%ld\t%ld\n",i,j);} }*/#include<stdio.h>#include<math.h> void main() { int x,y,flag,i; for(x=1;x<=...

曲周县18296806595: C语言编程,找出1到1000的所有“同构数”.速求...
布秒安乐: #include <stdio.h> #include <stdlib.h> int main() { int i, j; int square, x; for (i=1; i<=1000; i++) { square = i*i; for (j=1,x=1; j<=3; j++) { x*=10; if (square%x == i) { printf("%d\t%d\n", i, square); break; } } } system("pause"); return 0; }

曲周县18296806595: 用c语言输出10000以内的同构数 -
布秒安乐: #include int main() {int i,n,t;for(n=1;n<1000;n++){t=n*n;if(n<=10){if(t%10==n)printf("%d * %d = %d\n",n,n,t);else continue;}else if(n<=100){if(t%100==n) printf("%d * %d = %d\n",n,n,t);else continue;}else{if(t%1000==n) printf("%...

曲周县18296806595: C语言编程求出1~1000的同构数 -
布秒安乐: #include"stdio.h" int main() { long i,j,k; k=10; for (i=1;i<=10000;i++) { if (i==k) k*=10; j=i*i; if(j%k==i) printf("%ld\t%ld\n",i,j); }return 0; }

曲周县18296806595: c语言编程:找出1到1000的全部同构数 -
布秒安乐: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21#include<stdio.h> intIsTongGou(inta) {//判断是否同构intb=a*a;while(a!=0){if(b%10!=a%10) {return0;} else{b=b/10;a=a/10;}}return1; } intmain() {for(inti=1;i<1000;i++) {if(IsTongGou(i)) {printf("%d ",i);}}printf("\n"); }

曲周县18296806595: 用C 语言打印出100到200之间的同构数 -
布秒安乐: #include <iostream> using namespace std;#include <cmath> int main() { int num,square; for (num = 100;num<=200;num++) { square = pow((float)num,2); square%=1000; if (square == num) { cout<<square<<' '; } } cin>>num; return 1; } 上面的程序经过验证,没有问题.但是100到200之间好像没有同构数,100到1000之间有两个,分别是376和625.

曲周县18296806595: 求c语言解出2到1000所有同构数,最好有几种算法 -
布秒安乐: #include <stdio.h> int main(void) { int i,m,n; for(i=2;i<1000;++i) { 答for(m=i,n=i*i;m;m/=10,n/=10) { if(m%10!=n%10) { break; } } if(m==0) { printf("%d\n",i); } } return 0; }

曲周县18296806595: C语言 输出5 -- 1000之间得同构数,即一个数平方的低位等于该数,例如5的平方=625. -
布秒安乐: #include<stdio.h> main() { long i,j,k; k=10; for (i=5;i<=1000;i++){ if (i==k) k*=10; j=i*i; if(j%k==i) printf("%ld\t%ld\n",i,j); } }

曲周县18296806595: 用C 语言打印出100到200之间的同构数
布秒安乐: #include &lt;iostream&gt; using namespace std; #include &lt;cmath&gt; int main() { int num,square; for (num = 100;num&lt;=200;num++) { square = pow((float)num,2); square%=1000; if (square == num) { cout&lt;&lt;square&lt;&lt;' '; } } cin&gt;&gt;num; ...

曲周县18296806595: 用c语言编译一百以内所有同构数 -
布秒安乐: #include<stdio.h> void main() {int i;for(i=1;i<10;i++)if(i*i%10==i)printf("%d ",i);for(i=10;i<100;i++)if(i*i%100==i)printf("%d ",i); printf("\n");system("pause"); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网