巨兔12138 发表于 2020-7-7 18:25:19

for循环无法结束

#include<Iostream>

using namespace std;

int main()
{
        char a;

        int i, j;
        for (i = 0; i < 3; i++)
                for (j = 0; j < 10; j++)
                        cin >> a;

        int D = 0, x = 0, s = 0, k = 0, q = 0;
        for (i = 0; i < 3; i++)
                for (j = 0; j < 10; j++)
                {
                        if (a >= 'A' && a <= 'Z')
                                D++;
                        else if (a >= 'A' && a <= 'Z')
                                x++;
                        else if (a >= '0' && a <= '9')
                                s++;
                        else if (a == '\0')
                                k++;
                        else
                                q++;
                }

        cout << "大写字母有" << D << "个";
        cout << "小写字母有" << x << "个";
        cout << "数字有" << s << "个";
        cout << "空格有" << k << "个";
        cout << "其他字符有" << q << "个";

        return 0;
}

在编译器中运行以后,cout中的内容不输出
请问各位大神这是什么情况

小甲鱼的铁粉 发表于 2020-7-7 18:31:39

不是不输出,是你没输入够30个字符

小甲鱼的铁粉 发表于 2020-7-7 18:47:25

#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
      char a,ch;

      int i, j;
      int D = 0, x = 0, s = 0, k = 0, q = 0;
      while((ch = getchar()) !='\n'&&i<3&&j<10)
      {
            for (i = 0; i < 3; i++)
                for (j = 0; j < 10; j++)
                  a = ch;
      }
      for (i = 0; i < 3; i++)
                for (j = 0; j < 10; j++)
                {
                        if (a >= 'A' && a <= 'Z')
                              D++;
                        else if (a >= 'A' && a <= 'Z')
                              x++;
                        else if (a >= '0' && a <= '9')
                              s++;
                        else if (a == '\0')
                              k++;
                        else
                              q++;
                }
      
      cout << "BIG" << D << "个";
      cout << "small" << x << "个";
      cout << "math" << s << "个";
      cout << "   " << k << "个";
      cout << "else" << q << "个";

system("pause");
return 0;
}
可以参考这个,使用while判断是否为换行再退出for
页: [1]
查看完整版本: for循环无法结束