本人c++初学者,一道题目求解 感激不尽!

说明该程序的错误,并进行优化。
#include <stdio.h> //一个要求用户输入年月日并换算出秒的程序
int main(void)
{
int i,o,p,j,k,l,m;//i,p,o分别表示年 月 日
double a;
double c;
a=3.156e7; //此值为一年秒数
c=i*a;
j=o*30;//计算天数
k=p+j;
l=k*86400;//计算秒数
m=c+l
printf("请你输入 年 月 日\n");
scanf("%d %d %d",&i,&o,&p);
printf("结果为%e秒\n",c);
printf("%d",m);
return 0;
}

第1个回答  2015-06-18
#include <stdio.h> //一个要求用户输入年月日并换算出秒的程序
int main(void)
{
double i,o,p,j,k,l,m;//i,p,o分别表示年 月 日,为了计算方便,我给你转换double了
double a;
double c;
a=3.156e7; //此值为一年秒数
printf("请你输入 年 月 日\n");
scanf("%lf %lf %lf",&i,&o,&p);//你要先出入iop才有值

c=i+o/12+p/365; //年数
c=c*a;

printf("结果为%e秒\n",c);
printf("%.0f",c);
return 0;
}本回答被提问者采纳
第2个回答  2015-06-18
1、把scanf提到前面,double c; 的下一行
2、把c和m定义成long
3、输出m时用%ld,printf("%ld",m);
第3个回答  2015-06-18
先输入再算秒
相似回答