鱼C论坛

 找回密码
 立即注册
查看: 950|回复: 2

[已解决]for循环无法结束

[复制链接]
发表于 2020-7-7 18:25:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<Iostream>

  2. using namespace std;

  3. int main()
  4. {
  5.         char a[3][10];

  6.         int i, j;
  7.         for (i = 0; i < 3; i++)
  8.                 for (j = 0; j < 10; j++)
  9.                         cin >> a[i][j];

  10.         int D = 0, x = 0, s = 0, k = 0, q = 0;
  11.         for (i = 0; i < 3; i++)
  12.                 for (j = 0; j < 10; j++)
  13.                 {
  14.                         if (a[i][j] >= 'A' && a[i][j] <= 'Z')
  15.                                 D++;
  16.                         else if (a[i][j] >= 'A' && a[i][j] <= 'Z')
  17.                                 x++;
  18.                         else if (a[i][j] >= '0' && a[i][j] <= '9')
  19.                                 s++;
  20.                         else if (a[i][j] == '\0')
  21.                                 k++;
  22.                         else
  23.                                 q++;
  24.                 }

  25.         cout << "大写字母有" << D << "个";
  26.         cout << "小写字母有" << x << "个";
  27.         cout << "数字有" << s << "个";
  28.         cout << "空格有" << k << "个";
  29.         cout << "其他字符有" << q << "个";

  30.         return 0;
  31. }
复制代码

在编译器中运行以后,cout中的内容不输出
请问各位大神这是什么情况
最佳答案
2020-7-7 18:47:25
  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4. int main()
  5. {
  6.         char a[3][10],ch;

  7.         int i, j;
  8.         int D = 0, x = 0, s = 0, k = 0, q = 0;
  9.         while((ch = getchar()) !='\n'&&i<3&&j<10)
  10.         {
  11.             for (i = 0; i < 3; i++)
  12.                 for (j = 0; j < 10; j++)
  13.                     a[i][j] = ch;
  14.         }
  15.         for (i = 0; i < 3; i++)
  16.                 for (j = 0; j < 10; j++)
  17.                 {
  18.                         if (a[i][j] >= 'A' && a[i][j] <= 'Z')
  19.                                 D++;
  20.                         else if (a[i][j] >= 'A' && a[i][j] <= 'Z')
  21.                                 x++;
  22.                         else if (a[i][j] >= '0' && a[i][j] <= '9')
  23.                                 s++;
  24.                         else if (a[i][j] == '\0')
  25.                                 k++;
  26.                         else
  27.                                 q++;
  28.                 }
  29.         
  30.         cout << "BIG" << D << "个";
  31.         cout << "small" << x << "个";
  32.         cout << "math" << s << "个";
  33.         cout << "   " << k << "个";
  34.         cout << "else" << q << "个";

  35.   system("pause");
  36.   return 0;
  37. }
复制代码

可以参考这个,使用while判断是否为换行再退出for
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-7 18:31:39 | 显示全部楼层
不是不输出,是你没输入够30个字符
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-7 18:47:25 | 显示全部楼层    本楼为最佳答案   
  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4. int main()
  5. {
  6.         char a[3][10],ch;

  7.         int i, j;
  8.         int D = 0, x = 0, s = 0, k = 0, q = 0;
  9.         while((ch = getchar()) !='\n'&&i<3&&j<10)
  10.         {
  11.             for (i = 0; i < 3; i++)
  12.                 for (j = 0; j < 10; j++)
  13.                     a[i][j] = ch;
  14.         }
  15.         for (i = 0; i < 3; i++)
  16.                 for (j = 0; j < 10; j++)
  17.                 {
  18.                         if (a[i][j] >= 'A' && a[i][j] <= 'Z')
  19.                                 D++;
  20.                         else if (a[i][j] >= 'A' && a[i][j] <= 'Z')
  21.                                 x++;
  22.                         else if (a[i][j] >= '0' && a[i][j] <= '9')
  23.                                 s++;
  24.                         else if (a[i][j] == '\0')
  25.                                 k++;
  26.                         else
  27.                                 q++;
  28.                 }
  29.         
  30.         cout << "BIG" << D << "个";
  31.         cout << "small" << x << "个";
  32.         cout << "math" << s << "个";
  33.         cout << "   " << k << "个";
  34.         cout << "else" << q << "个";

  35.   system("pause");
  36.   return 0;
  37. }
复制代码

可以参考这个,使用while判断是否为换行再退出for
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-6 19:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表