c语言怎么解决scanf()把回车作为输入值的问题,请仔细看我的代码

Python040

c语言怎么解决scanf()把回车作为输入值的问题,请仔细看我的代码,第1张

1、对于scanf("%lf%c%lf",&number_1,&operition,&number_2),注意格式串中没有(也不能有)空格,输入响应时,要连续输入三个量,中间也不能有空格,否则,必然会造成误读。键入三个量后,接下来的回车键表示本次输入已经结束,回车键不会被认为是数值的一部分,而会被“吃掉”,输入缓冲区中没有任何遗留。

2、函数isdigit(char)的参数ASCII字符,或0 -- 127 的整形数,用double类型作为参数是错误的。

#include #include int main (){int num,i,jdouble arry[20][3],C,areaprintf("请输入三角形的个数,不要超过20个:\n")scanf("%d",&num)printf("请依次输入三角形的边长,按空格隔开\n")for (i=1iarry[i][2])&&(arry[i][0]+arry[i][2]>arry[i][1])&&(arry[i][1]+arry[i][2]>arry[i][0])) {C=(arry[i][0]+arry[i][1]+arry[i][2])/2 area=sqrt(C*(C-arry[i][0])*(C-arry[i][1])*(C-arry[i][2])) printf("area=%.2lf\n",area) } else printf("can't\n") } return 0} 第二题:平年闰年都有考虑,可能出错的数据运行了一下。#includeintpanduan(intyear)intmain(){intnum,i,j,k,arry[20][3],num_Day=0printf("请输入数据的个数,不要超过20个:\n")scanf("%d",&num)printf("请依次输入年月日,按空格隔开\n") for(i=1i9999)|(arry[i][1]12)|(arry[i][2]31)| ((panduan(arry[i][0]))&(arry[i][2]>=30)&(arry[i][1]==2))|(!(panduan(arry[i][0]))&(arry[i][2]>=29)&(arry[i][1]==2)) )//把年月日输错的直接报错 printf("WrongInput\n") else { if(arry[i][1]==1)printf("这是第%d天\n",arry[i][2]) else { for(j=1j