1题。
#include<stdio.h>
#include<math.h>
int main()
{
double a;//题目中输入了小数,用double类型的变量
scanf("%lf",&a);
if(a<0) printf("less than 0");
else printf("%d",(int)sqrt(a));//强制类型转换,在这个数的前面加上"(转换后的变量类型)"
return 0;
}
2题(已修改,可能完全正确)
#include<stdio.h>
int main()
{
int a,i,b,t;
scanf("%d",&a);
t=a;
if(t==0) i=1;
else for(i=0;t>0;i++)
{ t/=10;}//得到a的位数
if(i==1) printf("%d has 1 digit ",a);
else printf("%d has %d digits ",a,i);
if(a==0) printf("0.");
else for(i=0;a>0;i++)
{
b=a%10;
a=a/10;
printf("%d",b);//输出各个数
if(a!=0) printf(",");//判断是","还是"."
else printf(".");
}
return 0;
}
3题