编程猜年龄教程(shell编程猜年龄)

2023-12-23 04:55:40 数码极客 bianji01

 

C语言编写程序进行年龄比较

判断需要用==

你只用了一个等于号

#include

intmain()

inta,b,c;

intx,y,z;

scanf("%d%d%d",&a,&b,&c);

scanf("%d%d%d",&x,&y,&z);

if(a>x)

printf("younger");

if(x>a)

printf("older");

if(x==a){

if(b>y)

printf("younger");

if(y>b)

printf("older");

if(y==b){

if(c>z)

printf("younger");

if(c

printf("older");

if(c==z)

printf("same");

return0;

c编程:求年龄

#include

#include

#include

intcheck(intx3,intx4){

inti,j;

charc;

chararr[11];

//判断x3是否为4位数

if(x3<1000||x3>9999){

//x3不是4位数,校验不通过,返回0

return0;

//判断x4是否为6位数

if(x4<100000||x4>999999){

//x4不是6位数,校验不通过,返回0

return0;

//下面判断x3和x4这10个数字是否重复

//先把x3和x4这10个数字拼接成字符串,保存到数组arr中

//arr数组长度为11,最后一位将保存为\0字符成结束符

sprintf(arr,"%d%d",x3,x4);

//对arr字符数组中的10个数字字符进行升序排序

for(i=0;i

for(j=0;j

if(arr[j]>arr[j+1]){

c=arr[j];

arr[j]=arr[j+1];

arr[j+1]=c;

//如果10个数字字符没有重复的,那升序排序完成后,顺序必然是:0123456789

for(i=0;i

//比较的是字符,所有要讲int数字转换为其对于的字符,即加上0字符的ASCII值

if(arr[i]!=(0+i)){

//只要有一个不同,则校验不通过,返回0

return0;

//运行到这里,说明所有条件已通过校验,返回1

return1;

intmain(){

inti,max,x3,x4;

//先求出最可能的数,防止大数做4次方运算时超出int的最大值导致程序出错,

//sqrt和ceil两个数学函数在math.h头文件中,

//sqrt表示开平方,开两次平方(即开4次方),ceil表示小数向上取整,

//因为4次方最大值为6位数,所以对1000000开4次方得出来的值就是可能的最大值,

//实际这个值是计算出来是32

max=ceil(sqrt(sqrt(1000000)));

//100的三次方已经达到了6位数,遍历到100足以

for(i=1;i<100;i++){

//pow是求幂函数,在math.h头文件中

x3=pow(i,3);//i的三次方

x4=pow(i,4);//i的四次方

//判断两个数值是否满足要求

if(check(x3,x4)){

printf("年龄:%d,x^3=%d,x^4=%d\n",i,x3,x4);

return0;

结果为:18

分析清晰,注释详细,望采纳!

更多追问追答

不错,和我当年一样的做法!

早知你当年这么牛,我就不写这么详细的注释了。

其实我是想看有无其他的解法,要思想的!

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告