C语言如何实现一个一维数组的输入输出?

Python014

C语言如何实现一个一维数组的输入输出?,第1张

C语言程序如下:

#include <stdio.h>

void fun(int a[],int n,int *k)

{

int i,maxxr,j

maxxr=a[0]

for(i=0i<ni++)

{

if(maxxr<a[i])

{

maxxr=a[i]

}

}

for(i=0i<ni++)

{

if(maxxr==a[i]){

j=i

break

}

}

*k=j

}

int main(void)

{

int a[10]={ 876,675,896,101,301,401,980,431,451,777},k

fun(a, 10, &k)

printf("%d,%d", k, a[k])

}

扩展资料:

思路:

1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;

2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。

3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。

4、按要求输出。

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个学生。

扩展资料:

结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过结构体数组中有多个结构体变量,我们只需利用for循环一个一个地使用结构体数组中的元素。

下面编写一个程序,编程要求:从键盘输入5个学生的基本信息,如姓名、年龄、性别、学号,然后将学号最大的学生的基本信息输出到屏幕。

#include&ltstdio.h&gt

#include&ltstring.h&gt

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=0i&lt5++i)

{

printf("请输入第%d个学生的信息:",i+1)

scanf("%s%d%c%s",

stu&lti&gt.name,

&stu&lti&gt

.age,&stu&lti&gt

.sex,stu&lt

i&gt.num)/*%c

前面要加空格,不然输入时会将空格赋给%c*/

}

OutputSTU(stu)

return 0

}

void OutputSTU(struct STU stu[5])

{

struct STU stumax=stu[0]

int j

for(j=1j&lt5++j)

{

if(strcmp(stumax.num,stu[j]

.num)&lt0)//strcmp函数的使用

{

stumax=stu[j]

}

}

printf("学生姓名:%s学生年龄:%d学生性别:%c学生学号:

%s\n",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

参考资料:

百度百科——结构体

scanf("%s",str)

//输入字符串str

printf("%s",str)

//

输出字符串str

使用"%s"模式输出

但是这样做有限制:

char

str[255]

用scanf("%s",str)获得输入时,最多容纳254个字符,因为读入操作会在后面加个"\0"

用printf("%s",str)

输出时,数组一定要是用"\0"结束的。

不遵守以上规则会产生数组越界,导致不可知的错误。

scanf,printf的话用循环语句输入和输出