鱼C论坛

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

C语言基础问题

[复制链接]
发表于 2015-12-29 10:20:59 | 显示全部楼层 |阅读模式
1鱼币
#include<stdio.h>
#include<math.h>
void main()
{
int a[10],i=0,j=0,k=0,t;
char c;
while((c=getchar())!='\n')
{
if(c==' ')
{
++i;
}
else if(c>='0'&&c<='9')
{
        a[j]=c;
    ++j;
}
else
{
++k;
}
}
printf("空白符有%d个\n其他字符有%d个\n数字有%d个\n",i,k,j);
for(t=0;t<j;t++)
printf("%d  ",a[t]);
}

上面是035讲的第三道题,编译时显示没问题,为什么就是运行不了呢?
求指点

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

使用道具 举报

发表于 2015-12-29 16:06:00 | 显示全部楼层
return 0;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-12-29 16:56:06 | 显示全部楼层
#include<stdio.h>
int main()
{
    int a[10] ,i=0,j=0,k=0,t;
    char c;
    while((c=getchar())!='\n')
    {
        if(c==' ')
        {
            ++i;
        }
        else if(c>='0'&&c<='9')
        {
            a[j]=c;
            ++j;
        }
        else
        {
            ++k;
        }
    }
    printf("空白符有%d个\n其他字符有%d个\n数字有%d个\n",i,k,j);
    for(t=0;t<j;t++)
    {
        printf("%c  ",a[t]);
    }
    return 0;
}
修改了 main方法的返回值,还修改了输出a[j]数组的形式,以字符形式输出,因为存入a[j]是0~9的ASCII编码值,以十进制输出会显示48~57之间的数值,并不会显示0~9
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-29 20:44:39 From FishC Mobile | 显示全部楼层
我用的是void main(),不用ruturn的,我刚刚换台电脑试了一下,又可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 15:23:01 | 显示全部楼层
是不是电脑的环境变量没有设置好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-4-2 15:40:31 | 显示全部楼层
本帖最后由 !~!~! 于 2016-4-2 18:18 编辑
#include<stdio.h>
#include<stdlib.h>
void main()
{
        int a[10], i = 0, j = 0, k = 0, t;
        char c;
        while ((c = getchar()) != '\n')
        {
                if (c == ' ')
                {
                        ++i;
                }
                else if (c >= '0'&&c <= '9')
                {
                        a[j] = atoi(&c);
                        ++j;
                }
                else
                {
                        ++k;
                }
        }
        printf("空白符有%d个\n其他字符有%d个\n数字有%d个\n", i, k, j);
        for (t = 0; t < j; t++)
                printf("%d  ", a[t]);
}
字符转数字
#include<stdlib.h>
a[j] = atoi(&c);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 22:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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