格式化输入函数scanf( )

这篇博客介绍如何使用scanf()函数编写一个解决一元二次方程的程序,重点讲解了scanf()的用法及注意事项,包括输入数据的间隔、地址列表的要求等,并给出了编程任务和测试案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务描述

本关任务:编写一个求解一元二次方程根的程序,一元二次方程为 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**********/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值