色戒完整版播放|色戒完整版未减版时间|反击电影在线观看免费完整版中国|风月奇谭未删减完整版在线观看,色婷婷综合视频,午夜1区,雏妓电影未删减完整版在线观看国语

軟題庫 學習課程
當前位置:信管網(wǎng) >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和C程序,填充程序中的空缺,將解答填入答題紙的對應欄內。
【說明】
正整數(shù)n若是其平方數(shù)的尾部,則稱n為同構數(shù)。例如,6是其平方數(shù)36的尾部,76是其平方數(shù)5776的尾部,6與76都是同構數(shù)。下面的程序求解不超過10000的所有同構數(shù)。
己知一位的同構數(shù)有三個: 1,5,6,到此二位同構數(shù)的個位數(shù)字只可能是1,5,6這三個數(shù)字。依此類推,更高位數(shù)同構數(shù)的個位數(shù)字也只可能是1,5,6 這三個數(shù)字。
下面程序的處理思路是:對不超過10000的每一個整數(shù)a,判斷其個位數(shù)字,若為1、5或6,則將a 轉換為字符串as,然后對a進行平方運算,并截取其尾部與as長度相等的若干字符形成字符串后與as比較,根據(jù)它們相等與否來斷定a是否為同構數(shù)。
【C 程序】
#include
#include
#include
int  myitoa(int ,char  *);  /*將整數(shù)轉換為字符串*/
/* right取得指定字符串尾部長度為length的子串,返回所得子串的首字符指針*/
char  *right(char*,  int  length);

int main ()
{
int a ,t;  int  len;
char as[10] ,rs[20];

printf("[1 ,10000]內的同構數(shù): \r");
for(a=1;a<=10000;a++) {
t =       (1)     ;  /*取整數(shù)a的個位數(shù)字*/
if (t!=1&& t!=5 && t!=6)  continue;
len  =  myitoa(a ,as);  /*數(shù)a轉換為字符串,存入as */
myitoa(a*a, rs);  /*數(shù)a的平方轉換為字符串,存入rs */
/*比較字符串as與rs末尾長度為len的子串是否相等*/
if (   strcmp (as ,    (2)   )==0   )  /*若相同則是同構數(shù)并輸出*/
printf("%s的平方為%s\n" ,as,rs);
}
return 0;
}
int  myitoa(int num ,char *s)  /*將整數(shù)num轉換為字符串存入s */
{
int i ,n  =  0;
char ch;

/*從個位數(shù)開始,取num的每一位數(shù)字轉換成字符后放入s[] */
while  (num)   {
s[n++]  = (3)  + '0' ;
num = num/10;
}
s[n]='\0';
for(i=0;  i (4)    ; s[i] = s[n-i-1]; S [n-i-1] = ch;
}
return  n;  /*返回輸入?yún)?shù)num的位數(shù)*/
}
char *right(char *ms ,int  length)
/*取字符串ms尾部長度為length的子串,返回所得子串的首字符指針*/
{
int i;

for( ; *ms; ms++);                /*使ms到達原字符串的尾部*/
for(  i=0;  i return  ms;
}

查看答案

相關試題