| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1040 人关注过本帖
标题:写一个输入年月日的函数,
只看楼主 加入收藏
yz912498286
Rank: 1
等 级:新手上路
帖 子:49
专家分:3
注 册:2015-8-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
写一个输入年月日的函数,
我想写的是一个输入函数 ,在键盘中输入1989 09 20 就将1989给到year  09 给到month  20给到day  然后通过主函数将1989 09 20写出来
#include "stdio.h"
int main()
{
    void input(int x,int y,int z);
    int year,month,day;
    input(year,month,day);
    printf("%d %d %d",year,month,day);
    return 0;
}
void input(int x,int y,int z)
{   
    printf("Please input year month day");
    scanf("%d%d%d",&x,&y,&z);
   
}
这个怎么不能输入年月日呀,例如输入1989 09 20 输出 1989 09 20
还有一个类似的
#include <stdio.h>
#include <string.h>
#define N 10
int main()
   {void input(int [],char name[][8]);
    int num[N];
    char name[N][8];
    input(num,name);
return 0;
}
void input(int num[],char name[N][8])
 {int i;
  for (i=0;i<N;i++)
   {printf("input NO.: ");
    scanf("%d",&num[i]);
    printf("input name: ");
    getchar();
    gets(name[i]);
   } }

 这个是输入一组学号,姓名  也运行不了 ?怎么改一下呀

[ 本帖最后由 yz912498286 于 2015-8-27 15:55 编辑 ]
搜索更多相关主题的帖子: include return 年月日 键盘 
2015-08-27 14:28
铁思达
Rank: 2
等 级:论坛游民
帖 子:50
专家分:34
注 册:2015-8-17
收藏
得分:3 
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-08-27 15:43
yz912498286
Rank: 1
等 级:新手上路
帖 子:49
专家分:3
注 册:2015-8-24
收藏
得分:0 
回复 2楼 铁思达
没有学过指针   我想写的是一个输入函数 ,在键盘中输入1989 09 20 就将1989给到year  09 给到month  20给到day  然后通过主函数将1989 09 20写出来
2015-08-27 15:55
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:6 
程序代码:
#include <stdio.h>
#include <string.h>
#include <malloc.h>

#define N 5

void input(int* num,char** name)
{
    int i;
    for (i=0;i<N;i++)
    {
        printf("input NO.: ");
        scanf("%d",&num[i]);
        printf("input name: ");
        getchar();
        gets(name[i]);
    } 
}

int main()
{
    int num[N];
    char* name[N];
    for(int i=0;i<N;i++)
    {
        name[i]=(char*)malloc(sizeof(char)*256);
    }
    input(num,name);
    printf("-----------------------------\n");
    printf("       学号       姓名 \n");
    for(int i=0;i<N;i++)
    {
        printf("#%d:%8d%12s\n",i+1,num[i],name[i]);
    }
    for(int i=0;i<N;i++) free(name[i]);
    return 0;
}
/*
input NO.: 1
input name: 李四
input NO.: 2
input name: 张三
input NO.: 3
input name: 王五
input NO.: 4
input name: 赵六
input NO.: 5
input name: 刘七
-----------------------------
       学号       姓名
#1:       1        李四
#2:       2        张三
#3:       3        王五
#4:       4        赵六
#5:       5        刘七
       */

DO IT YOURSELF !
2015-08-27 16:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
一定一定要把编码风格放在首位   1楼的代码惨不忍睹  没法看 也就没人回复

DO IT YOURSELF !
2015-08-27 16:13
yz912498286
Rank: 1
等 级:新手上路
帖 子:49
专家分:3
注 册:2015-8-24
收藏
得分:0 
回复 5楼 wp231957
不好意思,我是初学者,解决这个问题要学指针吗?  这题在书上没有到指针那张
能不能帮我不用指针弄下  还有我不能输出的原因是什么呀
2015-08-27 16:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>
#include <malloc.h>

#define N 5

void input2(int* x,int* y,int* z)
{    
    printf("Please input year month day");
    scanf("%d%d%d",x,y,z);
    
}

/*void input(int* num,char** name)
{
    int i;
    for (i=0;i<N;i++)
    {
        printf("input NO.: ");
        scanf("%d",&num[i]);
        printf("input name: ");
        getchar();
        gets(name[i]);
    } 
}
*/
int main()
{
    /*int num[N];
    char* name[N];
    for(int i=0;i<N;i++)
    {
        name[i]=(char*)malloc(sizeof(char)*256);
    }
    input(num,name);
    printf("-----------------------------\n");
    printf("       学号       姓名 \n");
    for(int i=0;i<N;i++)
    {
        printf("#%d:%8d%12s\n",i+1,num[i],name[i]);
    }
    for(int i=0;i<N;i++) free(name[i]);*/
    //////////////////////////////////////////////
    int year,month,day;
    input2(&year,&month,&day);
    printf("你所输入的是%4d年%2d月%2d日.\n",year,month,day);
    return 0;
}
/*
Please input year month day1980 12 23
你所输入的是1980年12月23日.
*/

DO IT YOURSELF !
2015-08-27 16:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 6楼 yz912498286
你的代码是错误的  还找啥原因啊

DO IT YOURSELF !
2015-08-27 16:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
类似void input(int x,int y,int z)这样的声明函数的形参  除了参加一些计算 或者计数什么的  就很少有这样声明的了  因为他无法改变原始变量

要想在函数中修改原始函数中的变量值  只能声明为指针类型

DO IT YOURSELF !
2015-08-27 16:26
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
我觉得还是先学指针后学函数这个顺序比较好一些   因为在设计函数时 涉及到跨域的问题   自然指针的应用就特别广泛了

DO IT YOURSELF !
2015-08-27 16:29
快速回复:写一个输入年月日的函数,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019719 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved