你的switch语句很有问题,而且你很多语句的括号只有一半,比如scanf语句和default那句。可以这么说,你的语法还不对,算法也有问题。我写了一个,你自己看看。
#include<stdioh>
void
main()
{
int
day,month,year,sum,i;
int
y[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("please
input
year,month,day\n");
scanf("%d%d%d",&year,&month,&day);
for(i=0,sum=0;i<month-1;i++)sum+=y[i];
sum+=day;
if(year%400==0||year%4==0&&year%100!=0&&month>2)sum+=1;
printf("The
days
are%d\n",sum);
}
读入键盘输入的每个字节,
注意,如果不是换行字符,就累加到buf当中;
如果是换行,那就把buf当中的东西创建为String,显示出来,并复位,重新开始读键盘了。
关于从0到0,仅当你上来就敲一个回车,这时候创建一个空串而已。
//第一题: using System; class nums { static void Main(string[] args) { double num1, num2, num3; num1 = doubleParse(ConsoleReadLine()); num2 = doubleParse(ConsoleReadLine()); num3 = doubleParse(ConsoleReadLine()); ConsoleWriteLine("三个数从大到小的顺序是:"); if (num1 > num2) { if (num1 > num3) { if (num3 > num2) ConsoleWriteLine(num1 + " " + num3 + " " + num2); else ConsoleWriteLine(num1 + " " + num2 + " " + num3); } else ConsoleWriteLine(num3 + " " + num1 + " " + num2); } else { if (num1 > num3) ConsoleWriteLine(num2 + " " + num1 + " " + num3); else { if (num2 > num3) ConsoleWriteLine(num2 + " " + num3 + " " + num1); else ConsoleWriteLine(num3 + " " + num2 + " " + num1); } } } } //第二题: using System; class function { static void Main(string[] args) { double x, y; ConsoleWriteLine("请输入x的值"); x = doubleParse(ConsoleReadLine()); if (x < 0) y = -1; else if (x == 0) y = 0; else y = 1; ConsoleWriteLine("y的值是" + y); } } //第三题: using System; class months { static void Main(string[] args) { int month; ConsoleWriteLine("请输入月数"); month = intParse(ConsoleReadLine()); switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: ConsoleWriteLine("这个月有31天!"); break; case 4: case 6: case 9: case 11: ConsoleWriteLine("这个月有30天!"); break; case 2: ConsoleWriteLine("这个月有28或29天!"); break; default: ConsoleWriteLine("您的输入有误!"); break; } } }
以上就是关于C语言下计算总天数的小程序 老是得不到正确结果 各位帮我啦TOT全部的内容,包括:C语言下计算总天数的小程序 老是得不到正确结果 各位帮我啦TOT、一个java数组小程序的问题~~~~急、c#几个小程序怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)