c语言字符串数组怎么输入和输出呢

Python013

c语言字符串数组怎么输入和输出呢,第1张

使用"%s"模式输出

但是这样做有限制:

char

str[255]

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

用printf("%s",str)

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

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

1、如果是二维数组,将就可按行输出就行:

for(i=0i<3i++)

//按每一行输出,每循环一次输出一行

{

for(j=0j<3j++)

//输出每一行中的每一列

printf("%3d",a[i][j])

printf("\n")

//每输出一行,输出一个换行符

}

2、如果是一维数组,可按每行输出的数的个数来控制:

for(i=0i<9i++)

{

printf("%3d",a[i])

//a为一维数组

if((i+1)%3==0)

printf("\n")

//每行输出三个数,因为数组的下标i从0开始,所以先加个1再除3取余数

}

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、按要求输出。