首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个C 的程序调适(帮小弟我改错)~50分

2012-03-06 
一个C 的程序调适(帮我改错)在线等~~~50分#include stdio.hvoidmain(){intword_number0,space_number0

一个C 的程序调适(帮我改错)在线等~~~50分
#include <stdio.h>
void   main()
{
int   word_number=0,space_number=0,number_number=0,else_number=0,t;
char   n;
t=(int)n;
printf( "请输入任意一组字符串: ");
do
{
fflush(stdin);
n=getchar();

if((t> =0&&t <=47||t> =58&&t <=64||t> =93&&t <=96||t> =123&&t <=126)&&t!=32)
{
else_number++;
}
else   if(t> =65&& <=90||t> =97&&t <=122)
{
word_number++;
}
else   if(t=32)
{
space_number++;
}
else   if(t> =48&&t <=57)
{
number_number++;
}
else
{
printf( "您的输入有误 ");
}

}
while(n= '\n ');

printf( "英文字母%d个\n空格%d个\n数字%d个\n其它字符%d个\n ",word_number,space_number,number_number,else_number);
}

[解决办法]
#include <stdio.h>
void main()
{
int word_number=0,space_number=0,number_number=0,else_number=0,t;
char n;
printf( "请输入任意一组字符串: ");
do
{
fflush(stdin);
n=getchar();
t=(int)n;
if((t> =0&&t <=47||t> =58&&t <=64||t> =93&&t <=96||t> =123&&t <=126)&&t!=32)
{
else_number++;
}
else if(t> =65&&t <=90||t> =97&&t <=122)
{
word_number++;
}
else if(t=32)
{
space_number++;
}
else if(t> =48&&t <=57)
{
number_number++;
}
else
{
printf( "您的输入有误 ");
}

}
while(n != '\n ');

printf( "英文字母%d个\n空格%d个\n数字%d个\n其它字符%d个\n ",word_number,space_number,number_number,else_number);
}
[解决办法]
#include <stdio.h>

// ============================================================================
// ==============================================================================

int main()
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int word_number = 0, space_number = 0, number_number = 0, else_number = 0,
t;
char n;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;
printf( "请输入任意一组字符串: ");
do
{
//fflush(stdin);//不可以加这个
n = getchar();
t = (int)n;//P.S. 其实不必要,n本身就能作为数值比较
if ((t > = 0 && t <= 47 || t > = 58 && t <= 64 || t > = 93 && t <= 96
|| t > = 123 && t <= 126) && t != 32) {
else_number++;
} else if (t > = 65 && t <= 90 || t > = 97 && t <= 122) {
word_number++;
} else if (t == 32) {//这里是==
space_number++;
} else if (t > = 48 && t <= 57) {
number_number++;
} else {
printf( "您的输入有误 ");
}
} while (n != '\n ');

printf( "英文字母%d个\n空格%d个\n数字%d个\n其它字符%d个\n ", word_number,
space_number, number_number, else_number-1);//扣掉回车
return 0;
}

P.S.

应该改好了吧? 没细看ascii表了~

其实完全可以这样 n> = 'a '

其他字符可以放在最后判断 又及
[解决办法]
#include <stdio.h>


void main()
{
int word_number=0,space_number=0,number_number=0,else_number=0,t;
char n;
printf( "请输入任意一组字符串: ");
do
{
//fflush(stdin);
n = getchar();
t = (int)n;
if(( t > = 0 && t <= 47 || t > = 58 && t <= 64 || t> = 93 && t <= 96 || t> =123 && t <=126) && t != 32 )
else_number++;
else if( t> =65 && t <= 90 || t > = 97 &&t <= 122 )
word_number++;
else if( t== 32 )
space_number++;
else if( t > = 48 && t <= 57 )
number_number++;
else
printf( "您的输入有误 ");
}
while( n != '\n ' );

printf( "英文字母%d个\n空格%d个\n数字%d个\n其它字符%d个\n ",word_number,space_number,number_number,else_number);
}

热点排行