网友您好, 请在下方输入框内输入要搜索的题目:
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 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); 【 10 】 ; }
while(n!=0);
printf("\n");
}
答案 n/=10 或 n=n/10
解析:每次循环把 n 除以 10 所得的商赋给 n.
对输入一个整数进行判断,若是偶数,输出even,否则输出odd,在子函数fun2功能是判定整数是否为偶数,若是偶数,返回1,否则返回0int fun2(int x){if(x%2==0);return 0;}main(){int n;scanf("%d",&n);ifprintf("even\n");else printf(odd\n");}
依据题目的条件,如果整数是偶数,就返回1,返回值语句为return 1.通过返回值,我们能够知道整数是偶数还是奇数,从而进行相应的输出。
下列程序的输出结果是( )。
#include<stdio.h>
VOid p(int *x)
{ printf("%d",++*x);
}
void main()
{ int y=3;
p(&y);
}
A.3
B.4
C.2
D.5
解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。
下面程序的运行结果为
#include<iostream.h>
void swap(int &a, int b)
{
int temp;
temp=a++;
a=b;
b=temp;
}
void main( )
int a=2,b=3;
swap(a, b) ;
cout < < a < <"," < < b < < endl;
}
A.2,3
B.3,2
C.2,2
D.3,3
解析:本题考查的是引用调用,因为函数swap引用调用参数a,所以在swap函数中a的变化会改变主函数中a的值,即a自加1,但b的值并未改变。
下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空。
main()
{int i, x, y=1;
scanf("%d", &x);
for(i=2; i<=x/2; i++)
if【14】{ y=0; break;}
printf("%d\n", y);
}
(x%i==0)
系统测试题21.功能:输入整数a和b,交换a和b后输出。#include void main() int a,b,temp; printf(输入整数a,b:); scanf(%d%d,&a,&b); temp=a;/*SPACE*/ 【?】;/*SPACE*/ 【?】; printf(a=%d b=%dn,a,b); 2.题目:求出 -10 到 30 之内能被 7 或 11 整除,但不能同时被 7 或 11 整除的所有整数。 例如:输出-7,7,11,14,21,22,28,。#include #include main() int i;/*SPACE*/ 【?】(i=-10;i=30; i+) /*SPACE*/ if(i%7=0 | i%11=0) 【?】 i%77!=0) /*SPACE*/ printf(【?】,i); 3.请补充main函数,该函数的功能是求方程ax*x+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b*b-4ac)小于0,则要求重新输入a、b、c的值。例如:当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00, x2=-1.00。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include #include #include void main() float a,b,c, disc,x1,x2; system(CLS); do printf(Input a,b,c:); scanf(%f,%f,%f,&a,&b,&c); disc=b*b-4*a*c; if(disc0) printf(disc=%fn Input again!n,disc); /*SPACE*/ while(【?】); printf(*the result*n);/*SPACE*/ x1=【?】;/*SPACE*/ x2=【?】; printf(nx1=%6.2fnx2=%6.2fn,x1,x2);4.题目:从键盘键盘输入3个整数,然后找出最大的数并输出。 例如:输入12,45,43, 输出 三个数是:12,45,43.最大数是:45.。#include #include main()/*SPACE*/ 【?】 a, b, c, max; printf(请输入三个整数:n); scanf(%d,%d,%d,&a, &b, &c); printf(三个数是:%d,%d,%d., a, b, c);/*SPACE*/ if (a b) 【?】; else max=b; /*SPACE*/ if (【?】) max=c; printf(最大数是:%d., max);5.给定程序中,程序的功能是:输出100以内能被3整除且个位数为6的所有正整数。请填空。#include stdio.hvoid main() int i,j;/*SPACE*/ for(i=0;【?】; i+) j=i*10+6;/*SPACE*/ if(【?】) continue; printf(%d ,j); 6.功能:下面程序的功能是用do-while语句求1至1000之间满足用3除余2;且用5除余3的数,且一行只打印五个数。#include main() int i=1,j=0; do/*SPACE*/ if(【?】) printf(%4d,i); j=j+1;/*SPACE*/ if(【?】) printf(n); i=i+1; while(i1000);7.题目:下列程序的功能为:输出100以内能被4整除且个位数为8的所有整数; 请填写适当的符号或语句,使程序实现其功能。#include main() int i,j;/*SPACE*/ for(i=0;【?】; i+) j=i*10+8;/*SPACE*/ if ( 【?】) /*SPACE*/ 【?】; printf(%d,j); 8.题目:计算100-1000之间有多少个数,其各位数字之和是5#includevoid main() int i,s,k,count=0; for(i=100;i1000;i+) s=0; k=i;/*SPACE*/ while(【?】) s=s+k%10;/*SPACE*/ k=【?】; if(s!=5)/*SPACE*/
下列给定程序中,函数fun()的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序;
include<stdio.h>
include <conio.h>
/*************found**************/
void fun(int a,b)
{ int t;
/*************found**************/
t=b;b=a;a=t;
}
main()
{ int a,b;
clrscr();
printf("Enter a, b: "); scanf("%d%d",
&a,&b);
fun(&a, &b);
printf("a=%d b=%d\n ", a,b);
}
(1)错误:void fun(int a,b) 正确:void fun(int *a,int *b) (2) 错误:t=b;b=a;a=t; 正确;t=*b;*b=*a;*a=t; 解析:本题考查指针变量做函数参数。采用一般变量做参数,不能改变实参的值,采用指针变量作为参数则能够改变实参的值。主函数中fun()的调用方式说明fun()函数的参数应当为指针类型。另外,值得一提的是“交换法则”,这题的错误比较明显,如果程序段中有隐蔽的交换错误,一般不容易发现,希望学习者引起注意。
下列程序的输出结果是( )。 #include<stdio.h> void p(int *x) { printf("%d",++*x); } void main() { int y=3; p(&y); }
A.3
B.4
C.2
D.5
解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。
以下程序的输出结果是( )。
include<stdio.h>
void fun(int x)
{ if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(3);printf("\n");
}
13 解析:函数fun是一个递归函数。执行fun(3);,x=3,x/2=1>0,又调用f(1),此时,x=1,x/2=0,不满足继续递归调用的条件,输出1,返回到fun(3)中,输出3。所以本题的输出结果为13。
请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。
例如,若输入15,5,则应输出16,18,20,21,22。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
void fun(int m,int k,int xx[])
{
}
main()
{
int m,n,zz[1000];
clrscr();
printf("\nPlease enter two integers:");
scanf("%d%d",&m,&n);
fun(m,n,zz);
for(m=0;m<n;m++)
printf("%d",zz[m]);
printf("\n");
}
void fun(int m, int k, int xx[]) { int i,j,n; for(i=m+1,n=0;nk;i++) /*找大于m的非素数,循环k次,即找出紧靠m的k个非素数*/ for(j=2;ji;j++) /*判断一个数是否为素数*/ if(i%j==0) { xx[n++]=i; /*如果不是素数,放入数组xx中*/ break; /*并跳出本层循环,判断下一个数*/ } } 解析:本题只要掌握了判断非素数和素数的算法即不难完成了,其实程序缺少部分也正是这部分。
请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为0时结束。
例如,输入1,2,3,5,4,0时,最大的数为5。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写出的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
define N 100
main()
{
int num[N];
int i=-1;
int max=0;
clrscr();
printf("\nInput integer number:\n");
do
{
i++;
printf("num[%d]=",i);
scanf("%d",【 】);
max=【 】num[i]:max;
}while (【 】);
printf("max=%dkn",max);
}
&num[i] maxnum[i]? num[i]!=0 解析:第一空:注意掌握标准输入函数scanf()的调用格式,输入参数列表中变量前面要使用求址运算符&。第二空:注意掌握条件表达式的用法,当输入的数比最大值大时,则认为此输入的数为最大值,否则最大值不变。第三空:题目要求输入的整数以0结束,所以,当输入的数不为0时,继续do—while循环,否则终止循环。
更多 “技能培训专题:系统测试题2” 相关考题
- 可以自由兑换其他国家货币的外汇称为现汇.
- 商业银行会计有何特点?
- 期望理论可以用( )来加以表述。A。结果=效价×期望 B。动机=效价×工具 C.动机=效价×期望×工具 D.结果=效价×期望×工具
- 租赁是资产的所有权与使用权相分离的交易.
- 非应计贷款是指贷款本金或利息逾期 90 天没有收回的贷款。
- 商业银行吸收企事业单位或人人的存款是现金存款。
- 论持久战一书发表于多少年。
- ( 难度:中等)关于hive的说法正确的是A.增加map和reduce数量可以提高计算速度,因此数量越多越好B.为了提高速度可以开启小文件本地化执行C.压缩可以减小文件体积,因此压缩率越大的算法越好D.每个查询被Hive转化为多个阶段,有些阶段关联性不大,则可以并行化执行,减少执行时间
- ( 难度:中等)以下哪种不是Hive支持的数据类型A.longB.xmlC.IntD.string
- 对贷款逾期期间不能按期归还的利息,按规定计收复利。