当前位置:首页 » 编程语言 » c语言接受输入
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言接受输入

发布时间: 2022-07-22 04:43:26

c语言判断入门问题,如何接受输入不同的字母

你好,其本质,字母都是ascii数字,在ascii中,大写字母的范围是0x41到0x5A,小写字母的范围是0x61到0x7A,比如你想控制只接受输入的大写字母,那么

charc;
c=getchar();
if(c<=0x5A&&c>=0x41)
{
//...
}

即可

如果你记不得这些数字,其实更简单的办法就是直接引用字母

charc;
c=getchar();
if(c<='Z'&&c>='A')
{
//...
}

辛苦打来,望采纳!

② C语言控制台程序怎么接收键盘输入的汉字

C语言控制台程序怎么接收键盘输入的汉字
汉字是字 一个字是两个字节 所以只能用char [] 需要用数组来存放汉字

③ C语言编程:下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格

main ( )
{
char cx , front=’\0’ ;
while (front!=’\n’) {
if (cx!=’ ’) putchar(cx) ;
if (cx==’ ’)
if (front!=' ')
putchar(' ');
front=cx ;
}

④ C语言如何实现接受用户输入,如果按下crlt+w,组合键,就会出现hello ,按其他的退出

#include<cstdio>
intmain()
{
charch;
ch=getchar();

if(ch==23)
{
printf("Hello ");
}
else
{
return0;
}
}

⑤ 怎么使C语言程序在后台运行并接收键盘输入

#include<stdio.h>
#include<stdlib.h>

#define SIZE 4

struct student
{
char s_num[10];
char s_name[20];
char sex[2];
int age;
}stu[SIZE];

void input()
{
int i;
for(i=0;i<SIZE;i++)
{
printf("请输入第%d个学生的数据内容:学号,姓名,性别(男:M,女F),年龄\n",i+1);
scanf("%s%s%s%d",stu[i].s_num,stu[i].s_name,stu[i].sex,&stu[i].age);
}
}

void save()
{
int i;
FILE *fp;
if((fp=(fopen("c:\\stu_list.txt","wb")))==NULL)
{
printf("can not open file:stu_list!\n");
exit(0);
}
for(i=0;i<SIZE;i++)
{
if((fwrite(&stu[i],sizeof(struct student),1,fp))!=1)
{
printf("write error!\n");
fclose(fp);
exit(0);
}
}
fclose(fp);
}

void main()
{
input();
save();
}

关键错误在于:fclose(0);
应该改为 fclose(fp);
另外,团IDC网上有许多产品团购,便宜有口碑

⑥ 用C语言编写:接受用户从键盘输入的两个字符,然后输出他们的代码

1
用getchar输入两个字符。
2
用%d的格式,同过printf输出ascii码值。
3
计算平方和,并利用sqrt求平方根。
4
输出平方根。
代码:
#include

#include

int main()
{
char a,b;
int c;
double r;
a = getchar();
b = getchar();
printf("%d %d ", a, b);
c = a*a + b*b;
r = sqrt(c);
printf("%lf\n", r);
}

⑦ c语言for循环接受输入 求大神!!

scanf输入, 其实是从一个输入流里面,就一个管子,读数据的, 当你输入字母时,会进入输入流中,如果不匹配就会还在输入流中, 下次再输入时, 还是前面那个字母

你else里面加个 getchar();语句 把你输入的字母过滤掉

⑧ c语言如何接受用户输入回车

用 fgets(str,80,stdin);
str 字符串尾将包含new-line符号。

#include <stdio.h>
void main()
{
char str[80];
printf("please enter string includes new line\n");
fgets(str,80,stdin);
printf("|%s|",str);
}

输入的字符串应当在|和|之间,从打印结果,你可以看到换了新行,说明包含了'\n'

⑨ c语言怎样接受按行输入的一段用空格分开的数字

在 scanf 中,从键盘输入的一切数据,不管是数字、字母,还是空格、回车、Tab 等字符,都会被当作数据存入缓冲区。存储的顺序是先输入的排前面,后输入的依次往后排。按回车键的时候 scanf 开始进入缓冲区取数据,从前往后依次取。但 scanf 中 %d 只识别“十进制整数”。对 %d 而言,空格、回车、Tab 键都是区分数据与数据的分隔符。当 scanf 进入缓冲区中取数据的时候,如果 %d 遇到空格、回车、Tab 键,那么它并不取用,而是跳过继续往后取后面的数据,直到取到“十进制整数”为止。对于被跳过和取出的数据,系统会将它从缓冲区中释放掉。未被跳过或取出的数据,系统会将它一直放在缓冲区中,直到下一个 scanf 来获取。但是如果 %d 遇到字母,那么它不会跳过也不会取用,而是直接从缓冲区跳出。

来自网页链接

⑩ c语言scanf接收输入并输出的问题

int类型不是无条件的忽略回车的,当没有接收完时,会忽略掉回车。当接收完成时,最后一个回车不会被忽略掉。

所以当再次输入abc的时候,其实回车已经赋值给c1了。

需要c1不接收回车的话,需要再第二次scanf之前强制刷新一下缓冲区就可以了。

调用fflush(stdin);