题目:
根据scanf()的返回值判断scanf()是否成功读入了指定的数据项数,使程序在用户输入123a时,能输出如下运行结果:
123a↙
Input error!
输入格式: “%d %d”
输出格式:
如果成功读入指定的数据项数,输出格式为:“a = %d, b = %d\n” (注意:等号的两边各有一个空格)
输入非法数据,输出格式为:“Input error!”
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
程序:
#include <stdio.h>
int main()
{
int a,b,c;
c=scanf("%d %d",&a,&b);
if (c!=2)
{
printf("Input error!");
}
else if (c==2)
{
printf("a = %d, b = %d\n",a,b);
}
return 0;
}
scanf的返回值是参数被成功赋值的个数
如果只有a赋值成功,则返回1
a,b都赋值成功则返回2
如果失败返回0
题目:
从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。
程序:
#include <stdio.h>
#define TOTALBITS 6
int main()
{
int bits=0;
printf("Input your password:\n");
do
{
char pw;
int inputcount = scanf("%c",&pw);
while(getchar()!='\n');
if(pw<='9'&& pw>='1'||pw=='0')
{
printf("%c, you have enter %d-bits number\n",pw,bits+1);
bits++;
}
else
{
printf("error\n");
}
}
while(bits<TOTALBITS);
return 0;
}