给一个不多于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();
}
----------------解决方案--------------------------------------------------------
main()
{int i,j;
char a[6];char *p;
printf("Input the number:\n");
scanf(“%s",a);
p=a;
for(i=0;i<6;i++,p++)
if(*p=='\0')break;
printf("这个数的位数是:%d\n数是:%s\n",i,a);
p=a[i-1];
for(j=i;j>=0;j--)
printf("%c",*p);
}
利用字符型与整型的相互可输值求解。
----------------解决方案--------------------------------------------------------
楼上思路不错,既然有这样麻烦的要求,就用简单的方式deal with it。
----------------解决方案--------------------------------------------------------
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..谢谢大家~!
----------------解决方案--------------------------------------------------------