C语言解答?编写代码?题目:给出一个不多于5位的整数,要求:1,求出它是几位数。2,分别输出每一位数

2024-11-08 11:32:50
推荐回答(3个)
回答1:

供参考。
#include "stdafx.h"
#include "stdio.h"//
#include "string.h"//
#include "stdlib.h"//
void main(void){/*主程序*/
int n,lax,i;
char ax[10]={NULL,};
printf("请输入一个不大于5位的十进制正整数!\nn=");
scanf("%d",&n);
lax=strlen(itoa(n,ax,10));
printf("输入的是%d位数\n每一位是",lax);
for(i=0; i printf("\n反向输出");
for(;i>=0;printf("%c ",ax[--i]));
printf("\n");
}

回答2:

#include
int main(void)
{
int val;
int len = 0;
int temp; //临时存储val
int a[5];

scanf("%d",&val);

temp = val;
//此循环求位数
do
{
len += 1;
}while(temp /= 10);
printf("%d\n",len);

temp = val;
//此循环保存成数组
for(int i=len-1; i>=0; --i)
{
a[i] = temp%10;
temp /= 10;
}

//此循环正序输出
for(int i=0; i printf("%d ",a[i]);
printf("\n");

//此循环逆序输出
for(int i=len-1; i>=0; --i)
printf("%d ",a[i]);
printf("\n");

return 0;
}

回答3:

我来试试看:
int main()
{
int n,a,b,s;
scanf("%d",&n);
s=0;
b=1;
do
{
a=n-2*b;
if (a*b>s) s=a*b;
b++;
}
while(b<=(n-1)/2);
printf("%d\n",s);
}