C语言如何使用char型变量读入两位数

Python023

C语言如何使用char型变量读入两位数,第1张

char类型数据在输入时,用scanf()函数输入时,格式控制串用%c,但由于输入的方式不同,代码要采用不同的语句进行控制。

输入一个字符,按一次回车

#include

void

main()

{

int

i

char

ch

for(

i=0i<10i++

){

printf("input

%d

:

",

i+1)

scanf("%c%*c",

&ch

)

//用%*c吸收掉回车符。不然,下一次读字符,就会读到这个回车符。

printf("%c:%d\n",

ch,

ch

)

//输出字符和ascii值

%c表示输出按字符,%d表示输出按ascii值。

}

}

连续输入字符,直到回车结束(这时,不需要加过滤操作)

#include

void

main()

{

int

i

char

ch

for(

i=0i<10i++

){

scanf("%c",

&ch

)

//或用ch=getchar()

if

(

ch=='\n')

break

//遇回车结束输入

printf("%c:%d\n",

ch,

ch

)

//输出字符和ascii值

}

}

用户在键盘输入时,所有的按键不会直接反应到程序变量中,而是先存储到输入缓存区中,程序在读取数据时,是从输入缓存中读取。所有的按键都会映射成相应的字符,如:回车、空格等都是有效的字符,所以,在读字符时,程序不会自动忽略它们,如果需要忽略,需要进行程序代码控制。

#include <stdio.h>

#include "stdlib.h"

#include "time.h"

/* main:some simple output */

void main()

{

int num1,num2

srand((unsigned)time(NULL))

//产生两位数随机数

do

{

num1 = rand()%90+10

num2 = rand()%90+10

}while (num1<num2) //如果num2大于num1就重新生成 直到num1大于num2

if (num1>num2)

{

printf("大于")

}

else{

printf("小于")

}

}

#include <stdio.h>

int main()

{

    int n

    while(scanf("%d",&n)==1)

    {

        printf("%d %d\n",n/10,n%10)

    }

    return 0

}