任务描述
本关任务:编写一个求解一元二次方程根的程序,一元二次方程为 ax2+bx+c=0(假定 b2−4ac>0)在 b2−4ac>0 条件下,方程有两个不等的实根。
相关知识
scanf()函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与 printf 函数相同,作用是从输入设备读取各种格式、各种类型的数据。scanf 函数的一般形式 :
scanf(格式控制字符串,地址列表)
其中:格式控制字符串的含义与 printf 类似,它指定输入数据项的类型和格式。
地址列表是由若干个地址组成的列表,可以是变量的地址(& 变量名)或字符串的首地址。
使用 scanf 函数还必须注意以下几点:
a. scanf()函数中没有精度控制,如: scanf("%5.2f",&a); 是非法的。
b. scanf 中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法的,应改为 scnaf("%d",&a); 才是合法的。
c. 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB 或回车作间隔。
d. 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
编程要求
根据提示,在右侧编辑器补充代码。
测试说明
要将输入的任意三位正整数 s 变成对应的逆序数 m输出,首先要求出 s 的百位、十位和个位上数字,即百位数 a、十位数 b、个位数 c,逆序输出数 m 对应的百位上数字就是c、个位数字是 a。即:S=100*a+10*b+c
m=100*c+10*b+c
测试输入:123预期输出:
321
/**********Begin**********/
#include<stdio.h>
int main()
{
int s,m,a,b,c;
scanf("%d",&s);
a = s/100;
b = (s/10)%10;
c = s%10;
m = c*100+b*10+a;
printf("输入正整数s=123的逆序三位整数m=%3d",m);
return 0;
}
/**********End**********/