给一个不多于5位的正证书 要求: 1 求出它是几位数 2. 分别打印出每一个数字 3. 按逆顺序打印出各位数字
请写出程序.并说明应用什么函数~
数是随机的还是认为输入的
#include<stdlib.h>
#include<math.h>
main()
{
int N;
int i,n,m[6];
printf("input N:");
scanf("%5d",&N);
n=1;
for(i=10;i<100001;i*=10)
{
if(floor(N/i))
n++;
else break;
}
printf("\nn:%d",n);
getch();
for(i=1;i<n+1;i++)
{
m[i]=N%10;
N=N/10;
}
printf("\n");
getch();
for(i=1;i<n+1;i++)
{
printf("%d ",m[n-i+1]);
}
printf("\n");
getch();
for(i=1;i<n+1;i++)
{
printf("%d ",m[i]);
}
getch();
}
#include<stdlib.h>
#include <time.h>
#include <math.h>
main()
{
int N;
int i,n,m[6],t;
srand((unsigned) time(&t));
N=random(100000)-random(200000) ;
printf("N=%d",N);
n=1;
for(i=10;i<100001;i*=10)
{
if(floor(N/i))
n++;
else break;
}
printf("\nn:%d",n);
getch();
for(i=1;i<n+1;i++)
{
m[i]=N%10;
N=N/10;
}
printf("\n");
getch();
for(i=1;i<n+1;i++)
{
printf("%d ",m[n-i+1]);
}
printf("\n");
getch();
for(i=1;i<n+1;i++)
{
printf("%d ",m[i]);
}
getch();
}
6楼的我试过了.只能算出数是几位的..
8楼的思路很好..不过上机不能运行..我修改了一下 没有用到指针(因为我还没学)
main()
{int i,j;
char a[6];
printf("Input the number:\n");
scanf("%s",a);
for(i=0;i<6;i++)
if(a[i]=='\0') break;
printf("This number's bit is:%d\nThis number is:%s\n",i,a);
for(j=i;j>=0;j--)
printf("%c",a[j]);
getch();
}
上机试过.没有问题.一切OK..谢谢大家~!