C语言使程序读取输入直到遇到#字符。使程序打印每个输入的字符以及它的十进制ASCLL码。每行打印8个字符对

作者&投稿:淡苇 (若有异议请与网页底部的电邮联系)
请教cpp教材的一道c语言题目,附上自己的代码,请帮忙下指出错误~

那是由于你每个输入后按了回车换行键(Windows操作系统下,就是换行,ascii码值就是10),这个留在了输入缓冲中,被自动当作下一个的输入了。添加一个简单的语句就可以过滤它:
while ((ch = getchar()) != '#') { if (ch == '
') continue; /* 过滤回车换行键 */ printf("%c:%d,", ch, ch); n++; if ((0 == (n % EIGHT)) && (n != 8)) printf("
"); }

#include
int main(void)
{
int ch;
int ct=0;
while((ch=getchar())!='
')
{
if(ct%10==0)
putchar('
');
printf("%2c%4d",ch,ch);
ct++;
}
printf("
");
return 0;
}
这样就可以了,主要做了如下修改
第一是while中的条件换成了不等于回车,这样就解决了输入结束时最后的格式问题
第二是循环中的ct++放在了输出之后,这样才能保证一行10个值
第三是循环结束后输出一个换行,这样最后一行比较美观

望采纳。。。

#include <stdio.h>

int main(int argc,char *argv[])
{
char ch;
int i = 0;
while((ch = getchar()) != '#')
{
i++;
printf("%c,%d ",ch,ch);
if(i >= 10)
{
printf("\n");
i = 0 ;
}
getchar();
}
return 0;
}


c语言中scanf有什么作用,?
scanf函数的主要作用和功能如下:一、读取输入数据 scanf函数是C语言中标准库函数之一,用于从控制台读取输入数据。程序员可以通过定义不同的格式控制符,来读取不同类型的数据,如整数、浮点数、字符等。用户输入的数据会按照指定的格式存储在相应的变量中。二、格式化读取 scanf函数具有格式化读取的能力。通...

c语言中stdin流的用法是什么?
C语言中stdin流的用法 在C语言中,stdin是一个预定义的标准输入流,它表示程序从标准输入设备读取数据。通过stdin流,我们可以使用scanf、fgets等函数从键盘获取用户输入的数据。以下是关于stdin流的 1. stdin流的基本概念:在C语言中,输入输出是通过流来处理的。stdin、stdout和stderr是三个预定义的流...

C语言使程序读取输入直到遇到#字符。使程序打印每个输入的字符以及它的...
int main(int argc,char *argv[]){ char ch;int i = 0;while((ch = getchar()) != '#'){ i++;printf("%c,%d ",ch,ch);if(i >= 10){ printf("\\n");i = 0 ;} getchar();} return 0;}

c语言while(ch= getchar())!='\\ n'什么意思?
在C语言中,while (ch = getchar()) != '\\n' 这个循环语句的意思是,不断地从标准输入(通常是键盘)读取一个字符,然后将这个字符赋值给变量 ch,直到读取到的字符是换行符、回车符('\\n')为止。下面是一个使用这个循环的简单代码示例:在这个示例中,程序会不断地读取输入的字符,直到遇到换...

编写一个程序读取输入,读到#字符停止(c语言)?
int main(){ int m=0;char a,b[111];scanf("%c",&a);while(a!='#'){ b[m]=a;\/\/出现'#'字符赋值循环终止,之后再输入不会被记录在b数组中;m++;scanf("%c",&a);\/\/这个scanf()作用是前一个a不为'#'时,继续向b数组中赋值;} for(int i=0;i<m;i=i+8){ for(int j...

c语言顺序读写是什么意思
C语言顺序读写是指程序按照代码的先后顺序依次读取和写入数据。在程序中,通常会有一段代码用来读取输入数据,处理这些数据,然后将处理结果输出到屏幕上或保存到文件中。这样的代码通常是按照一定的逻辑顺序组织的,保证了程序执行的正确和完整。对于C语言程序员来说,掌握顺序读写的技能非常重要。这不仅...

怎么在c语言从键盘输入x=20,y=25,z=A,然后将输入的内容从屏幕输出...
&z);printf("您输入的内容为:x=%d, y=%d, z=%c", x, y, z);return 0;} ```运行程序后,会提示用户输入x、y、z的值,格式为"x=20,y=25,z=A"。然后通过scanf函数按照指定格式读取输入内容,并将其分别赋值给变量x、y、z。最后再通过printf函数将读取到的内容输出到屏幕上。

stdin是什么
stdin是标准输入的缩写。详细解释如下:stdin的概念 在计算机编程中,stdin代表标准输入,它是许多程序和命令行工具获取用户输入的主要途径。它是标准输入流的一个实例,用于接收来自键盘或其他输入设备的文本和数据。在大多数编程环境中,程序可以通过stdin来读取用户通过键盘输入的数据。stdin的工作原理 当一...

C语言中stdin流的用法是怎样?
以下是一个简单的C语言程序,用于演示如何使用stdin流获取键盘输入:在这个程序中,我们首先定义了一个字符数组str,然后使用printf函数输出提示信息。然后,我们使用fgets函数从stdin流中读取一个字符串,并将读取到的字符串存储在str中。最后,我们使用printf函数输出用户输入的字符串。♡♡ 有...

C语言如何弹出输入值框?
在C语言中,可以使用标准库中的scanf函数来读取用户输入的值,而控制台窗口通常是默认的输入输出设备,所以不需要弹出输入值框。可以通过以下代码示例来读取用户输入的值:c include <stdio.h> int main() { int num;printf("Please enter a number: ");scanf("%d", &num);printf("You entered:...

和静县15234833116: c语言编写一个程序,不断输入字符直到遇到'#' -
地蒋参丹: #include int main(void){ char ch; while((ch=getchar())!='#') printf("%c",ch); printf("\n"); return 0; }

和静县15234833116: C语言使程序读取输入直到遇到#字符.使程序打印每个输入的字符以及它的十进制ASCLL码.每行打印8个字符对 -
地蒋参丹: #include <stdio.h> int main(int argc,char *argv[]) { char ch; int i = 0; while((ch = getchar()) != '#') { i++; printf("%c,%d ",ch,ch); if(i >= 10) { printf("\n"); i = 0 ; } getchar(); } return 0; }

和静县15234833116: C语言编程:从键盘输入一些字符,逐个将它们送到文本文件“tt.dat”中,直到输入一个”#“为止. -
地蒋参丹: #include <stdio.h>void main(void) {FILE *fp;char c;fp=fopen("tt.dat","w");c=getchar();while(c!='#'){ fputc(c,fp);c=getchar();}fclose(fp); }

和静县15234833116: 用c语言编写一个程序读写输入,直到#,并报告e出现的次数,是单个字母. -
地蒋参丹: #include <stdio.h> int main() {char ch; int count=0; while( (ch=getchar() ) != '#') {//要把ch=getchar()这句写在while循环里面并进行判断,如果按原来的写法,就只读入1个字符,如果输入的不是“#”,还会陷入死循环 if(ch == 'e') ++count; }printf("count=%d\n",count); }

和静县15234833116: c语言中如何在读入字符串时如何遇到指定字符结束? -
地蒋参丹: 标准C中没有提供这样的函数,可以自定义一个这样的函数,以实现getline()函数的功能.参考代码如下: int get_str( char *s, int size, const char ch='\n' ) //如果不输入第三个参数,默认为回车符 {int i;for( i=0;i{ s[i]=getchar(); //读入一个...

和静县15234833116: 用C语言编写一个程序读取输入,直到#,并报告ei出现的次数 -
地蒋参丹: #include<stdio.h> int main(void) {char ch;int e=0,n=0;while( (ch=getchar())!='#' ){if( ch=='e' )e=1;else{if( ch=='i' && e==1 )n++;e=0;}}printf( "%d\n", n );return 0; }

和静县15234833116: C语言中如何让他不断输入字直到遇见非法字符时停止输入! -
地蒋参丹: 你好~ EOF即(End Of File)就是文件尾的意思,表示输入完成,一般被编译器定义为-1你在用函数向程序读入文件数据的时候,函数总会返回一个状态(某个数字),是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF,BOF(Before Of File~)等等

和静县15234833116: C语言如何从键盘输入一些字符,逐个把它们存入磁盘文件test中去,直到输入一个#为止? -
地蒋参丹: #include<stdio.h>#include<string.h>#include<stdlib.h> main() { FILE *fp; char c; if((fp=fopen("test.txt","w"))==NULL) { printf("can not open this file\n"); exit(0); } else { printf("input string,ending with #:\n"); c=getchar(); while(c!='#') { fputc(c,fp); putchar(c); c=getchar(); } fclose(fp); puts("\n"); } }

和静县15234833116: c语言考试 编写三个程序: 1.从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”... -
地蒋参丹: 下面三段程序代码都是我在VC6.0编译器上调试通过的.请给分 //test1-2.c #include #include int main() { FILE *fp = fopen("file1.dat", "w+"); char ch; if( !fp ) { printf("Failed to open file:file1.dat.\n"); exit(0); } while((ch = getchar()) != '#') { fprintf(fp,...

和静县15234833116: C语言 从键盘上输入字符并显示,直到输入字符“*”为止; 用while语句实现; -
地蒋参丹: while(1) { char a = 0; scanf("%c",&a); if('*' == a) break; else printf("%c",a); } // 在死循环里输入一个数,显示一个数,若输入 * 号直接退出不显示,for(;;) { char a = 0; scanf("%c",&a); if('*' == a) break; else printf("%c",a); }// 在死循环里输入一个数,显示一个数,若输入 * 号直接退出不显示,

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网