当前位置: 代码迷 >> C语言 >> 关于整数的问题!
  详细解决方案

关于整数的问题!

热度:346   发布时间:2006-05-16 14:14:00.0
关于整数的问题!

给定一个不多于5位的正整数,要求:(1)求他是几位数(2)分别打印每一位数(3)按逆序打印各位数。

#include<stdio.h>

#include<math.h>

main()

{

int x,k,i,j,f;

char y[100],a[100],b[100];

printf("\nplease input a shu:\n");

scanf("%d",&x);

*y='x';

k=strlen(y);

printf("\n this shu is %d weishu de shu!\n",k);

for(i=0;i<k;i++)

strcat(a[i],y[i]);

printf("\noutput the string: %s\n",a);

for(j=k-1;j>=0;j++)

for(f=0;f<k;f++)

strcat(b[f],a[j]);

printf("\noutput the nixustring: %s\n",b);

}

我的这个程序是没有语法错误的,但是当我编译运行是出现这种奇怪的问题! 问题描述如下:

TC
NTVDM CPU 遇到无效的指令
CS:63ee IP:6976 OP:ff ff d8 18 08 选择"关闭"终止应用程序

各位高手!你们看这是什么问题啊?我以前也没有遇到过这种情况!我该如何改这个错误啊?我有好多的问题都不能解决的!请各位高手指点指点啊!谢谢拉!

搜索更多相关的解决方案: 整数  

----------------解决方案--------------------------------------------------------
*y='x';
这个语句是将x这个字符赋值给y[100]
我想是这样的!
在win-tc上编译没有提示出你上面所说的那些问题!

----------------解决方案--------------------------------------------------------

#include<stdio.h>

int main (void)
{
int n, ge, shi, bai, qiang;

scanf ("%d", &n);
if (n > 9999 || n < 1) printf ("The number is wrong");
else
{
ge = n%10;
shi = n/10%10;
bai = n/100%10;
qiang = n/1000;

if (qiang != 0)
{
printf("It is a 4bit number:");
printf("%d,%d,%d,%d\n", qiang, bai, shi, ge);
printf("%d%d%d%d\n", ge, shi, bai, qiang);
}
else if (bai != 0)
{
printf("It is a 3bit number:");
printf("%d,%d,%d\n", bai, shi, ge);
printf("%d%d%d\n", ge, shi, bai);
}
if (qiang == 0 && bai == 0 && shi != 0)
{
printf("It is a 2bit number:");
printf("%d,%d\n", shi, ge);
printf("%d%d%d\n", ge, shi);
}
if (qiang == 0 && bai == 0 && shi == 0) printf("It is a 1bit number: %d", ge);
}

getch ();
return 0;
}

是谭书上的5.7题.


----------------解决方案--------------------------------------------------------
3楼的大哥是 if(n&gt;99999||n&lt;1)吧  
----------------解决方案--------------------------------------------------------

#include <stdio.h>
main()
{
int i=0;
long int x,j,k=0;
scanf("%d",&x);
j=x;
while(j)
{
printf ("%d ",j%10);
k=k*10+j%10 ;
j/=10;
i++;
}
printf("\n%d\n",i);
while(k)
{
printf("%d ",k%10);
k/=10;
}

}


----------------解决方案--------------------------------------------------------
五楼的不能得到正确的结果啊!
----------------解决方案--------------------------------------------------------
以下是引用疯狂VC在2006-5-16 16:07:00的发言:
五楼的不能得到正确的结果啊!

不会吧..C-FREE.


----------------解决方案--------------------------------------------------------
虽然顺序有点不一样.不过你不会看不懂吧~~
----------------解决方案--------------------------------------------------------
可以,前天我还写一个在论坛上,也是这种方式,分解,不用函数
----------------解决方案--------------------------------------------------------

wodeto
以下是引用SunShining在2006-5-16 16:18:00的发言:

不会吧..C-FREE.
document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" />

我用的是win-tc
怎么就成这个样子了呢?


[此贴子已经被作者于2006-5-16 17:54:28编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案