重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
无法同时的,键盘只有一个,只能一个一个的输入,有先后顺序,例如:
创新互联是一家专业提供通榆企业网站建设,专注与成都网站建设、网站制作、H5页面制作、小程序制作等业务。10年已为通榆众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
scanf("%d",a);
scanf("%d",b);
代码如下:
#includestdio.h
void main()
{
int a,b;
float x,y;
char c1,c2;
scanf("%d,%d",a,b);
scanf("%f,%f",x,y);
getchar();
scanf("%c,%c",c1,c2);
printf("a=%d,b=%d\n",a,b);
printf("x=%f,y=%f\n",x,y);
printf("c1=%c,c2=%c\n",c1,c2);
}
第一个是在do~while中保证输入的数是大于0的或是等于-1的,否则一直循环要求输入正确的数。第二个在while循环中,只要输入的数不是-1就一直循环要求输入。从输入数据的本质讲这两个scanf没有什么区别,都是输入一个整数,只是对输入数据的范围要求不一,写两个是便于代码对输入数据范围的处理。
#includestdio.h
int main()
{
double i1,i2,result;//定义第一个数,第二个数,结果
int choose;
printf("请选择需要的算法:\n");
printf("1.加法\n2.减法\n3.乘法\n4.除法\n");
scanf("%d",choose);
switch(choose)
{
case 1:
printf("加法\n");
printf("请输入被加数:");
scanf("%lf",i1);
printf("请输入加数:");
scanf("%lf",i2);
result = i1 + i2;
printf("结果是:%.2lf",result);
break;
case 2:
printf("减法\n");
printf("请输入被减数:");
scanf("%lf",i1);
printf("请输入减数:");
scanf("%lf",i2);
result = i1 - i2;
printf("结果是:%.2lf",result);
break;
case 3:
printf("加法\n");
printf("请输入被乘数:");
scanf("%lf",i1);
printf("请输入乘数:");
scanf("%lf",i2);
result = i1 * i2;
printf("结果是:%.2lf",result);
break;
case 4:
printf("加法\n");
printf("请输入被除数:");
scanf("%lf",i1);
printf("请输入除数:");
scanf("%lf",i2);
result = i1 / i2;
printf("结果是:%.2lf",result);
break;
}
return 0;
}
您好!请试下这个。你的那个是因为scanf的输入格式错了,请不要在scanf里加入\n等无关字符!
//仅使用一次 scanf() 的情况
scanf("%d %d %d",num1,num2,num3); //使用空格分开
/*
输入时,每个数字使用空格分开,例如:1 12 123,等同于:num1 = 1,num2 = 12,num3 = 123。也可以使用逗号分隔,scanf("%d,%d,%d",num1,num2,num3);那么, 输入时,数字之间应使用 ,分隔开,例如:1,12,123.总之,scanf(” “)双引号中修饰符之间缺少什么,输入时就应补什么。*/scanf("%c%c%c",ch1,ch2,ch3); //不使用空格
/*
输入时,读取3个字符,例如:abc,这样等同于:ch1 = 'a',ch = 'b',ch3 =
'c'。但在这里有一个问题,就是连续输入多个 int 数据时,就必须使用换行符了,例如:scanf("%d%d%d",num1,num2,num3);输入时,应该是:1(回车键)
12(回车键)
123(回车键)
之所以要按下回车键,是因为输入 1 时,虽然屏幕上显示 1 ,但是 1 这个字符并没有被程序接收,而是停留在缓冲区,按下回车键之后,才会发送输入。*/
//使用循环
for(n = 0;n 3;n++)
scanf("%d",num[n]);
scanf("%.2f",L1); scanf无法指定%.2f,应该都改成%f
另外,最后那个printf("弹簧的订线长度为:\n",Line);漏了Line的打印格式,应该是
printf("弹簧的订线长度为:%.2f\n",Line);