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个值,该如何接受
}
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;
} 大一狗x轻喷,第一个静态数组我还不知道有这种判定方法……那个'\n'不是判定不为真时吗…… 应该while(scanf("%s",&ch)!='\n')什么的吧……完了同样求助了 梦神的日记 发表于 2015-11-11 15:14
应该while(scanf("%s",&ch)!='\n')什么的吧……完了同样求助了
这是什么呀,感觉看不懂 首先第一题,有如下问题:
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;
} 第二个问题, 声明4个全局变量即可! 第二题,可以将你想要的值放进数组里,然后返回一个数组,再将数组输出即可 ~风介~ 发表于 2015-11-11 19:54
1.数组 问题:如何输入n个整数,使按下回车结束。
谢谢,太感谢了。 O O 学到了
页:
[1]