中易网

C语言出错了!求助!!!

答案:4  悬赏:70  
解决时间 2021-04-28 04:34
  • 提问者网友:清茶柒夏
  • 2021-04-27 12:23

输入任意一个日期的年、月、日的值,求出是星期几并输出。

#include<math.h>
main()
{int y,m,d,c,w,x;
printf("year ");
scanf("%d\n",&y);
printf("month ");
scanf("%d\n",&m);
printf("day ");
scanf("%d\n",&d);
c=[y/100]-1;
w=y+[y/4]+[c/4]-2c+[13(m+1)/5]+d-1;
x=w%7;
switch(x)
{case'1':printf("星期一\n");break;
 case'2':printf("星期二\n");break;
 case'3':printf("星期三\n");break;
 case'4':printf("星期四\n");break;
 case'5':printf("星期五\n");break;
 case'6':printf("星期六\n");break;
 case'0':printf("星期天\n");break;
}
}

 

C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(4) : warning C4013: 'printf' undefined; assuming extern returning int
C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(5) : warning C4013: 'scanf' undefined; assuming extern returning int
C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(10) : error C2059: syntax error : '['
C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(11) : error C2059: syntax error : '['
C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(11) : error C2059: syntax error : 'bad suffix on number'
执行 cl.exe 时出错.

求星期几.obj - 1 error(s), 0 warning(s)

最佳答案
  • 二级知识专家网友:短发女王川岛琦
  • 2021-04-27 12:30
#include <stdio.h>//下面用到scanf和printf,所以要加上这个头文件
#include<math.h>
void main()//这里的main函数前面要加上void
{int y,m,d,c,w,x;
printf("year ");
scanf("%d\n",&y);
printf("month ");
scanf("%d\n",&m);
printf("day ");
scanf("%d\n",&d);
c=(y/100)-1;//这里是用小括号而不是用中括号,更加不能用大括号......
w=y+(y/4)+(c/4)-2*c+(13*(m+1)/5)+d-1; //2c??是2*c吧,乘法在C语言里不是像数学一样描述的,还有13(m+1)那里
x=w%7;
switch(x)
{case'1':printf("星期一\n");break;
 case'2':printf("星期二\n");break;
 case'3':printf("星期三\n");break;
 case'4':printf("星期四\n");break;
 case'5':printf("星期五\n");break;
 case'6':printf("星期六\n");break;
 case'0':printf("星期天\n");break;
}
}
全部回答
  • 1楼网友:废途浑身病态
  • 2021-04-27 16:08

C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(4) : warning C4013: 'printf' undefined; assuming extern returning int

这是你少了个头文件#include<stdio.h>

接下来的,就是不能用[  ]方括号,要用()

还有一个,就是要用* 比如你的2c

要这样2*c

  • 2楼网友:专属的偏见
  • 2021-04-27 15:11

#include <math.h> #include <stdio.h>//缺少头文件

void main() {  c = y/100 -1;//你一个中括号留着干吗?  w = y+y/4+c/4-2*c+13*(m+1)/5+d-1; //表达不正确

  • 3楼网友:转身→时光静好
  • 2021-04-27 14:10

C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(4) : warning C4013: 'printf' undefined; assuming extern returning int

C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(5) : warning C4013: 'scanf' undefined; assuming extern returning int

这二个错误是没有头文件 stdio.h 

C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(10) : error C2059: syntax error : '['
C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(11) : error C2059: syntax error : '['
C:\Documents and Settings\Administrator\桌面\C语言实验报告\求星期几.c(11) : error C2059: syntax error : 'bad suffix on number'
这三个错误是因为[]这个括号只能用于数组的下标   不能用在算术表达式


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息