鱼C论坛

 找回密码
 立即注册
查看: 1721|回复: 14

[已解决]萌新,关于二维数组的问题ovo

[复制链接]
发表于 2020-10-6 11:35:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 F–Social 于 2020-10-6 11:41 编辑

额。。。。
各位大神们,你们好。
那啥,就。。。上了小甲鱼的二维数组的课,然后就想写一个课程表的,我想实现的结果是这样的:

            星期一   星期二  星期三  星期四  星期五  星期六

             语文       数学      英语     物理     化学     生物

就我想先实现这一行先ovo
然后下面是我写的代码:
char lesson[1][6];
        int x,y;
        printf("请输入这个礼拜的课程:");
        
        for (x = 0 ; x < 1; x++)
        {
                for (y = 0; y < 6 ; y++)
                {
                        scanf("%s",&lesson[x][y]);             //让用户输入相应课程
                }
        }
    printf (" 星期一 星期二  星期三  星期四  星期五  星期六\n");
        for (x = 0 ; x < 1; x++)
        {
                for (y = 0; y < 6 ; y++)
                {
                        printf("%s",lesson[x][y]);
                }
        }
        

但奇怪的是,我输入了   “英语 数学 语文 物理 生物 化学” 后,它并没有停下,而是还要继续输入,停不下来啊~~~~~~~
如果有其他点子,也可以让我这个小白了解了解(⊙o⊙)
希望大神们指教,拯救一下这个萌新.........
最佳答案
2020-10-6 15:38:34
本帖最后由 风过无痕1989 于 2020-10-6 15:42 编辑
F–Social 发表于 2020-10-6 15:29
还没呢,还没呢,在等讲解:如何把 星期和课程 输入到二维数组里面,再输出。


定义的二维数组,就用二重循环,将数据写入数组中去,例如:

char temp;
for(i = 0;i < 2;i++)
{
    for(j = 0; j < 6;j++)
    {
        scanf("%s",&temp);
        lesson[ i ][j] = temp;   这里要注意那个 [ i ],字符 i 的两侧都空了一个格,不然就会(使文字隐去)变成斜体,复制到程序中去时,要去年两侧的空格
    }
}

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-6 12:04:32 | 显示全部楼层
本帖最后由 小甲鱼的铁粉 于 2020-10-6 12:07 编辑

你这是%s的用法用错了
#include<stdio.h>
#include<stdlib.h>
int main()
{
    char lesson[6][6];
        int x,y;
        printf("请输入这个礼拜的课程:");
        
        for (x = 0 ; x < 6; x++)
        {

                scanf("%s",lesson[x]);             //让用户输入相应课程
        }
    printf (" 星期一 星期二  星期三  星期四  星期五  星期六\n");
        for (x = 0 ; x < 6; x++)
        {
            printf("%s ",lesson[x]);
        }
    system("pause");
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-10-6 12:06:53 | 显示全部楼层
scanf("%s",a)的用法,其中a为一个一维字符数组的首地址或者二维字符数组里面的每个一维首地址。
不是像你上面那个一个一个输入的,它是直接输入一个字符串
scanf("%s")输入时遇到空格就停止当前的输入。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 12:08:55 | 显示全部楼层
scanf("%s",lesson[x]);

像这个lesson[x]就是一个首地址,比如lesson[0]就是lesson[0][6]的首地址,输入的整个字符串存储在lesson[0][6]中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-10-6 12:12:34 | 显示全部楼层
首先,你的程序缺少:#include<stdio.h> 这个头函数,缺少 char main() 这个主函数;其次,应该定义一个二行六列的数组,第一行存放星期,第二存放课程,即 char lesson[2][6],然后再来考虑将将星期与对应的课程输入到数组,最后输出

具体程序你先自己写,这叫授人以鱼,不如授人以渔。晚上若你还没写好,下午我下班后,若没有其他朋友帮你写出来,我再来帮你写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

头像被屏蔽
发表于 2020-10-6 13:11:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-6 15:16:11 | 显示全部楼层
风过无痕1989 发表于 2020-10-6 12:12
首先,你的程序缺少:#include 这个头函数,缺少 char main() 这个主函数;其次,应该定义一个二行六列的数 ...


这句授人以鱼,不如授人以渔讲的真好
我有时感觉有的鱼油太懒了,明明方法(有时是错误)讲出来了(而且我回答的比别人早了几个小时),最佳给了有完整代码的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-6 15:24:52 | 显示全部楼层
风过无痕1989 发表于 2020-10-6 12:12
首先,你的程序缺少:#include 这个头函数,缺少 char main() 这个主函数;其次,应该定义一个二行六列的数 ...

嗯嗯,我写了好久都没有写出来(太笨了),主要是我不知道怎么把星期与对应的课程输入到数组里面ovo
就.....蒙圈了,期待您的赐教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-6 15:26:17 | 显示全部楼层
小甲鱼的铁粉 发表于 2020-10-6 12:04
你这是%s的用法用错了

好的,好的,又学会一个知识点,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:27:49 | 显示全部楼层
巴巴鲁 发表于 2020-10-6 15:16
这句授人以鱼,不如授人以渔讲的真好
我有时感觉有的鱼油太懒了,明明方法(有时是错误)讲出来了(而且 ...

这也不能完全怪他们,能坐享其成的,谁不愿意呢,但愿他们问的问题得到答案后,还会去独立思考一下,为什么会是这样?

同时,我也希望他们得到满意的答案后,别忘了给予他帮助的人,兴手之劳,选择正确的最佳答案,别让帮助他的人寒心
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-6 15:29:03 | 显示全部楼层
巴巴鲁 发表于 2020-10-6 15:16
这句授人以鱼,不如授人以渔讲的真好
我有时感觉有的鱼油太懒了,明明方法(有时是错误)讲出来了(而且 ...


还没呢,还没呢,在等讲解:如何把 星期和课程 输入到二维数组里面,再输出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-6 15:29:57 | 显示全部楼层
风过无痕1989 发表于 2020-10-6 15:27
这也不能完全怪他们,能坐享其成的,谁不愿意呢,但愿他们问的问题得到答案后,还会去独立思考一下,为什 ...

会的,会的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:38:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风过无痕1989 于 2020-10-6 15:42 编辑
F–Social 发表于 2020-10-6 15:29
还没呢,还没呢,在等讲解:如何把 星期和课程 输入到二维数组里面,再输出。


定义的二维数组,就用二重循环,将数据写入数组中去,例如:

char temp;
for(i = 0;i < 2;i++)
{
    for(j = 0; j < 6;j++)
    {
        scanf("%s",&temp);
        lesson[ i ][j] = temp;   这里要注意那个 [ i ],字符 i 的两侧都空了一个格,不然就会(使文字隐去)变成斜体,复制到程序中去时,要去年两侧的空格
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:39:11 | 显示全部楼层

这是我与他在聊天,可不是说你,你别介意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:53:19 | 显示全部楼层
F–Social 发表于 2020-10-6 15:29
还没呢,还没呢,在等讲解:如何把 星期和课程 输入到二维数组里面,再输出。

楼主,我可没有说你,我们只是在聊天
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 23:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表