求帮助 题目如下 在
/*********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; }