1.输入一个正整数X,求出这个正整数位数,最高位和个位。
2、输入一个正整数num,求出这个正整数的各个位上的数字之积。例如:num=237结果为42.
1.输入一个正整数X,求出这个正整数位数,最高位和个位。
2、输入一个正整数num,求出这个正整数的各个位上的数字之积。例如:num=237结果为42.
帮你写在一个里面了。。。
#include <stdio.h>
int main( void )
{
int element; //输入的元素
void judge( int element ); //声明一个函数
//输入元素
printf("请输入一个正整数:");
scanf( "%d", &element );
judge( element ); //调用且不返回正整数位数,最高位和个位,各个位数上的数字之积
return 1;
}
void judge( int element )
{
int n,m,max,min,product; //n用来记录整数位数,max,min,product分别用来记录最高位与个位和各个位上的数字之积
n = 1;
m = 10;
product = 1;
while( element / m > 0 ) //element/m!=0也可以的
{
n++;
m = m * 10;
}
//用switch来判断进而得到最高位和个位
switch( n )
{
case 1: max = min = element;
product = element; break;
case 2: max = element / 10; min = element % 10;
product = max * min; break;
case 3: max = element / 100; min = element %100%10;
product = max * ( element %100/10 ) * min; break;//得到十位上的元素
case 4: max = element / 1000; min = element %1000%100%10;
product = max * ( element %1000/100) * ( element %1000%100/10 ) * min; break; // element %1000/100,element %1000%100/10 分别用来求百位,十位上的元素
case 5: max = element / 10000; min = element %10000%1000%100%10;
product = max * ( element %10000/1000) * ( element %10000%1000/100 ) * ( element %10000%1000%100/10) * min; break;
}
printf( "位数为:%d\n最高位元素为:%d\t个位为:%d\n各个位数上的数字之积为:%d\n", n, max, min, product );
}
祝你好运
#include<stdio.h>
int main()
{
int num=0;
char read[10]={0};
int a;
scanf("%s",&read);
for(a=0;a<10;a++)
{ if(read[a]==0)
num+=read[a]-48;
else
break;
}
printf("%d %d %d\n",read[0]-48,read[a-1]-48,num);
return 0;
}
没编译
直接在提交框里打得,你看看