C语言,初学者问一问题。
#include<stdio.h>main(){intx,y,z,a,b,c;printf("Pleaseenteryourbirthday:Year/Month/Dat...
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100-0.5;
a==20? 21:20;
printf("Your was born in %d Century.\n",a);
}
请教大师怎么输出正确的数字啊 展开
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100-0.5;
a==20? 21:20;
printf("Your was born in %d Century.\n",a);
}
请教大师怎么输出正确的数字啊 展开
4个回答
展开全部
既然是初学者,我想告诉你一点基本的知识,首先那个scanf函数,是个输入流函数,即是从终端(即键盘)读取信息,你的那条语句是要输入三个数据,首先就有个怎么用键盘输入三个数据的问题,我想让你知道,你输入数据的时候,最好用空格来分隔三个数据,这些你慢慢就会知道为什么这么做。
然后,是那个 a=x/100-0.5; 这条语句,我想说,两个整形相除还是整形,是下取整的,举个例子(你也可以自己编程去试试),1/2=0 4/3=1。就没有必要减去0.5了
最后,是那个三元操作符。首先a==20?21:20;这条语句,是三元操作符是有个结果的,即如果a==20,则结果是21,反之结果是20;所以你应该用a来存贮这个结果,因为你的意思应该是,如果上面的表达式的结果是20的话,那就是21世纪(这什么要+1,我也理解你的想法),反之是20世纪(这个想法其实是初学者的通病,即想的都是那么现实,其实程序跟人的想法和现实是有差距的,程序是呆板的,不能用人的逻辑去写程序),你是想着人一般不是20世纪,就是21世纪,这无可厚非,但总归有局限性。其实,这样的话,就可以大可不必用这条语句了。
我的答案是:
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100+1;
printf("Your was born in %d Century.\n",a);
}
如果非要用那个三元表达式的话(是存在局限性的):
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100;
a = a==20? 21:20;
printf("Your was born in %d Century.\n",a);
}
希望等帮你解决一些难题,都是这么过来的,当时有人帮过我,我也想帮助别人
然后,是那个 a=x/100-0.5; 这条语句,我想说,两个整形相除还是整形,是下取整的,举个例子(你也可以自己编程去试试),1/2=0 4/3=1。就没有必要减去0.5了
最后,是那个三元操作符。首先a==20?21:20;这条语句,是三元操作符是有个结果的,即如果a==20,则结果是21,反之结果是20;所以你应该用a来存贮这个结果,因为你的意思应该是,如果上面的表达式的结果是20的话,那就是21世纪(这什么要+1,我也理解你的想法),反之是20世纪(这个想法其实是初学者的通病,即想的都是那么现实,其实程序跟人的想法和现实是有差距的,程序是呆板的,不能用人的逻辑去写程序),你是想着人一般不是20世纪,就是21世纪,这无可厚非,但总归有局限性。其实,这样的话,就可以大可不必用这条语句了。
我的答案是:
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100+1;
printf("Your was born in %d Century.\n",a);
}
如果非要用那个三元表达式的话(是存在局限性的):
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100;
a = a==20? 21:20;
printf("Your was born in %d Century.\n",a);
}
希望等帮你解决一些难题,都是这么过来的,当时有人帮过我,我也想帮助别人
展开全部
你的程序里 有些错误
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z); //scanf函数中 输入中 不需要要 \n, 将其去掉
a=x/100-0.5; //根据年计算世纪的方法应该为:a=int(x/100) +1;
a==20? 21:20; //这句没有意义吧, 可以删除
printf("Your was born in %d Century.\n",a);
}
程序可改为:
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d",&x,&y,&z);
a=int(x/100) +1;
printf("Your was born in %d Century.\n",a);
}
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z); //scanf函数中 输入中 不需要要 \n, 将其去掉
a=x/100-0.5; //根据年计算世纪的方法应该为:a=int(x/100) +1;
a==20? 21:20; //这句没有意义吧, 可以删除
printf("Your was born in %d Century.\n",a);
}
程序可改为:
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d",&x,&y,&z);
a=int(x/100) +1;
printf("Your was born in %d Century.\n",a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main()
{ int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z); a=x/100+1;
printf("Your was born in %d Century.\n",a);
}
//算出生 世纪就这样就可以了。
// 输入的时候要加/ 比如:2012/11/24
{ int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z); a=x/100+1;
printf("Your was born in %d Century.\n",a);
}
//算出生 世纪就这样就可以了。
// 输入的时候要加/ 比如:2012/11/24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100;//不用减0.5 x是整型 除以100还是整型 不会四舍五入
a==20? 21:20;
printf("Your was born in %d Century.\n",a);
}
main()
{
int x,y,z,a,b,c;
printf("Please enter your birthday:Year/Month/Date\n");
scanf("%d %d %d\n",&x,&y,&z);
a=x/100;//不用减0.5 x是整型 除以100还是整型 不会四舍五入
a==20? 21:20;
printf("Your was born in %d Century.\n",a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询