当前位置: 代码迷 >> C语言 >> [求助]数字位数输出的问题,谁帮下我
  详细解决方案

[求助]数字位数输出的问题,谁帮下我

热度:339   发布时间:2006-10-03 18:15:20.0
[求助]数字位数输出的问题,谁帮下我

给定一个整数,请编写一个程序,用于按如下方式显示该数。
第一行 所有数字
第二行 除第一个数字之处的所有数字
第三行 除头两个数字之处的所有数字
..........

最后一行 最后一个数字
例如:
3 6 9 8
6 9 8
9 8
8

搜索更多相关的解决方案: 输出  数字  位数  

----------------解决方案--------------------------------------------------------
让我想想
----------------解决方案--------------------------------------------------------

#include<stdio.h>
int array[20];

int getBits(int data)
{
int i=0;
while(data>0)
{
array[i++]=data%10;
data/=10;
}
return i;
}

void main()
{
int data,bits;
int i,j;
scanf("%d",&data);
bits=getBits(data);
for(i=0;i<bits;i++)
{
for(j=bits-1-i;j>=0;j--)
printf("%d ",array[j]);
printf("\n");
}
}


----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
int main()
{
int i,j;
char str[6];
printf("输入一个整数:");
gets(str);
for(i=0;i<strlen(str);i++)
{
for(j=i;j<=strlen(str);j++)
{
printf("%c ",str[j]);
}
printf("\n");
}
return(0);
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
main()
{
int i,zs,j,l;
int cd(int s);
clrscr();
scanf("%d",&zs);
printf("%d\n",zs);
l=cd(zs);
for(i=l-1;i>0;i--)
{j=pow(10,i);
zs=zs%j;
printf("%d\n",zs);
}
return 0;
}
cd(int a)
{
int i;
for(i=1;i<7;i++)
{
if(a/(int)pow(10,i) ==0) break;
}
return i;
}
----------------解决方案--------------------------------------------------------

刚才那个有点错误 看下面的
#include<stdio.h>
#include<math.h>
main()
{
int i,zs,l;
int cd(int s);
clrscr();
scanf("%d",&zs);
printf("%d\n",zs);
l=cd(zs);
for(i=l-1;i>0;i--)
{zs%=(int)pow(10,i);
printf("%d\n",zs);
}
return 0;
}
cd(int a)
{
int i;
for(i=1;i<7;i++)
{
if(a/(int)pow(10,i) ==0) break;
}
return i;
}


----------------解决方案--------------------------------------------------------
程序代码:
#include<stdio.h>
void main()
{
char a[10];
scanf(\"%s\",a);
for(int i=0;a[i]!='\0';++i,putchar(10))
for(int j=i;a[j]!='\0';++j)
printf(\"%c\",a[j]);
}

----------------解决方案--------------------------------------------------------
各位好!小弟是位C初学者,编了个:
#include "stdio.h"
main()
{int shu,m;
printf("please input a integer:");
scanf("%d",&shu);
m=shu/10;
printf("%d\n",shu);
printf("%d\n",m);
while(m>=10)
{
m/=10;
printf("%d\n",m);
}
}
----------------解决方案--------------------------------------------------------

各位回答都很精妙,不过似乎只有‘版主’跟‘unicorn’的能正常运行。顺便问下,还有更简单的吗?好像这个问题是初学编程书第二章的习题,还没学到这么深奥的函数语句。


----------------解决方案--------------------------------------------------------
我仿斑竹写了个程序,没用库函数,不知道楼主满不满意
#include"stdio.h"
main()
{char arr[100];
int n,i,j;
printf("输入你想输入数的个数:");
scanf("%d",&n);
getchar();
printf("输入你想输入的数:");
gets(arr);
for(i=0;i<n;i++)
{for(j=i;j<=n;j++)
{
printf("%c ",arr[j]);
}
printf("\n");
}
getch();
}
----------------解决方案--------------------------------------------------------
  相关解决方案