C语言中怎么输入数字和字母?

来源:百度知道 编辑:UC知道 时间:2024/06/02 23:14:42
比如说,我要输入一个东西。如果输入字母a就打印a,如果输入数字比如4就打印数字的平方16。
该用什么函数输入?
厄..我的意思你理解错了.
我是说就输入一个东西.不是char和int分2行输入。
输入一行东西就判断它是字母还是数字。如果是字母就输出字母。如果是数字就输出它的平方,还有数字不一定是个位数。。。

一、输入数字可以用scanf输入。
如果输入的是整型数据,可以用

int a;
scanf("%d",&a);
实现把输入的数字赋值给a的效果。
类似的,如果是float, double,short,long等类型的数据,那么就要把变量定义成对应的类型,然后使用各自的格式字符%f,%lf,%hd,%ld等进行输入。

二、输入单个字符。
输入单个字符可以用以下两种函数。
定义char c;
1 scanf("%c", &c);
这种方法和输入数字是类似的,%c仅读入一个字符,并赋值给c。
2 c = getchar();
getchar函数的功能就是读入一个字符,并以返回值形式返回。

三、输入一串字符(以空白字符分隔)。
可以用scanf的%s格式。
char str[100];//空间要定义足够大
scanf("%s", str);//将字符串读入并存在str中

四,读入一行数据。
可以用gets函数。gets的功能就是读入一整行数据,以换行符为结束。
char str[100];//同样要足够大的空间
gets(str);

补充,无论哪种形式的输入,都可以用getchar逐个输入到字符串中,然后判断结束符以结束输入,再对字符串做处理。这种方法对编程水平要求比前几种略高,代码量也更大,但好处是完全自己控制,更加灵活。

直接scanf从stdin读用户输入--getchar();
1,然后判断读入的asiic码值,如果 'a'<=x<='z' || 'A'<=x<='Z',直接printf输出
2,如果 '0'<=x<='9',printf输出x^2

补充:
1,用gets()函数读取stdin输入的一行数据
2,然后判断里面各个字符