独一无② 发表于 2015-11-11 09:29:41

C语言 数组 和 函数

1.数组 问题:如何输入n个整数,使按下回车结束。
# include <stdio.h>
main()
{
        int a,b=0,c;
        while (a != '\n')
        {
                scanf("%d",&a);
                b++;
        }
        for(c=0;c<b;c++)
        {
                printf("%d",a);
        }
}

我发现我这样写 回车根本停止不了,是因为‘\n’是字符,我定义是整形原因吗?

2.函数问题:可以返回多个值 给 main函数吗?
比如统计一个字符串 空格 字母 其他的个数,结果在main 函数输出
# include <stdio.h>
# include <string.h>
int str(char a)
{
        int i,eng=0,num=0,blank=0,other=0;
        for(i=0;i<strlen(a);i++)
        {
                if((a >= 'A' && a <= 'Z') || (a>='a')&&(a<='z'))
                   eng++;
      else if(a == ' ')
         blank++;
      else if(a>='0' && a<= '9')
         num++;
      else
         other++;
        }
//        return这里我不知道该如何返回值,好像这里只能返回一个,但结果有4个
}
int main()
{
        char str1;
        gets(str1);
        printf("%d",str(str1));
//在这里 接受统计出的值,并打印,有4个值,该如何接受       
}

~风介~ 发表于 2015-11-11 09:29:42


1.数组 问题:如何输入n个整数,使按下回车结束。
//百度上抄的
#include<stdio.h>
int main()
{
    int i,n=0,a;
    for(i=0;;i++)
    {
      scanf("%d",&a);
      n++;      //计算输入个数
      if(getchar()=='\n')break; //遇回车中断
    }
    for(i=0;i<n;i++)printf("%d ",a);
    printf("\n");
    return 0;
}

梦神的日记 发表于 2015-11-11 15:11:59

大一狗x轻喷,第一个静态数组我还不知道有这种判定方法……那个'\n'不是判定不为真时吗……

梦神的日记 发表于 2015-11-11 15:14:07

应该while(scanf("%s",&ch)!='\n')什么的吧……完了同样求助了

独一无② 发表于 2015-11-11 18:00:56

梦神的日记 发表于 2015-11-11 15:14
应该while(scanf("%s",&ch)!='\n')什么的吧……完了同样求助了

这是什么呀,感觉看不懂

213421 发表于 2015-11-11 19:55:11

首先第一题,有如下问题:
1、像你说的,定义的数组为整形,整形变量是不能读出字符'\n'的;
2、 应该先输入字符,再判断是否为回车'\n'。
3、建议初始化数组,如:a = {0};
如下代码,仅供参考:
#include <stdio.h>

int main()
{
        char a = {0};
        int b=0,c=0;

        while(1)
        {
                scanf("%c",&a);

                if(a != '\n')
                {
                        b++;
                }
                else
                {
                        break;
                }
        }
       
        for(c=0; c<b; c++)
        {
                printf("%c",a);
        }


        return 0;
}

~风介~ 发表于 2015-11-11 19:57:15

第二个问题, 声明4个全局变量即可!

213421 发表于 2015-11-11 20:17:09

第二题,可以将你想要的值放进数组里,然后返回一个数组,再将数组输出即可

独一无② 发表于 2015-11-11 21:34:34

~风介~ 发表于 2015-11-11 19:54
1.数组 问题:如何输入n个整数,使按下回车结束。

谢谢,太感谢了。

梦神的日记 发表于 2015-11-13 20:49:09

O O 学到了
页: [1]
查看完整版本: C语言 数组 和 函数