4407|1

20

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

C语言算法之计算美女年龄 [复制链接]

先积累硬实力,再积累软实力,最后积累巧实力,而C语言是嵌入式技术的硬实力之一。

 

学技术,重在日拱一卒、一点一滴的积累。

 

今天一起分析C语言的算法练习之一,计算美女的年龄。

 

以下内容,只代表个人观点,不一定对,仅供参考,随便看看。

 

 

计算美女年龄题目
 
题目:已知一位美女的年龄的3次方是四位数,四次方是六位数,并且她岁数的3次方和4次方刚好用遍了0~9十个数字。
 
编写程序求美女的年龄。

 

题目解析:
 
假设美女的年龄为A,那么以下四个条件必须同时成立:

 

条件1:999<A*A*A<10000

 

条件2:99999<A*A*A*A<1000 000

 

条件3:计算A*A*A和A*A*A*A两个数对应每一位分别是0-9的每个数字。

 

3.1将A*A*A和A*A*A*A的结果的每一位分离,并将每位数存入数组:unsigned char niu[10];的每一个元素中。

 

niu[0]=(A*A*A)/1000;

niu[1]=(A*A*A)%1000/100;

niu[2]=(A*A*A)%1000%100/10;

niu[3]=(A*A*A)%1000%100%10;

 

niu[4]=(A*A*A*A)/100000;

niu[5]=(A*A*A*A)/10000%10;

niu[6]=(A*A*A*A)/1000%10;

niu[7]=(A*A*A*A)/100%10;

niu[8]=(A*A*A*A)/10%10;

niu[9]=(A*A*A*A)%10;

 

3.2用冒泡算法给数组niu[10];里面每一位数按由低到高进行排序。

 

3.3然后niu[10];的每个元素和xyd[10]={0,1,2,3,4,5,6,7,8,9};进行逐一比较,如果成立就可以计算出该数字。

 

条件4:美女年龄范围为:0<A<100。

 

 

计算美女年龄程序代码

 

/*定义全局变量,缺省状态下为0*/

unsigned int my,a,b,i,j,temp;  

char flag=0; //定义一标志位

unsigned int niu[10];

 

unsigned int xyd[10]=

{0,1,2,3,4,5,6,7,8,9};

 

void main()

{

 /*循环找出符合条件的数*/

for(my=0;my<100;my++)   

{

/*美女的年龄的三次方是四位数*/ 

a=my*my*my; 

 

/*美女的年龄的四次方是六位数*/       

b=my*my*my*my;     

 

/*美女的年龄的三次方是四位数,首将这四位数分解开来并存到数组里面*/

niu[0]=a/1000;       

niu[1]=a/100%10;

niu[2]=a/10%10;

niu[3]=a%10;

 

/*美女的年龄的四次方是六位数,首将这六位数分解开来并存到数组里面*/

niu[4]=b/100000;

niu[5]=b/10000%10;

niu[6]=b/1000%10;

niu[7]=b/100%10;

niu[8]=b/10%10;

niu[9]=b%10;

 

/*冒泡排序将最终存到数组里面的数按从小到大的顺序排列*/

for(i=0;i<9;i++)

{

for(j=0;j<9-i;j++)

{

if(niu[j]>niu[j+1])

{

  temp = niu[j+1];

  niu[j+1]=niu[j];

  niu[j]=temp;

}

}

}

 

for(i=0;i<10;i++)

{

/*经过刚刚的排序后,判断数组里面存储的是否是从0到9,

依次判断,如果满足条件,则flag=1继续判断,循环10次

结束循环,再判断标志位是否是1,如果是,则打印美女年龄*/  

 

if(niu[i]==xyd[i])   

 {

   flag=1;

   continue;

  }

  else

  {

     flag=0; 

     break;

  }

}

 

if(flag==1)

{

/*结果18岁,小姐姐好年轻啊*/

   printf("美女今年:%d岁\n",my);  

}

}

}

 

想快速掌握C语言编程,必须要多练习,多编写程序。

此帖出自编程基础论坛

最新回复

eqs
不错很厉害,学习到了感谢版主的文章,有了进一步的了解   详情 回复 发表于 2024-1-16 17:34
点赞 关注(1)
 

回复
举报

4

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

不错很厉害,学习到了感谢版主的文章,有了进一步的了解

此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表