c语言字符串问题,不许使用指针和数组。只能用循环。

[复制链接]
查看11 | 回复3 | 2008-4-18 19:38:16 | 显示全部楼层 |阅读模式
那是字符 那来的正整数和负整数
回复

使用道具 举报

千问 | 2008-4-18 19:38:16 | 显示全部楼层
不用指针和数组?那循环怎么写啊
回复

使用道具 举报

千问 | 2008-4-18 19:38:16 | 显示全部楼层
/*刚看到你的补充,你的意思是输入还可以有字母或符号?那么是要把他们当作无效输入处理掉还是....如果是当作无效输入的话,只需要在while里面加一个判断即可,判断输入是否有效,程序已经修改如下,这里排版可能有些乱,你自己凑合看吧*/#include int main(){
int plus_count = 0;
int minus_count = 0;
int plus_sum = 0;
int minus_sum = 0;
double plus_average = 0;
double minus_average = 0;
char input;
while((input = getchar()) != '*')
{
if(input != '0' && input != '1' && input != '2' && input != '3' && input != '4' && input != '5' && input != '6' && input != '7' && input != '8' && input != '9')continue;
/*减48是字符和整数进行转换*/
if(input - 48 > 0)
{
plus_count++;
plus_sum += (input - 48);
}
else if(input - 48 < 0)
{
minus_count++;
minus_sum += (input - 48);
}
}
/*处理除数为0时的情况*/
if(plus_count != 0)
/*乘以1.0是将该表达式结果转化为double*/
plus_average = plus_sum * 1.0 / plus_count;
else if(plus_count == 0)
plus_average = 0;
if(minus_count != 0)
minus_average = minus_sum * 1.0 / minus_count;
else if(minus_count == 0)
minus_average = 0;
printf("一共%d个正整数\n", plus_count);
printf("一共%d个负整数\n", minus_count);
printf("正整数平均值:%f\n", plus_average);
printf("负整数平均值:%f\n", minus_average);
return 0;}
回复

使用道具 举报

千问 | 2008-4-18 19:38:16 | 显示全部楼层
if(碰到“-”字符)负数++;else正数++;不会呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行