C语言编程(1)

来源:互联网 发布:mac是哪个国家 编辑:程序博客网 时间:2024/04/17 07:55

设有n个整数,排成一排,组成一个多位数。求最大的多位数。n暂时定为20.

ver1.0 简单实现了功能,函数,指针等需要继续更新。

#include<stdio.h>
#include <math.h>
void main()
{
    int a[20],n;
    int i,j,k;
    int temp,count = 0;
    printf("请输入你想输入整数的个数:\n");
    scanf("%d",&n);
    printf("请输入各个值:\n");
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);

    for(i = 0;i < n;i++)///把每个数都变成四位数
    {
        if(a[i] < 10)
            a[i] *= 1000;
        else if(a[i] >= 10 && a[i] < 100)
            a[i] *= 100;
        else if(a[i] > 100 && a[i] < 1000)
            a[i] *= 10;
    }
    for(i = 0;i < n-1;i++)///简单选择排序法按从大到小的顺序排序
    {
        k = i;
        for(j = i+1;j < n;j++)
        {
            if(a[k] < a[j])
            {
                k = j;
                if(k != i)
                {
                    temp = a[i];
                    a[i] = a[k];
                    a[k] = temp;
                }
            }
        }
    }
    for(i = 0;i < n;i++)
    {
        if(a[i] % 1000 == 0)
        {
            a[i] /= 1000;
            count += 3;
        }
        else if(a[i] % 100 ==0)
        {
            a[i] /= 100;
            count += 2;
        }
        else if(a[i] % 10 ==0)
        {
            a[i] /= 10;
            count ++;
        }
    }
    int num,weishu = 0;
    long double sum = 0;
    for(i = 0;i < n;i++)
    {
        
            if(a[i] < 10)
            {
                weishu ++;
                sum += a[i] * pow(10, (4*n - count - weishu));
            }
            else if(a[i] > 10 && a[i] < 100)
            {
                weishu += 2;
                sum += a[i] * pow(10, (4*n - count - weishu));
            }
            else if(a[i] > 100 && a[i] < 1000)
            {
                weishu += 3;
                sum += a[i] * pow(10, (4*n - count - weishu));
            }
            else if(a[i] > 1000)
            {
                weishu += 4;
                sum += a[i] * pow(10, (4*n - count - weishu));
            }
    }        
    printf("最大的组合多位数是%32.0lf",sum);
}
0 0
原创粉丝点击