C语言怎样将一维字符数组存放到二维数组中?

初学C,请问怎样可以实现向字符数组a中多次输入一个字符串,每输入一次将该字符串存放到二维数组b的一个维中?例如,输入a[10]=abcdefg,将其存放到b[2][10]中的第一行,再输入a[10]=hijknlm,将其存放到b[2][10]中的第二行。

1、例如:s1[0][0]是'w'  s1[0][1]是'h'  s1[1][0]是'f'
字符型数组,每个元素是一个字符,每一行是一个字符串
比如要打印while,就打印s1数组的第一行。

2、例程:

#include<stdio.h>
void main()
{
    int i;
    char a[10];
    char b[2][10];
    for (i = 0; i != 2; ++i)
    {
        scanf("%s", a);
        strcpy(b[i], a);
    }
    for (i = 0; i != 2; ++i)
    {
        printf("%s\n", b[i]);
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
楼主是这个意思么?输入两个字符串到a,将它复制到b里面
#include<stdio.h>
void main()
{
int i;
char a[10];
char b[2][10];
for (i = 0; i != 2; ++i)
{
scanf("%s", a);
strcpy(b[i], a);
}
for (i = 0; i != 2; ++i)
{
printf("%s\n", b[i]);
}
}本回答被提问者采纳
第2个回答  2011-11-22
给你一个例子吧,大体差不多
#include<stdio.h>
int main()
{
int i,j,a[50][50],k,sum=1;
printf("你想输入几阶方阵\n");
scanf("%d",&k);
printf("输入方阵的数,以空格键隔开\n");
for(i=0;i<k;i++)
for(j=0;j<k;j++)
scanf("%d",&a[i][j]);
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
{
printf("%8d",a[i][j]);
}
printf("\n");
}
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
if(i==j)
sum=sum*a[i][j];
}
printf("对角线数乘积为%d\n",sum);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网