在Dev-C++下能通过编译,但看不到结果....
#include <stdio.h>
int main()
{
int i,n,k;
k=0;
printf( "请输入一个不多于5位数的整数\n ");
scanf( "%d ",&n);
if(n <0)
{
printf( "请输入正整数!\n ");
return 0; }
for(i=1;i <n;i*=10)
if(n/i> =1)
k++;
printf( "\n这是一个%d位数 ",k);
return 0;
getchar();
}
[解决办法]
如下:
#include <stdio.h>
int main()
{
int i,n,k;
k=0;
printf( "请输入一个不多于5位数的整数\n ");
scanf( "%d ",&n);
getchar(); //扔掉后面的回车
if(n <0)
{
printf( "请输入正整数!\n ");
return 0; }
for(i=1;i <n;i*=10)
if(n/i> =1)
k++;
printf( "\n这是一个%d位数 ",k);
return 0;
getchar();
}
[解决办法]
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i,n,k;
k=0;
printf( "请输入一个不多于5位数的整数\n ");
scanf( "%d ",&n);
if(n <0)
{
printf( "请输入正整数!\n ");
return 0;
}
for(i=1;i <n;i*=10)
if(n/i> =1)
k++;
printf( "\n这是一个%d位数 ",k);
getchar();
system( "PAUSE ");
return EXIT_SUCCESS;
}
[解决办法]
在“printf( "请输入一个不多于5位数的整数\n ");scanf( "%d ",&n);”接受字符后,键盘缓冲区中留了一个字符,当程序运行到最后”getchar()“时,程序自动接受了这个字符,所以会退出来。
解决方法是在加一个”getchar()“,或是用”system( "pause ")“。如楼上的。
[解决办法]
加这个system( "pause ");
[解决办法]
今天刚发现的一个问题!!
你可以用goto语句!!
loop:printf( "请输入一个不多于5位数的整数\n ");
scanf( "%d ",&n);
......
if(n <0)
{
printf( "请输入正整数!\n ");
return 0;
goto loop;
......