c语言编程题题目标题:猜年龄美国数学家维纳(N.Wiener)智力早熟,11岁就

2022-03-24 教育 199阅读

c语言追求的是程序执行时间效率,题目给出立方之后是四位数,可以人为确定年龄范围在10-21岁,至于为什么不确定六位数再精确一点,个人觉得没什么必要。这个编程的核心在于如何分辨这10个数字不同,我定义了一个函数,用数组加循环判断。以下是具体代码。

#include 
#include
#include

int same(int a[10]);//判断10个数是否相等,相互不相等返回1
int many(int a);//判断一个整型数是几位数

main()
{   
int a[10] ,i ,j ,s ,l;  //a储存10个数字的数组,i年龄循环变量,j将数字存入数组,s储存四位数,l储存六位数
for(i=10;i s=pow((double)i,3);
l=pow((double)i,4);
if(many(l)!=6)
continue;//如果不是六位数则退出当次循环
for(j=0;j a[j]=s%10;
s=s/10;
}//存入四位数
for(j=4;j a[j]=l%10;
l=l/10;
}//存入六位数
if(same(a))
printf("age=%d\n",i);//输出
}
system("pause");
}

int many(int a){
int i=0;
while(a>0){
a=a/10;
i++;
}
return i;
}

int same(int a[10]){
int i,j,flag=1;
for(i=0;i for(j=i+1;j if(a[i]==a[j])
flag=0;
}
}
return flag;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com