又想不通了,正在撞豆腐555
/*统计输入的各个数字,空白符(空格,制表符,换行符)
以及所有其他字符出现的次数,分别存储在num,
blank,others里,并打印出来^^
*/
#include"stdio.h"
void main()
{
int num={0}, blank=0, others=0, i, c;
while( (c=getchar()) != EOF) // EOF = ctrl + z
{
if( c == ' ' || c == '\t' || c == '\n')
{ ++blank;}
else if( c > 0 && c < 9 ) //为何此句不能实现把数字存入num中???
{
for(i=0; i<10; i++)
{
num = c;
}
}
else
{ ++others;}
}
printf("blank=%d\tothers=%d\n", blank, others);
for(i=0; i<10; i++)
{
printf("%d\n",num);
}
}
本帖最后由 swsm 于 2014-3-15 22:43 编辑
#include"stdio.h"
void main()
{
//num数组里存放的是用户输入的数字
//blank存放的是用户输入的空格,制表符的个数
int num={0}, blank=0, others=0, i=0;
char c;
while( (c=getchar()) != EOF) // EOF = ctrl + z
{
if( c == ' ' || c == '\t' || c == '\n')
{ ++blank;}
else if( c >= '0' && c <= '9' )//这里改了一下,因为用户输入的都是字符所以这样判断
{
num = c - 48; //这里的c - 48 是因为要把对应的asi码表的数字字符转化成0 -9 的数字而进行的
i++; //i++ 是让用户输入的数字继续向下存放在num数组里
}
else
{ ++others;}
}
printf("blank=%d\tothers=%d\n", blank, others);
for(i=0; i<10; i++)
{
printf("%d\n",num);
}
}
//主要是注意用户输入的都是字符,都是对应的asc码表的数字!这个很重要!
//呵呵,有问题再交流啊! c > '0'&& c < '9'
不加单引号指的是ASCII 0~9 这个范围的字符 不是数字 0~9 。。。。。。。。。。 看一看 看一看 swsm 发表于 2014-3-15 22:00 static/image/common/back.gif
//主要是注意用户输入的都是字符,都是对应的asc码表的数字!这个很重要!
//呵呵,有问题再交流啊!
原来如此,又学到了,非常感谢{:7_175:} 欣欣celin 发表于 2014-3-16 15:23 static/image/common/back.gif
原来如此,又学到了,非常感谢
不客气啦,共同学习,进步!!呵呵!{:2_33:} swsm 发表于 2014-3-16 23:01 static/image/common/back.gif
不客气啦,共同学习,进步!!呵呵!
{:5_95:}进步进步{:5_108:} ↖(^ω^)↗加油啊嘿嘿 万千不待 发表于 2014-3-26 19:57 static/image/common/back.gif
↖(^ω^)↗加油啊嘿嘿
恩恩,一起加油,反正迟早会降到阿布扎比的水平的{:7_183:}
页:
[1]