c语言编程有一函数,用c语言写一个有函数组成的程序,要求有strlen函数的功能 , C语言编程: 编程实现根据以下函数关系,对输入的每个x值,...

#include #include void main() { int a,b; for(a=1;a!=10;a++) for(b=0;b!=10;b++) { int num=a*1000+a*100+b*10+b; int root=sqrt(num); if(root*root=num) printf("%d\n",num); } } 漏了个头文件 #include 或者,不加那个头文件的话,把 sprintf(temp,"%d",sq);//为了方便测试前两位、后两位均相同,把它格式化为字符串以后进行比较 int len=strlen(temp);//QQ号码的长度 这两句合并为一句 int len=sprintf(temp,"%d",sq); 给你重写一遍,复制过去直接运行。

#include #include void main(){ for(int i=1000;i!=10000;i++){ //1000~9999中的四位数 int sq=i*i;//计算该四位数的平方,即可能的QQ号码 char temp10; sprintf(temp,"%d",sq);//为了方便测试前两位、后两位均相同,把它格式化为字符串以后进行比较 int len=strlen(temp);//QQ号码的长度 if(temp0==temp1&&templen-2==templen-1)//前两位相同,并且,后两位相同 printf("%d\n",sq);//符合条件的qq号打印出来 } } 丢大人了,犯了巨愚蠢的错误,循环体里不能声明变量,我脑子里刚才一直想的是函数。

应该把循环体里的变量声明全挪到外面。

#include #include void main() { int i,len,sq; char temp10; for(i=1000;i!=10000;i++)//1000~9999中的四位数 { sq=i*i;//计算该四位数的平方,即可能的QQ号码 sprintf(temp,"%d",sq);//为了方便测试前两位、后两位均相同,把它格式化为字符串以后进行比较 len=strlen(temp);//QQ号码的长度 if(temp0==temp1&&templen-2==templen-1)//前两位相同,并且,后两位相同 printf("%d\n",sq);//符合条件的qq号打印出来 } } 我的运行结果,前面是那个四位数,后面是可能的QQ号,是前面四位数的平方。

printf("%d:\t%d",i,sq); 1050: 11025001060: 11236001062: 11278441070: 11449001080: 11664001088: 11837441090: 11881001488: 22141441490: 22201001500: 22500001510: 22801001512: 22861441820: 33124001830: 33489001838: 33782441840: 33856002100: 44100002110: 44521002112: 44605442120: 44944002350: 55225002360: 55696002362: 55790442570: 66049002580: 66564002588: 66977442780: 77284002788: 77729442790: 77841002970: 88209002980: 88804003150: 99225003160: 99856003162: 99982443320: 110224003330: 110889003338: 111422443340: 111556003350: 112225003360: 112896003362: 113030443370: 113569003380: 114244003388: 114785443390: 114921003400: 115600003410: 116281003412: 116417443420: 116964003430: 117649003438: 118198443440: 118336003450: 119025003460: 119716003462: 119854444700: 220900004710: 221841004712: 222029444720: 222784004730: 223729004738: 224486444740: 224676004750: 225625004760: 226576004762: 226766444770: 227529004780: 228484004788: 229249444790: 229441005750: 330625005760: 331776005762: 332006445770: 332929005780: 334084005788: 335009445790: 335241005800: 336400005810: 337561005812: 337793445820: 338724005830: 339889006638: 440630446640: 440896006650: 442225006660: 443556006662: 443822446670: 444889006680: 446224006688: 447293446690: 447561006700: 448900007420: 550564007430: 552049007438: 553238447440: 553536007450: 555025007460: 556516007462: 556814447470: 558009007480: 559504008130: 660969008138: 662270448140: 662596008150: 664225008160: 665856008162: 666182448170: 667489008180: 669124008780: 770884008788: 772289448790: 772641008800: 774400008810: 776161008812: 776513448820: 777924008830: 779689009388: 881345449390: 881721009400: 883600009410: 885481009412: 885857449420: 887364009430: 889249009950: 990025009960: 992016009962: 992414449970: 994009009980: 996004009988: 997601449990: 99800100 请按任意键继续. . .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值