永发信息网

如何编程请教

答案:3  悬赏:60  手机版
解决时间 2021-07-25 22:17
  • 提问者网友:像風在裏
  • 2021-07-25 05:44

输入不大于5位的整数,要求

(1)输出是几位数。

(2)分别输出每一位数字

(3)按逆顺序输出各位数字。

这个程序感觉好复杂,我只能编出第一个要求,还要请教高手简单明白的编出,谢谢。

最佳答案
  • 五星知识达人网友:一秋
  • 2021-07-25 06:10

#include <stdio.h>


int main()
{
int sum,i=0,j;
char str[6]={'\0'};
//while循环用于输入,只有当输入的数不大于5位数时,程序才往下执行,否则重新输入.
while(true)
{
printf("Input Number:");
scanf("%d",&sum);
if(sum<=100000) break;
}

while(sum)
{
str[i++]=sum%10+'0';
sum/=10;
}
//输出是几位数字.
printf("%d\n",i);


//分别输出每一位.
while(i-->0)
{
printf("%c ",str[i]);
}


//逆序输出.
printf("\n%s\n",str);
return 0;
}



附图:



全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-07-25 08:02

#include<iostream> #include<math.h>

using namespace std;

int leng(int a) { int flag=0; while(a) { a/=10; flag++; } return flag; }

void chaifen(int cf,int leng) { int *p=new int[leng]; int temp=0; for(int i=0;i<leng;i++) { temp=cf%10; cf/=10; *p++=temp; } //p-=leng; for(int j=0;j<leng;j++) { cout<<*--p<<ends; } cout<<endl; for(int k=0;k<leng;k++) { cout<<*p++<<ends; } cout<<endl; p-=leng; delete [] p; }

void main(void) { //int arr[5]; int test=0,flag=0; cin>>test; flag=leng(test); chaifen(test,flag); cout<<"有"<<flag<<"位"<<endl; }

  • 2楼网友:想偏头吻你
  • 2021-07-25 06:39

# imclude <stdio.h>

void main()

{

int a

a<=5;

printf("%d",a)

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯