鱼C论坛

 找回密码
 立即注册
查看: 1466|回复: 5

[已解决]这个e的值输不输入e最小都为1

[复制链接]
发表于 2021-8-27 15:28:14 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

int main()
{
        int a=0,i=0,o=0,u=0,j,sum=0,count=0;
        int e=0;
        char str[10000];
        printf("请输入一串英文:");
        scanf("%s",&str);
        while(1)
        {
                if(str[count] == '\n')
                break;
                count++;
                sum++;
        }
        count=0;
        for(j=0;j<sum;j++)
        {
                if(str[count]=='a' or str[count]=='A')
                a=a+1;
                if(str[count]=='e' or str[count]=='E')
                e=e+1;
                if(str[count]=='i' or str[count]=='I')
                i=i+1;
                else if(str[count]=='o' or str[count]=='O')
                o=o+1;
            if(str[count]=='u' or str[count]=='U')
                u=u+1;
                count++;
        }
        printf("a(%d),e(%d),i(%d),o(%d),u(%d)",a,e,i,o,u);
}
最佳答案
2021-8-27 20:23:36
int main()
{
        int a=0,i=0,o=0,u=0,j,sum=0,count=0;
        int e=0;
        char str[10000];
        printf("请输入一串英文:");
        scanf("%s",&str);
        char ch=getchar();
        printf("%d\n",ch);//你看看10就是\n
        while(1)
        {
                if(str[count] == '\0')//字符串都是以\0结尾的。
                break;
                count++;
                sum++;
        }
        count=0;
        for(j=0;j<sum;j++)
        {
                if(str[count]=='a' || str[count]=='A')
                a=a+1;
                if(str[count]=='e' || str[count]=='E')
                e=e+1;
                if(str[count]=='i' || str[count]=='I')
                i=i+1;
                else if(str[count]=='o' || str[count]=='O')
                o=o+1;
            if(str[count]=='u' || str[count]=='U')
                u=u+1;
                count++;
        }
        printf("a(%d),e(%d),i(%d),o(%d),u(%d)",a,e,i,o,u);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 18:04:46 | 显示全部楼层
or是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-27 18:27:12 | 显示全部楼层

额,,改过来了,但是e的最小值还是1。。不是0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 20:23:36 | 显示全部楼层    本楼为最佳答案   
int main()
{
        int a=0,i=0,o=0,u=0,j,sum=0,count=0;
        int e=0;
        char str[10000];
        printf("请输入一串英文:");
        scanf("%s",&str);
        char ch=getchar();
        printf("%d\n",ch);//你看看10就是\n
        while(1)
        {
                if(str[count] == '\0')//字符串都是以\0结尾的。
                break;
                count++;
                sum++;
        }
        count=0;
        for(j=0;j<sum;j++)
        {
                if(str[count]=='a' || str[count]=='A')
                a=a+1;
                if(str[count]=='e' || str[count]=='E')
                e=e+1;
                if(str[count]=='i' || str[count]=='I')
                i=i+1;
                else if(str[count]=='o' || str[count]=='O')
                o=o+1;
            if(str[count]=='u' || str[count]=='U')
                u=u+1;
                count++;
        }
        printf("a(%d),e(%d),i(%d),o(%d),u(%d)",a,e,i,o,u);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-27 20:33:33 | 显示全部楼层

字符串结尾前有个换行符吧,以这个为跳出循环的判断依据行不通吗。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 20:44:27 | 显示全部楼层
本帖最后由 jhq999 于 2021-8-27 20:47 编辑
黄jz 发表于 2021-8-27 20:33
字符串结尾前有个换行符吧,以这个为跳出循环的判断依据行不通吗。。


先说明我用的是VS,scanf只接收按回车前的字符串,后面按回车产生的换行符不接收.

                i        0x00000000        int
-                str        0x0039d0a0 "hhujhj"        char[0x00002710]
                [0x00000000]        0x68 'h'        char
                [0x00000001]        0x68 'h'        char
                [0x00000002]        0x75 'u'        char
                [0x00000003]        0x6a 'j'        char
                [0x00000004]        0x68 'h'        char
                [0x00000005]        0x6a 'j'        char
                [0x00000006]        0x00 '\0'        char
                [0x00000007]        0xcc '?'        char
                [0x00000008]        0xcc '?'        char
                [0x00000009]        0xcc '?'        char
                [0x0000000a]        0xcc '?'        char
                …………
那里有\n?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 16:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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