c语言 编写程序将一个正整数中的所有偶数数字取出来并用这些数字构成一个最大数。

如题所述

第1个回答  2016-11-20
#include<stdio.h>
long fun(long s)
{
int sum = 0;
long fin = 0,flag = 0;
int a[20] = {0};
for(int i =1; (s/i) != 0; i = i * 10)
++sum;
int temp = i;
for(int j = 0; j < sum; j++)
{
temp = temp / 10;
a[j] = s / temp;
s = s % temp;
}
for(int k = 0; a[k] >= 0; k++)
{
for(j = 0; j < sum-k-1; j++)
{
if(a[j] > a[j+1])
{
int t;
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
j = 0;
i = 1;
while(j < sum)
{
if(a[j] % 2 == 0)
{
if(a[j] == 0)
{
if(j == 0) ;
else
{
flag = 1;
fin = i*10;
}
}
else
if(flag)
{
fin *= a[j];
flag = 0;
}
else
fin += a[j] * i;
i *= 10;
}
j++;
}
return fin;
}

int main()
{
long s,final ;
scanf("%ld",&s);
final = fun(s);
printf("%ld\n",final);
return 0;
}本回答被提问者采纳

编写一个程序,输入一个整数,将该数各位上为偶数的数去掉,剩余的数按原...
用除以10取余(保存商以备下次继续用)的方法,从低到高依次得到每一位数字,用除以2取余的方法判断奇偶,若是偶数则丢弃,若是奇数则从低到高暂存到一数组。最后将暂存数组中的所有数字按倒序输出。

求C语言程序 ,输入正整数n,取出其偶数位,反序构成一个新的数
1234这个数,你想要取出的是13呢还是24呢,因为我还是不怎么清楚你的偶数位是从左开始还是从右开始的。include<stdio.h> void main(){ int n,x=0,a=1;printf("Input a number:");scanf("%d",&n);while(n=n\/10){ x+=(n%10)*a;a*=10;n\/=10;} printf("The new number is:%d\\...

. c语言编程:输入一个正整数,统计该数的各位数字中零的个数,并求各位...
count:0的个数。max:各位数字中的最大者

如何用C语言编写程序输入一个正整数n,编程序输出从2到n间的所有完数...
C语言实现如下:include<stdio.h> void main(){ int i,j,k,n;scanf("%d",&n); \/\/输入一个正整数n for(i=2;i<=n;i++){ k=0;for(j=1;j<=i-1;j++)if(i%j==0) k+=j;if(k==i) printf("%d\\n",i);\/\/判断i的所有真因子之和是否等于i,是则输出i。} } 注意:建...

C语言题目:找出一批正整数中最大的偶数
2、然后输入“ int a=10; float b=5,c; ”注意: float 是浮点型,int 是整型。这个是用来定义C语言中的数值的类型,还有如果一个语句结束那就要打上“;”。3、c是我们定义的一个空白的浮点数,用来当作后面的加减后取得值。例如"c=a-b; printf("a-b=%f\\n",c);"注意这里有几个...

(C语言)输入一个正整数n, 再输入n 个整数,输出这n个整数的最大值.
include intmain(){ intn,a,i,t;scanf("%d",&n);if(n<=0){ printf("输入n的值错误");return0;} scanf("%d",&t);\/\/先读的第一个数要默认成最大的,不然,t的初值是不定的 for(i=1;i{ scanf("%d",&a);if(t} printf("%d",t);return0;\/\/ } ...

. c语言编程:输入一个正整数,统计该数的各位数字中零的个数,并求各位...
char d[1024],max='0';int i,count=0;printf("请输入一个正整数:\\n");gets(d);for(i=0;'\\0'!=d[i];i++){ if(d[i]>max){ max=d[i];} else if('0'==d[i]){ count++;} } printf("数字0共出现了%d次,最大的数字是%c。\\n",count,max);system("PAUSE");return ...

编写一个程序,求1到10之间所有偶数的和及其所有奇数的和
i % 2]++;\/\/%是取余数运算符,一个正整数取余2会返回0或1的值,用它和数组配合可以方便的计算该问题}printf("奇数个数:%d ,偶数个数:%d", vs[1], vs[0]);char c;scanf("%c", &c);\/\/这句是为了防止控制台退出return 0;} 以上是在Visual Studio 里写的C语言例子 ...

C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个...
include <stdio.h> int main(){ int a, b, i, t;int k = 0, sum = 0;scanf("%d", &a); \/\/输入整数a t = a;if(a \/ 10 == 0){ k = 1;sum = a;printf("%d\\n", k);printf("%d\\n", sum);} else { while(a \/ 10 != 0){ a = a \/ 10; \/\/每除10,就有...

c语言编程:输入一个正整数n,产生n个1000以内的随机数,统计其中这些随机...
include <stdio.h>void main(){int i,a[1000],n,k=0;scanf("%d",&n);printf("生成1000以内的随机数: ");for(i=0;i<n;i++){a[i]=("%d",rand()%1000);printf("%d ",a[i]);if(a[i]%2==0) k++;}printf("\\n其中偶数的个数为%d",k);} 运行示例:...

相似回答