密查电影在线观看完整版|行尸走肉第7季在线观看免费完整版|欧美区日韩区|五月婷婷深爱五月,一级不卡免费视频 ,色戎 同类电影大尺度未删减版,国产色宗合

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

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

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

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

/*從個位數開始,取num的每一位數字轉換成字符后放入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;  /*返回輸入參數num的位數*/
}
char *right(char *ms ,int  length)
/*取字符串ms尾部長度為length的子串,返回所得子串的首字符指針*/
{
int i;

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

查看答案

相關試題