【单选题】下面程序的功能是计算正整数2345的各位数字平方和,请选择填空() #include <stdio.h> int main() { int n,sum=0; n=2345; do { sum=sum+(n%10)*(n%10); n=______________; }while(n); printf("sum=%d",sum); return 0; }
A.n/1000
B.n/100
C.n/10
D.n%10
第1题:
下列程序的输出结果是______。 #define A100 main() { int i=0,sum=0; do{ if(i==(i/2)*2)continue; sum+=i; }while(++i<A) ; printf("%d\n",sum); }
A.2500
B.2050
C.4
D.0
第2题:
下列给定程序中,函数proc的功能是计算正整数m 各位上数字的平方和。
例如,输入498,则输出应该是161。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include<stdlib.h>
include<stdio.h>
include<conio.h>
long proc(10ng m)
{
//****found****
long sum=1;
do
{
sum+=(m%10)*(m%10);
m/=l0;
//****found****
}
while(m)
return(sum);
}
void main
{
long n;
system("CLS");
printf("Please enter a number:");
scanf("%1d",&n);
printf("\n%ld\n",proc(n));
}
(1)错误:long sum=1;
正确:long sum=0;
(2)错误:while(m)
正确:while(m);
【解析】由函数proc可知,变量sum中存放正整数m 的各位上数字的平方和,其初始化为0。因此,“long sum= 1;”应改为“long sum=0;”。按照C语言的语法规则,语句都以分号结束,应在do-while语句最后加上分号。因此,“while(m)”应改为“while(m);”。
第3题:
下面程序段的输出结果是 public class Test{ public static void main(String args[]){ int n=5,sum=O; while(n>0){ sum+=n; --n; } System.out.println("sum is "+Sum); } }
A.sum is 14
B.sum is 15
C.sum is 10
D.sum is 5
第4题:
A.n/1000
B.n/100
C.n/10
D.n%10
第5题:
给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。
inClude<coMo.h>
inClude<stdio.h>
dehne M 5
/************fOUnd************/
int fun(int n,int xx[][])
{int i,j,sum=0;
printf("\n The%dx%d matrix:\n"M,M);
for(i=0;i<M;i++)
{ for(j=0;j<M;j++)
/************found************/
printf("%f",xx[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
sum+=xx[i][i]+XX[i][[n-i-1];
return(sum);
}
main( )
{int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
clrscr( );
printf("\n The sum Of all elements On 2 diagnals is %d."fun(M,aa));
}
第6题:
下面程序段的输出结果是 public class Test{ public static void main(String args[]){ int n=5,sum=0; while(n>0){ sum+=n; --n; } System.out.println("sum is"+sum); } }
A.sum is 14
B.sum is 15
C.sum is 10
D.sum is 5
第7题:
以下程序执行后sum的值是 ( ) main( ) { int i,sum; for(i;i<6;i+ +)sum+=i; printf("%d\n",sum); }
A.15
B.14
C.不确定
D.0
第8题:
阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。
【说明】
计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为:
5
4 1
3 2
3 1 1
2 2 1
2 1 1 1
1 1 1 1 1
共有7种划分。这种划分的程序如下所示。
【程序】
include <stdio.h>
int n[1000],m,k;
void output sum()
{
int j;
for(j=0;n[j]!=0;j++)
printf("%d\t",n[j]);
printf("\n");
}
void sum(int i)
if(m-n[i]<n[i])
{ m=m-n[i];
(1)
i++;
n[i+1]=0;
}
else
{
(2)
m-=n[i];
i++;
}
if(m!=n[i])
sum(i);
else
output_sum();
if(n[i]>1)
{
n[i]--;
(3)
}
else
{
while((n[i]==1)&&(i>O))
{
i--;
(4)
}
if(i!=0)
{
(5)
sum(i);
}
}
}
void main()
{
int i;
scanf("%d",&n[0]);
m=k=n[0];
for(i=1;i<=k;i++)
n[i]=0;
while(n[0]!=1)
{
n[0]--;
i=0;
sum(0);
m=k;
}
}
第9题:
在C语言中,下面这段代码输出值为( )。 main( ) { int n, sum=0; for(n=1;n<=100;n++) sum+=n; printf("sum=%d\n",sum); }
A.0
B.100
C.5050
D.5151
第10题:
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。
include <stdio.h>
main()
{ int n, s;
printf("Enter a number:"); scanf("%d",&n);
printf("Output: ");
do
{ s=n%10; printf("%d",s); [ ]; }
while (n!=0);
printf("\n');
}
第11题:
请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。
例如:主函数从键盘给输入n的值为56,则输出为 sum=1113。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
long fun(int n)
{
}
main()
{
int n;
long sum;
printf("Input n:");
scanf("%d",&n);
sum=fun(n);
printf("sum=%ld\n",sum);
}
第12题:
有以下程序: #include <stdio.h> int fun(int x[], int n) { static int sum =0,i; for(i=0;i<n;i ++ )sum + =x[i]; return sum;{ int a[] ={1,2,3,4,5},b[]={6,7,8,9},s=0; s = fun(a,5) + fun(b,4) ;printf( "%d \n",s);程序执行后的输出结果是( )。
A.45
B.50
C.60
D.55
第13题:
下面程序的输出结果是( )。 public class Sun { public static void main(String args[ ]) { int n=4 ,sum=0; while (n>0) { sum+=n; n--; } System.out.println("sum is "+sum); } }
A.sum is 10
B.sum is 4
C.10
D.4
第14题:
●下列程序运行后输出的数据是(51)。
int sum(int n)
{
int p=1;
int s=0;
int i=0;
for(i=1;i﹤=n;i++) s+=(p*=i);
retum s;
}
main()
{
printf((“sum(5)=%d\n”,sum(5));
}
(51) A.sum(5)=151
B.sum(5)=152
C.sum(5)=153
D.sum(5)=155
第15题:
以下程序的输出结果是【 】。
include<stdio.h>
main()
{int i,j,sum;
for(i=3;i>=-1;i-)
(sum=0;
for(j=1;j<=i;j++) sum+=i*j;
}
printf("%d\n,sum);
}
第16题:
已知一个数列从0项开始的前3项:0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun()的功能是:计算并输出该数列前。项的平方根之和sum。n的值通过形参传入。例如,当n=10时,程序的输出结果应为23.197745。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
include <conio.h>
include <stdio.h>
include <math.h>
/***************found*******************/
fun (int n)
{double sum, s0, s1, s2, s; int k;
sum=1.0;
if (n<=2) sum=0.0;
s0=0.0; sl=0.0; s2=1.0;
for (k=4; k<=n; k++)
{ s=s0+s1+s2;
sum+=sqrt (s);
s0=s1; s1=s2; s2=s;
}
/****************found*****************/
return sum
}
main ( )
{int n;
clrscr ();
printf("Input N=");
scanf ("%d", &n);
print f ("%f\n", fun (n));
}
第17题:
设有以下程序:
main()
{int i,sum=0;
for(i=2;i<10;i++)
{ if((i%2)==0)
continue;
sum+=i;}
printf("%d\n",sum);
}
程序执行后的输出结果是( )。
第18题:
请补充main 函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。
例如:当n=1,m=100时,sum=5050:当n=100,m=1000时,sum=495550。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
main ()
{
int n, m;
long sum;
【 】
clrscr ();
printf ("\nInput n,m\n");
scanf ("%d, %d", &n, &m);
while (n<=m)
{
【 】
n++;
}
printf ("sum=%【 】\n", sum);
}
第19题:
以下C程序的运行结果为______。main(){ int i=1,sum=0; loop:if(i<=10) { sum+=i; i++; goto loop; } printf("sum=%d\n",sum);}
A.sum=10
B.sum=55
C.sum=100
D.sum=88
第20题:
下列程序的输出结果是______。 #define A 100 main() { int i=0,sum=0; do{ if(i=(i/2)*2)continue; sum+=i; }while(++i<A); print("%d\n",sum); }
A.2500
B.2050
C.4
D.0
第21题:
下列程序的输出结果是( )。 public class Test { public static void main (String[] args) { int n=5,sum=0; while (n>0) { sum+=n; --n; } System.out.println("Sum is"+sum); } }
A.sum is 14
B.sum is 15
C.sum is 10
D.sum is 5
第22题:
下列程序的输出结果是______。 #define A 100 main() { int i=0,sum=0; do{ if(i==(i/2)*2) continue; sum+=i; }while(++i<A) ; printf("%d\n",sum);
A.2500
B.2050
C.4
D.0
第23题:
下列程序的运行结果是( )。
#include<stdio.h>
#define ADD(x)x+x
main()
{ int m=1,n=2,k=3;
int s=ADD(m+n)*k;
printf("s=%d",s);
}
A.sum=18
B.sum=10
C.sum=9
D.sum=25
第24题:
A.0
B.5
C.14
D.15