c语言数组输入与输出
① c语言结构体数组的输入输出
C
语言中,结构体(struct)是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。
结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
定义与声明
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
在实际应用中,C语言结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
在C语言中,定义结构体数组和定义结构体变量的方式类似;
例:
struct stu{
char*name;//姓名
int num;//学号
int age;//年龄
char group;//所在小组
float score;//成绩
}class[5];
表示一个班级有5个学生。
(1)c语言数组输入与输出扩展阅读:
结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过结构体数组中有多个结构体变量,我们只需利用for循环一个一个地使用结构体数组中的元素。
下面编写一个程序,编程要求:从键盘输入5个学生的基本信息,如姓名、年龄、性别、学号,然后将学号最大的学生的基本信息输出到屏幕。
#include<stdio.h>
#include<string.h>
struct STU
{
char name[20];
int age;
char sex;
char num[20];
};
void OutputSTU(struct STU stu[5]);
//函数声明,该函数的功能是输出学号最大的学生信息
int main(void)
{
int i;
struct STU stu[5];
for(i=0;i<5;++i)
{
printf("请输入第%d个学生的信息:",i+1);
scanf("%s%d%c%s",
stu<i>.name,
&stu<i>
.age,&stu<i>
.sex,stu<
i>.num);/*%c
前面要加空格,不然输入时会将空格赋给%c*/
}
OutputSTU(stu);
return 0;
}
void OutputSTU(struct STU stu[5])
{
struct STU stumax=stu[0];
int j;
for(j=1;j<5;++j)
{
if(strcmp(stumax.num,stu[j]
.num)<0)//strcmp函数的使用
{
stumax=stu[j];
}
}
printf("学生姓名:%s学生年龄:%d学生性别:%c学生学号:
%s ",stumax.name,
stumax.age,stumax.
sex,stumax.num);
}
输出结果是:
请输入第1个学生的信息:小红22 F Z1207031
请输入第2个学生的信息:小明21 M Z1207035
请输入第3个学生的信息:小七23 F Z1207022
请输入第4个学生的信息:小欣20 F Z1207015
请输入第5个学生的信息:小天19 M Z1207024
学生姓名:小明学生年龄:21学生性别:M学生学号:Z1207035
② c语言数组的输入与输出问题
#include<stdio.h>
intmain()
{
chara[8][8]={0};
for(inti=1;i<=6;i++)
for(intj=1;j<=6;j++)
{
scanf_s("%c",&a[i][j]);
}
for(inti=0;i<8;i++)
{
for(intj=0;j<8;j++)
printf("%c",a[i][j]);
printf(" ");
}
}
③ C语言数组输入输出
指针a未初始化,操作未初始化的指针就出错了。
在定义a之后,加上下面一句试试:
a = (int *)malloc(100 * sizeof(int));
④ C语言数组输入和输出
在C语言中for语句内不能有变量的初始化,for(i=0;i<=9;i++)应改为:
i=0;
for(i;i<=9;i++)
{
}
j变量同上;
输入时scanf中应该是&a[i]
int a[n];//n是数值的个数
所有要有10个数的数组应该是:int a[10];
⑤ c语言 怎样输入一个数组单独输出数组里面的一个数
楼主还欠缺基本功,有很多语法错误:
void
main()
{
char
a[1000];
int
i=0;int
b=0;
while(1)
{scanf("%d",a[i]);
/*scanf("%d",&a[i]);用&取地址*/
if
(a[i]=="/n")
/*这样不行的,a[i]都是整数,永远不可能退出循环,而且回车应该是'\n'
*/
break;
i++;
}
for(b;b=i-1;b++)
/*这样写也不对,可以用for(b=0;b
void
main()
{
int
a[1000];
int
i=0;int
b=0;
while(scanf("%d",a[i])==1)
/*不能这样写,scanf没有返回值*/
{
i++;
for(b=0;b
评论
0
0
0
加载更多
⑥ c语言 二维数组如何输入 该怎么输入数组,才能输出
其实并不存在真正的“二维”,只不过是C编译器自动的将它
一行一行的保存成了一维信息。所以,二维数组的输入只要用双重循环即可,比如:
int
a[11][11];
for(int
i=0;
i<10;
i++){
for(int
j=0;
j<10;
j++){
scanf("%d",&a[i][j]);
}
}
其实
int
a[3][3]
可以这样初始化:
int
a[3][3]
=
{0,1,2,3,4,5,6,7,8};
编译器会自动的将线性信息写入二维数组中。
⑦ 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]);
(7)c语言数组输入与输出扩展阅读:
由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
⑧ 急急!!!如何用c语言输入和输出一个二维数组
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[2][2];
int i,j;
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
scanf("%d ",&a[i][j]);
}
}
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d",a[i][j]);
return 0;
}
运行成功
⑨ c语言 怎么用数组输入一组数,然后再原样输出
<pre name="code"class="cpp">#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
char a[100];
while(scanf("%s",a)!=EOF)
printf("%s ",a);
}
return 0;
}
(9)c语言数组输入与输出扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
⑩ 关于c语言数组的输入输出
scanf("%d
",&a[i]);
%d后面有空格,这样输入6个数在输入一个空格就可以了。