① c语言字符串数组怎么输入和输出呢
在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
这两个函数相信大家已经非常熟悉了,这里不妨再演示一下,请看下面的代码:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通过字符串名字输出
printf("%s ", "http://c.biancheng.net"); //直接输出
puts(str); //通过字符串名字输出
puts("http://c.biancheng.net"); //直接输出
return 0;
}
运行结果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的:
printf("%s ", str[]);
puts(str[10]);
(1)c语言数组输入形式扩展阅读:
由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
② C语言中如何依次输入数组中元素
#include<stdio.h>
int main()
{
int a[17];
int i;
for(i=0;i<17;i++)
{
scanf("%d",&a[i]);
}
return 0;
}
(2)c语言数组输入形式扩展阅读:
数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。
声明固定大小的数组:
有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:
1,建立公用数组,在模块的声明段用 Public语句声明数组。
2,建立模块级数组,在模块的声明段用 Private语句声明数组。
3,建立局部数组,在过程中用 Private语句声明数组。
参考资料来源:网络-数组
③ C语言数组输入。。
C语言数组输入是相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
在引用数组中的元素时,采用数组名[下标]的方式,将其中的每一个元素视为一个普通的变量来进行操作。需要注意的是,因为定义的数组arr仅含有9个元素,所以在使用的过程中,下标值不能超过8,否则就会出现下标越界的错误。
(3)c语言数组输入形式扩展阅读:
注意事项:
由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可,只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1。
注意指针变量的当前值:指针变量的值在程序运行过程中可能经常改变,要对此注意。
数组越界:C语言系统是不检查数组越界的,需要程序员自行检查。
④ 用C语言怎么输入为数组赋值,求代码
#include <stdio.h>
int main(void)
{
int a[5];
printf("请输入5个数字:");
for(int i=0;i<5;i++) {
scanf("%d",&a[i]);
}
for(i=0;i<5;i++) {
printf("%d ",a[i]);
}
printf("
");
return 0;
}
(4)c语言数组输入形式扩展阅读:
for循环
for循环是编程语言中一种开界的循环语句,而循环语句[1]由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
C语言中的for循环形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
⑤ 如何在C语言中用scanf输入数组
#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("请输入信息 ");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一个空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);
(5)c语言数组输入形式扩展阅读:
函数 scanf() 是从标准输入流stdin[1](标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
⑥ 在c语言中如何实现数组的动态输入
头文件malloc.h
使用malloc来申请一个初始地址空间。
然后在循环输入的过程中不断检查初始空间是否已满,满了就是使用realloc来扩展地址空间。
最后,如申请的地址不需要使用了,且程序没有结束,需要用free来释放。
另外,使用malloc或realloc申请时,需要先判断下返回值是否为空,如有异常申请失败,用空指针直接使用,会造成程序错误。
下面简单示范:(初始申请2个字节,之后每次输入字符扩展1个字节,回车结束输入)
#include <stdio.h>
#include <malloc.h>
int main()
{
int len=2;
char *a=NULL,*aSave=NULL,c;
a=(char*)malloc(sizeof(char)*len);
if(!a)
return 1;
a[0]=0;
while(1)
{
c=getchar();
if(c==10)
break;
if(a[0]==0)
a[0]=c,a[1]=0;
else
{
aSave=realloc(a,sizeof(char)*len);
if(!aSave)
return 1;
a=aSave;
a[len-2]=c,a[len-1]=0;
}
len++;
}
printf("输入的字符串数组是: %s ",a);
free(a);
return 0;
}
⑦ c语言中 二维数组要怎么输入怎么换行啊
scanf那行里的a[i][j]要写成&a[i][j],输入就正常的输入就行了,其实scanf读入数字的时候,数字可以用空格、回车或者TAB间隔,比如说一个2x2的数组,你输入
10 11
12 13
或者输入10 11 12 13都是可以的。
⑧ C语言数组输入
自己把字符1
转为数字1不就可以了嘛。。又不是很难
=====================
为什么用字符数组?
楼主是要一次性输入,不是循环分开输入。。
你如果用数组数组,一次性输入一个数,会被存放在一个元素里面,不会分开。
还有纯数字的判别,麻烦点,楼主需要再说,我懒得写
================================
这样啊,那就用一个字符数组咯。。
代码稍后给你。。
一次性输入50个数字,每一个数字(10以下的数字)都会单独存放于一个数组元素
如果你要把两位数以上(10以上)存放在数组元素里面,我就暂时没想到怎么做了
#include
int
main(int
argc,char
*argv[])
{
char
ch[50]={NULL},*p=ch;
int
i=0;
gets(ch);
while(*p!=NULL)
{
printf("%c\n",ch[i++]);
p++;
}
}
⑨ 关于c语言数组的输入输出
scanf("%d
",&a[i]);
%d后面有空格,这样输入6个数在输入一个空格就可以了。