æ¥¼ä¸»ä½ å¥½~~~
ç¨åºæ¯C++çï¼ä½æ¯åªè¦æ¹ä¸å¤´æ件ï¼æ¬èº«æ¯Cè¯è¨çã
æè·¯é½å¨ç¨åºä¸ï¼VS2010ç¼è¯éè¿ï¼åè½å®ç°ã
æé纳~
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int data[20];
int max[9];
int min[9];
// çæ20ä½éæºæ°
srand((unsigned int)(time(NULL)));
for(int i = 0; i<=19; i++)
{
int _data;
do
{
_data = rand() % 10;
}
while(_data == 0 && i==19);
// âé²æ¢æé«ä½çæ0
data[i] = _data;
}
printf("Data:");
for(int i = 19; i>= 0; i--)
{
printf("%d",data[i]);
}
printf("\n");
// åå¾æ大æ°
int flag = 20;
int _max = 0;
for(int i = 8; i >= 0; i--)
{
for(int j = flag-1; j >= i; j-- )
{
if(data[j] > _max)
{
_max = data[j];
flag = j;
}
}
max[i] = _max;
_max = 0;
}
/*
æè·¯ï¼æé«ä½å¯¹ä¸ä¸ªæ°ç大å°å½±åæ大ï¼æ以å¨éæ©èå´å
éåæ大çæé«ä½ï¼
éåèå´ï¼æé«ä½ï¼ä¹å°±æ¯ç¬¬9ä½ï¼å¯ä»¥å¨åå§æ°ç第20-9ä½éæ©ï¼å 为å¿
é¡»
çä¸8个æ°ï¼é²æ¢åé¢æ²¡å¾éäºï¼æ以éæ¨ç¬¬Nä½éæ©èå´æ¯ä»N-1éåçä½ç½®
åä¸ä½å°ç¬¬Nä½ï¼ä¾å¦ç¬¬3个æ°éå¨äºç¬¬9ä½ï¼é£ä¹ç¬¬å个æ°åªè½éå¨ç¬¬8ä½å°
第4ä½ã
*/
printf("Max:");
for(int i = 8; i>= 0; i--)
{
printf("%d",max[i]);
}
printf("\n");
// åå¾æå°æ°
flag = 20;
int _min = 9;
for(int i = 8; i >= 0; i--)
{
for(int j = flag-1; j >= i; j-- )
{
if((data[j] < _min && i != 8)||(data[j] < _min && data[j] != 0))
{
_min = data[j];
flag = j;
}
}
min[i] = _min;
_min = 9;
}
/*
æè·¯ï¼ååå¾æ大æ°ï¼åªä¸è¿è¦é²æ¢æé«ä½åå°0
*/
printf("Min:");
for(int i = 8; i>= 0; i--)
{
printf("%d",min[i]);
}
printf("\n");
// æ±å·®å¼ï¼å 为æ°æ®9ä½æ°ï¼ä½¿ç¨long
long lmax = 0,lmin = 0,diff = 0;
for(int i = 0; i<=8; i++)
{
lmax += max[i] * pow((double)10, i);
lmin += min[i] * pow((double)10, i);
}
diff = lmax - lmin;
printf("Difference:%ld", diff);
printf("\n");
int _re;
scanf("%d",&_re);
return 0;
}
温馨提示:答案为网友推荐,仅供参考