| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1331 人关注过本帖
标题:c语言程序设计基础谢谢帮忙一下
只看楼主 加入收藏
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
c语言程序设计基础谢谢帮忙一下
输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立一个链表,并输出。
输入输出示例:
1    2    3    4    5    6    7    -1
7    6    5    4    3    2    1
搜索更多相关主题的帖子: c语言 程序设计 基础 输入 输出 
2018-04-22 09:57
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:10 
#include <stdio.h>
main()
{
    int i, a[10];
    for (i=0; i<10&&scanf("%d",&a[i])==1&&a[i]>0; ++i);
    for (--i; i>=0; --i)
        printf("%d ", a[i]);
}
2018-04-23 14:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <stdlib.h>

struct node
{
    int value;
    struct node* next;
};

void list_push_front( struct node** plist, int value )
{
    struct node* tmp = *plist;
    (*plist) = malloc( sizeof(struct node) );
    (*plist)->value = value;
    (*plist)->next = tmp;
}

int main( void )
{
    struct node* list = NULL;
    for( int val; scanf("%d",&val)==1 && val!=-1; )
        list_push_front( &list, val );

    for( struct node* p=list; p; p=p->next )
        printf( "%d ", p->value );
}

要想作弊,还可以用递归
程序代码:
#include <stdio.h>

void foo( void )
{
    int val;
    if( scanf("%d",&val)==1 && val!=-1 )
    {
        foo();
        printf( "%d ", val );
    }
}

int main( void )
{
    foo();
}


2018-04-23 15:37
随新飞翔
Rank: 2
等 级:论坛游民
帖 子:10
专家分:14
注 册:2018-3-16
收藏
得分:0 
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

typedef struct node
{
    int data;
    struct node *next;
}node;

node *creat();  //创建链表
void show(node *head);  // 显示链表

int main()
{
    node *h = creat();
    show(h);
    system("pause");
    return 0;
}

node *creat()
{
    int a;
    node *head = (node*)malloc(sizeof(node));
    head->next = NULL;
    while (1)
    {
        node *p = (node*)malloc(sizeof(node));
        if (p)
        {
            printf( "请输入元素值:\n");
            scanf("%d",&a);
            p->data = a;
            if (p->data == -1)
                break;
            p->next = head->next;
            head->next = p;
        }
    }
    return head;
}

void show(node *head)
{
    node *p = head->next;
    while (p)
    {
        printf("%d -> ", p->data);
        p = p->next;
    }
    printf("\n");
}
2018-04-25 23:48
快速回复:c语言程序设计基础谢谢帮忙一下
数据加载中...
 
   



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

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