c语言编程 求输入一个0-99的整数,判断其是否为同构数,要求写了程序还要有中文解释其核心语句的作

作者&投稿:佴莉 (若有异议请与网页底部的电邮联系)
c语言编程题(1)从键盘输入一个2-99之间的数据,判断该数是否为同构数。同构数是指该数的平方数中含~

#include
void main()
{
int a,b;
while(scanf("%d",&a)!=EOF)
{
b = a*a;
if( b/100 == a ||
(b%1000)/10 == a ||
b%100 == a ||
b%10 == a ||
b/10 == a )
printf("YES

");
else
printf("NO

");
}
}


运行结果如图

欢迎指正!

/*
1 5 6 25 76Press any key to continue
*/
#include int main() { int i;/*对i从1-99逐个判断若i*i%10==i或i*i%100==i输出i;*/ for(i = 1; i <= 1000; ++i) { if(i * i % 10 == i || i * i % 100 == i) printf("%d ",i); } printf("
"); return 0;}

#include "stdio.h"
int main(int argc,char *argv[]){
int n;
for(n=0;n<100;n++)
if(n*n%(n<10 ? 10 : 100)==n)//判断:n*n的值0~9除以10,10~99除以100,然后与n比较是否相等
printf("%d ",n);
printf("
");
return 0;
}

运行结果:



分析:

首先同构数的定义;一个n位正整数等于它的平方的最低n位数。

例如:

1位数5的平方等于25,而25的最后1位数就是5;

2位数25的平方等于625,而625的最后2位数就是25;

1也是同构数。

分析:

小于10的数字,是1位数,所以需要求出:它的平方数除以10的余数。因为任何整数除以10得到的余数是1位数。

例如:

自然数   平方   除以10的余数

1         1      1%10 = 1

2         4      4%10 = 4

3         9      9%10 = 9

4        16     16%10 = 6

5         5     25%10 = 5

10-99之间的数,是两位数,所以需要求出:它的平方数除以100的余数。因为任何整数除以100得到的余数是2位数。

例如:

自然数   平方   除以10的余数

10       100     100%100 = 0

11       121     121%100 = 21

12       144     144%100 = 44

......

25       625     625%100 = 25

代码如下:

#include "stdio.h"
main()
{
   int n,k;
   /*输入一个0-99的数*/
   scanf("%d",&n);
   if(n<10)
      k=10;   /*n<10,k为10*/
   else
      k=100;  /*n>=10,k为100*/

   if((n*n%k)==n) /* n*n%k 将n平方以后求除以k的余数*/
      /*如果n的平方除以k的余数等于n,就是同构数*/
      printf("是同构数
");
   else
      /*如果n的平方除以k的余数不等于n,就不是同构数*/
      printf("不是同构数
");
}


#include <stdio.h>

void main( void)

{

int i = 0, j = 0;

while( 1) //无限循环,运行程序后可以不断地进行输入和判断

{

printf("输入一个介于0~99的整数。
");  //输入提示

scanf("%d", &i);  //输入读取

j = i * i;  //计算输入数i的平方

if( i < 10) //10以内的数

{

if( (j%10) == i)  //判断i^2的个位数是否与i相等

{

printf("%d是同构数。
", i); //若相等则为同构数

}

else

{

pirntf("%d不是同构数。
", i);  //若不相等则不为同构数

}

}

if( i >= 10) //10和10以上的数

{

if( (j%100) == i)

printf("%d是同构数。
", i);

else

printf("%d不是同构数。
", i);

}

}

}//第一次答这种题目,这个文本编辑真的是蛋疼




思路:同构数是会出现在它的平方的右边的数。具体见代码:

#include <stdio.h>
int main()
{
     int n,i,m;
     for(i=1;i<100;i++){//依次从1到100遍历判断 
      n=i*i;//求i的平方 
      if(i<10) m=n%10;//求平方数的后几位 
      else m=n%100;
      if(i==m) printf("%d
",i);  //判断是否是同构数   
     }
     return 0; 
}
/*
运行结果:
1
5
6
25
76
*/


你的要求怪高的。同构数是会出现在它的平方的右边的数。
#include<stdio.h>
main()
{
long i,j,k;
/* 读取数字*/
i=scanf (\"%d\",&a[i]);
j=i*i;
char name[]="是同构数";
if(j%10==i){
printf (\"%d \",i);
printf("%s\n",name);
}
}
}


铁岭市18034821256: 超级精练的一道C语言编程题要求输入一个整数范围在0到95之间1.
裘岭卤米: #include "stdio.h" void main(){ long int num,temp,tmp=10; int i,j,total=0; printf("请输入一个整数:"); scanf("%d",&num); temp=num; while(temp!=0){ temp=num/tmp; tmp*=10; total++; } printf("整数位数为:%d\n",total); tmp/=100; temp=10; printf("整数反序为:"); for(i=1;i 全部

铁岭市18034821256: 急求!!!!用C语言编写0 - 99之间的猜数游戏 -
裘岭卤米: 内容:设计一个猜数字游戏,它能根据游戏规则猜数. 功能:产生原始数字:产生4个随机数,并按任意顺序排列. 游戏提示:用1A2B形式提示玩家当前猜数字的匹配情况.例如1A表示玩家猜测的数字有1个与系统产生的原始数字符合,并...

铁岭市18034821256: 编程c语言从0到9之间输入4个字符将其转换为相应的整数 如3250 -
裘岭卤米: #include <stdio.h> void main() { long num=0; int i,n; char str[4]; printf("请输入0-9之间的四个字符:"); gets(str); for(i=0;i<4;i++) { n=str[i]-'0';num=num*10+n; } printf("转化为整数是%ld ",num); }

铁岭市18034821256: C语言编程中怎么调用系统时间函数输出一个介于0到9的整数 -
裘岭卤米: 调用系统函数 可以获取当前的时间秒值 然后模除10即可 只要一个的话 不需要随机数 #include #include int main() { printf("%d\n", time(NULL)%10); return 0; }

铁岭市18034821256: 用单片机c语言写一个数码管从00到99的数字显示,要用到锁存器!!!求大神指教 -
裘岭卤米: /*******************************************************************************************************//*******************************************************************************************************/#include //通用89C52头文件 sbit AA=P3^4;//数码管显示用IO端...

铁岭市18034821256: 用c语言写一个0到99的数,分为奇数和偶数两组.并保存到两个数组中,将两个数组的元素都输出到屏幕. -
裘岭卤米: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34//用c语言写一个0到99的数,分为奇数和偶数两组.并保存到两个数组中,将两个数组的元素都输出到屏幕. #include "stdio.h" intmain(intargc, ...

铁岭市18034821256: 求,c语言程序,0到99成s形,如 0 1 2 3 4 5 6 7 8 9 19 18 17 16 15 14 13 12 11 10 20 2... -
裘岭卤米: 思路,规律就是隔行是一个样式的输入,int i,j,k=0; int a[10][10]; for(i=0;i<10;i++)for(j=0;j<10;j++)if(i%2==0)a[i][j]=i*10+j;elsea[i][j]=(i+1)*10-j-1;

铁岭市18034821256: C语言中 如何用数组编写一个程序 从0到99编号 并按123123报数 每次去除报数为3的数,直到只剩一个数.
裘岭卤米: #include &lt;stdio.h&gt; int main() { int a[100],b[100]; //定义两个数组, int i=0; for( i=0;i&lt;100;i++) { a[i]=i+1; b[i]=0;} int j=0,k=0; while (b[99]==0) //如果b数组的最后一个数不是0,就继续循环 { for( i=0;i&lt;100;i++) { if (a[i]!=0) j++; if (j==3) { //如果数...

铁岭市18034821256: c语言求解 -
裘岭卤米: #include void main(){ int i=0,j=1,num=0; scanf("%d", switch(num) { case 1:for(i=0;i<10;i++)printf("%01d\n",i); break; case 2:for(...

铁岭市18034821256: c语言编程;产生 10 个 0 到 99 之间的随机数序列 -
裘岭卤米: #include <time.h>#include <stdlib.h>srand(time(0));int main(){ int a[10],i; for(i=0;i<10;i++){ a[i] = rand()%5+1; }}

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