| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖
标题:有个问题做了很久还是不懂
只看楼主 加入收藏
striverff
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2015-10-19
结帖率:0
收藏
已结贴  问题点数:10 回复次数:7 
有个问题做了很久还是不懂
C语言编程:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
#include<stdio.h>
void main()
{
    char a[10000],b;
    int i,j,k,n;
    gets(a);
    for(i=0;i<=1;i++)
        for(j=1;j<=2;j++)
        {
            if(a[i]>a[j])
            {
                b=a[i];
                a[i]=a[j];
                a[j]=b;
            }
        }
        for(i=0;i<=2;i++)
        {
            printf("%c",a[i]);
            printf(" ");
        }
    printf("\n");

}
我这程序只能实现输入一行,怎样改可以输入多行,并且多行输出
例如输入  qwe
          asd
          zxc
输出   e q w
       a d s
       c x z
搜索更多相关主题的帖子: include C语言 
2015-10-22 21:31
striverff
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2015-10-19
收藏
得分:0 
COME ON!大婶们
2015-10-22 21:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
多行與單行是一樣的,無區別。

授人以渔,不授人以鱼。
2015-10-22 22:02
striverff
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2015-10-19
收藏
得分:0 
#include<stdio.h>
void f(char a[])
{
    char b;
    int i,j;
    for(i=0;i<=1;i++)
        for(j=1;j<=2;j++)
        {
            if(a[i]>a[j])
            {
                b=a[i];
                a[i]=a[j];
                a[j]=b;
            }
        }
   
}
void main()
{
    int n,k,i;
    char a[10];
    printf("多少行:");
    scanf("%d",&n);
    for(k=1;k<=n;k++)
    {
        scanf("%s",a);
        f(a);
        for(i=0;i<=2;i++)
        {
            printf("%c",a[i]);
            printf(" ");
        }
    printf("\n");
    }
   

}
我现在是这样,但是感觉不能同时输入多行,然后同时输出多行的答案
2015-10-22 22:47
striverff
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2015-10-19
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-10-22 22:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不用問多少行,讓他一直輸入,直至遇到某個約定的結束符。

授人以渔,不授人以鱼。
2015-10-22 22:54
暴风晕
Rank: 12Rank: 12Rank: 12
来 自:冥界
等 级:火箭侠
威 望:6
帖 子:402
专家分:3107
注 册:2015-8-8
收藏
得分:5 
用个while循环
2015-10-22 23:34
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <conio.h>

// 每組的數據
#define CHARACTERS_OF_GROUP        3

// 最大的組數目
#define MAX_GROUPS                50

// 通過指針傳參交換兩個字符
void swap(char* x, char* y)
{
    char temp = *x;
    *x = *y;
    *y = temp;
}

// 排序一個字符數組
void sort(char* data, int size)
{
    int i, j;

    for (i = 0; i < size - 1; ++i)
    {
        for (j = i + 1; j < size; ++j)
        {
            if (data[i] > data[j])
            {
                swap(&data[i], &data[j]);
            }
        }
    }
}

// 讀入數據
int Get_Data(char* data, int size)
{
    int ch;
    int count = 0;

    printf_s("Input text: \n");
    for (ch = getchar(); (ch != '.') && (ch != EOF); ch = getchar())
    {
        if ((ch != '\n') && (ch != '\t') && (ch != ' '))
        {
            data[count++] = ch;
        }
    }

    return count;
}

// 程序主入口
int main(void)
{
    char data[MAX_GROUPS];
    int size = Get_Data(data, CHARACTERS_OF_GROUP * MAX_GROUPS);
    int index;

    // 分組排序
    for (index = 0; index + CHARACTERS_OF_GROUP < size; index += CHARACTERS_OF_GROUP)
    {
        sort(&data[index], CHARACTERS_OF_GROUP);
    }
    sort(&data[index], size - index);

    // 輸出結果
    putchar('\n');
    for (index = 0; index < size; ++index)
    {
        putchar(data[index]);
        if ((index + 1) % CHARACTERS_OF_GROUP == 0)
        {
            putchar('\n');
        }
        else
        {
            putchar(' ');
        }
    }
    putchar('\n');

    printf_s("\nPress any key to continue...");
    _getch();
    return 0;
}


图片附件: 游客没有浏览图片的权限,请 登录注册

授人以渔,不授人以鱼。
2015-10-23 00:54
快速回复:有个问题做了很久还是不懂
数据加载中...
 
   



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

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