工学

问答题编一个程序,输入一个整数,判定它为几位数。例如,99是2位数,-100是3位数。

题目
问答题
编一个程序,输入一个整数,判定它为几位数。例如,99是2位数,-100是3位数。
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 9 ) 下面的程序执行时 , 可以从键盘输入一个正整数 , 然后把该数的每位数字按逆序输出 。 例如 : 输入 7685 ,则输出 5867 ,输入 1000 ,则输出 0001 。请填空。

Private Sub Command1_Click()

Dim x As Integer

x=InputBox( “ 请输入一个正整数 ” )

While x>_ _[11] ___

Print x Mod 10;

x=x\10

Wend

Print__ [12] __

End Sub


正确答案:

第2题:

下列过程的功能是:从键盘输入一个大于2的整数,输出小于该整数的最大质数。( )。例如,输入20,则输出l9,输入10,则输出7。

为实现指定功能,程序【】处应填写的语句是( )。

A.k—k+1

B.X=X一1

C.X—X/k

D.k—k一1


正确答案:B
本题要求输入~个数,找出比输入的数小的最大的质数。质数的程序判断为从数值2开始依次能否被整除,如能则不是,不能就是要找的数。题目要求找小于输入的数。因此输入的数要依次减小1进行判断是否为质数。例:输入9,则最大的质数为7。Sqr(数据表达式):开平方函数。如Sqr(9)=3(8)是否正确13)ifxraodk一0then;if条件判断8mod2—0是否正综上所述,故选择B选项。

第3题:

下列程序执行时,从键盘上依次输入123和234,则程序的输出结果是【 】。

Dim a,b As Integer

a=InputBox("请输入第一个整数")

b=InputBox("请输入第二整数")

Print a+b


正确答案:□357
□357

第4题:

编一个程序,首先输入一个成绩(0到100的整数),用ifelse语句然后判断该成绩是优、良、中、及格还是不及格。


正确答案: doublescore;
Console.WriteLine("请输入一个成绩");
score=double.Parse(Console.ReadLine());
if(score>=90)
Console.WriteLine("优");
elseif(score>=80)
Console.WriteLine("良");
elseif(score>=70)
Console.WriteLine("中");
elseif(score>=60)
Console.WriteLine("及格");
else
Console.WriteLine("不及格");

第5题:

请编写一个函数proc(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。

例如,若输入字符串“1234”,则函数把它转换为整数值1234。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

试题程序:


正确答案:


【解析】要将数字字符串转换为一个整数,首先判断该字符串的正负号。然后将数字字符转换为相应的数字,将各个数字合并为整数。最后将得到的整数乘以字符串中的符号。将最后的结果返回到主函数中。

第6题:

Int(Rnd*100)表示的是()范围内的一个整数。

A、[0,100]

B、[1,99]

C、[0,99]

D、[1,100]


参考答案:C

第7题:

…请编写函数。fun能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为l23,则输出结果为:输入的数字是3位。

注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干语句。

试题程序:


正确答案:
【考点分析】主要考察考生对循环跳出的条件的理解,以及理解取数字位数的方法。【解题思路】通过对指定的多位数每次除以10,去掉最后一位,直到为0结束,使用临时变量来统计一个多位数的位数。

第8题:

下列程序执行时,从键盘上依次输入123和234,则程序的输出结果是【 】。

a=InputBox("请输入第一个整数")

b=InputBox("请输入第二整数")

Print a+b


正确答案:123234
123234

第9题:

所谓“降序数”是指一个自然数的低位数字不大于高位数字的数。例如:64,55,321都认为是降序数,但是623不是降序数。一位数字被认为是降序数。编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入的数为0时,则退出程序运行。


正确答案: inti,j,m,n;
boolpos;
while(true)
{
n=-1;
while(n<=0)
{
if(n==0)return;
Console.WriteLine("请输入一个正整数或者0:");
n=int.Parse(Console.ReadLine());
}
if(n<10)pos=true;
else
{
m=n;
i=0;
pos=true;
while(m>0)
{
j=m%10;
m=m/10;
if(i>j)
{
pos=false;
break;
}
i=j;
}
}
if(pos)Console.WriteLine("{0}是降序数。",n);
elseConsole.WriteLine("{0}不是降序数。",n);
}

第10题:

所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。


正确答案: ints,k;
inti,j;
int[]a=newint[20];
boolpos;
while(true)
{
s=-1;
while(s<0)
{
Console.Write("请输入一个正整数或者只按一个数字0:");
s=int.Parse(Console.ReadLine());
if(s==0)return;
}
k=s;
pos=true;
i=-1;
while(k>0)
{
i++;
a[i]=k%10;
k=k/10;
}
//注意:数组a的长度为(i+1)
for(j=0;j<(i+1)/2;j++)
if(a[j]!=a[i-j])
{
pos=false;
break;
}
if(pos)Console.WriteLine("{0}是回文数。",s);
elseConsole.WriteLine("{0}不是回文数。",s);
}