求帮助 题目如下 在
/*********Begin**********/
/********** End **********/
中编入适当语句完成程序功能,求帮助!
谢谢大神们~
/*********Begin**********/
/********** End **********/
中编入适当语句完成程序功能,求帮助!
谢谢大神们~
/*--
【程序设计】
--
功能:从低位开始取出长整型变量s中偶数位上的数,依次
构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:642。
--*/
#include "stdio.h"
long fun (long s)
{
/*********Begin**********/
/********** End **********/
}
main()
{
long s,m;
void TestFunc();
printf("\nPlease enter s:"); scanf("%ld", &s);
m=fun(s);
printf("The result is: %ld\n", m);
TestFunc();
}
解决方案
40
参考:
#include<stdio.h>
long fun (long s)
{
long sl=10, t;
s /= 10;
t = s % 10;
while(s> 0)
{
s = s/100;
t = t+s%10*sl ;
sl = sl * 10;
}
return t;
}
void main()
{
long s,m;
//void TestFunc();
printf("\nPlease enter s:");
scanf("%ld", &s);
m=fun(s);
printf("The result is: %ld\n", m);
//TestFunc();
}
5
假如单纯取偶数位的数字,也可以先转成字符串;
sprintf或snprintf, 然后按照字符串下标依次取出对应的数值;
sprintf或snprintf, 然后按照字符串下标依次取出对应的数值;
10
long fun (long s)
{
/*********Begin**********/
long t = 0;
long k = 1;
while (s >= 10)
{
s /= 10;
t += s % 10 * k;
k *= 10;
s /= 10;
}
return t;
/********** End **********/
}
5
int func(int s)
{ /*********begin************/
int tmp = 0;
int t = 0;
int count = 0;
while(s > 0)
{
tmp = s % 10;
if((tmp % 2) == 0){
if(count == 0)
t = tmp;
else{
tmp *= pow(10,count);
t += tmp;
}
count++;
}
s /=10;
}
return t;
/******************end*****************/
}
{ /*********begin************/
int tmp = 0;
int t = 0;
int count = 0;
while(s > 0)
{
tmp = s % 10;
if((tmp % 2) == 0){
if(count == 0)
t = tmp;
else{
tmp *= pow(10,count);
t += tmp;
}
count++;
}
s /=10;
}
return t;
/******************end*****************/
}
5
int func(int s)
{
int tmp = 0;
int t = 0;
int count = 0;
while(s > 0)
{
tmp = s % 10;
if((tmp % 2) == 0){
if(count == 0)
t = tmp;
else{
tmp *= pow(10,count);
t += tmp;
}
count++;
}
s /=10;
}
return t;
}