编写程序,输入一行数字字符,回车结束,每个数字字符的前后都有空格,把这一行中的数字转换成一个整数。

while((c=getchar())!='\n')
{if(c>='0' && c<='9') n=n*10+c-'0';}
这段程序是上面题目的一段程序,什么意思啊?看不明白!

while((c=getchar())!='\n') //一个一个字符接受你输入的字符直到回车
//(虽然你是一次性输入回车这个程序是一个一个字符接受的)
{if(c>='0' && c<='9') n=n*10+c-'0';}
//if(c>='0' && c<='9') 判断字符是不是数字字符
//n=n*10+c-'0';--c-'0'把字符数字转换成整型数字
//这个程序要先把n初始化为0;
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-06
c=getchar();从键盘输入一个字符放进c里,如果当键盘输入回车(!\n)的时候,循环会结束。
如果c小于9或者c大于0的时候,执行n=n*10+c-'0
就是这个意思啊。

...回车结束),每个数字字符的前后都有空格。请编程,把这一行中的数字...
if (str[i] == ' ')\/\/ ' '中间是空格 { str.erase(str.begin()+i);\/\/删掉空格 } } int iCount = atoi(str.c_str());\/\/字符串转换成数字 cout<

...字符(用回车结束),每个数字字符的前后都有空格.请编程,把这一行中的...
数字的asc2码不是从零开始的,之所以“ch-‘0’”就是为了这个 这个函数从字符串头开始读,所以先读到的数字在高位,所以每读到下一个,已经出现的数就乘以10

编写一个程序,输入一行字符,以回车结束,分别统计出其中的英文字母、空...
include <stdio.h> int main(){ int letter=0,space=0,digit=0,others=0;char c;while((c=getchar())!='\\n'){ if(c==' ')space++;else if(c>='1'&&c<='9')digit++;else if((c>='a'&&c<='z')||c>='A'&&c<='Z')letter++;else others++;} printf("The number of...

输入一行数字字符,每个数字字符的前后都有空格把这行中的数字转换成一...
首先测一下,去空格后这字串多长,也就是这是个几位数,记录为N 然后,取子串,以空格分界,把数字一个个取出来.(考验你字符操作的时候到了.)从左往右顺序.最后,按10的乘方,相乘,再累加...

编写一个程序,从键盘输入一行字符按Enter键结束分别统计并输出出英文字...
楼上的数字也要用字符形式哦.include<stdio.h> int main(){ int letters,space,digit,other;char c;letters=0,space=0,digit=0,other=0;while((c=getchar())!='\\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters ++;else if(c>='0'&&c<='9')digit++;else if(c=='...

...语句编写程序,对输入一行字符的字母、数字、空格和其他字 符的个...
include "stdio.h"int main(int argc,char *argv[]){ int d,l,s,o,ch;printf("Please enter a line of characters(Enter end)...\\n");d=l=s=o=0;while((ch=getchar())!='\\n')if(ch>='0' && ch<='9')d++;else if(ch==' ')s++;else if(ch>='a' && ch<='z' ...

...编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的ascl...
include<stdio.h>int main(){ char c; int i = 0; while((c = getchar())!='\\n') { if(i % 3 == 0) printf("\\n"); putchar(c); printf("%d ",c); i++; } }

编写程序,从键盘输入一行字符,一回车键为结束,分别统计其中的大写字母...
include "stdio.h"main(){char c,sum1=0,sum2=0,space=0,number=0,other=0;c=getchar();while(c!='\\n'){ if(c>='A'&&c<='Z') sum1++;else if(c>='a'&&c<='z') sum2++;else if(c>='0'&&c<='9') number++;else if(c==' ') space++;else other ++;c=get...

请编写程序,输入一行字符(用回车结束),每个数字字符以及与之对应的ASCI...
include<stdio.h> include<ctype.h> void main(){ int n=0;char ch;while((ch=getchar())!='\\n'){ if(n%3==0)putchar('\\n');\/\/注意是n%3而不是n\/3 n++;printf("%c,%d,",ch,ch);} putchar('\\n');}

编写一个程序用户输一串字符(以回车键结束最多80个字符)统计其中数字...
= x[i]); printf("alphaNum = %d, digitNum = %d, blankNum = %d, otherNum = %d\\n", alphaNum, digitNum, blankNum, otherNum); return 0;}Outcome:Input string:sd13,.op098?alphaNum = 4, digitNum = 5, blankNum = 0, otherNum = 3Input string:123ff gdf;\/?alphaNu...

相似回答