阅读程序写结果试题(第四第五章)(四)

合集下载

第五章循环程序设计(陈)

第五章循环程序设计(陈)

循环程序设计一、选择题1.程序段如下:则以下说法中正确的是:。

int k=5;do{k--;}while(k<=0);A. 循环执行 5 次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次2.设i 和x 都是int 类型,则for 循环语句。

for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A. 最多执行10 次B. 最多执行9 次C. 是无限循环D. 循环体一次也不执行3.下述for 循环语句。

int i,k;for(i=0,k=-1;k=1;i++,k++) printf("* * * *");A. 判断循环结束的条件非法B. 是无限循环C. 只循环一次D. 一次也不循环4.程序段如下:则以下说法中正确的是:。

int k=-20;while(k=0) k=k+1;A. while 循环执行20 次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次5.下列程序段执行后k 值为。

int k=0,i,j;for(i=0;i<5;i++)for(j=0;j<3;j++)k=k+1 ;A. 15B. 3C. 5D. 86.程序段如下:则以下说法中不正确的是:。

#include <stdio.h>int main(){int k=2;while(k<7){if(k%2) {k=k+3; printf( “k=%d\n”,k);continue;}k=k+1;printf( “k=%d\n”,k);}return 0;}A. k=k+3; 执行一次B. k=k+1; 执行2 次C. 执行后k 值为7D. 循环体只执行一次二、读程序写结果1.#include <stdio.h>int main(){ int num=0;while(num<=2){ num++; printf("%d\n",num);}return 0;}1232.#include <stdio.h>int main(){ int i=0,s=0;do{ s+=i*2+1; printf("i=%d,s=%d\n",i,s); i++;}while(s< 10);return 0;}3.#include <stdio.h>int main(){ int i,m=1;for(i=5;i>=1;i--){m=(m+1)*2;printf("m=%d\n",m);}return 0;}4.指出下面三个程序的功能,当输入为:"quert?" 时,它们的执行结果是什么?⑴#include <stdio.h>int main(){ char c;c=getchar();while (c!='?'){ putchar(c);c=getchar();}return 0;}quert⑵#include <stdio.h>int main(){ char c;while ((c=getchar())!='?') putchar(++c);return 0;}rvfsu5.#include <stdio.h>int main(){ int i;for(i=1;i<=5;i++){ if(i%2)putchar( ‘<’);elsecontinue;putchar( ‘>’);}putchar( ‘#’);return 0;}<><><>#6.#include <stdio.h>int main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>10) break;if(b%3==1){ b+=3; continue;}}printf("a=%d\n",a);return 0;}a=57.#include <stdio.h>int main(){int i=1;while (i<=15)if (++i%3!=2) continue;else printf("%d ",i);printf("\n");return 0;}2 5 8 11 148.#include <stdio.h>int main(){ int i,j;for(i=0;i<=3;i++){ for(j=0;j<=i;j++)printf("(%d,%d),",i,j);printf("\n");}return 0;}9.#include <stdio.h>int main(){int i,j,k;char space=' ';for (i=0;i<=5;i++){ for (j=1;j<=i;j++)printf("%c",space);for (k=0;k<=5;k++)printf("%c",'*');printf("\n");}return 0;}三、填空题1.break 语句只能用于语句和语句中。

阅读程序写结果

阅读程序写结果

初赛阅读程序写结果部分(共4题,每题8分,共计32分。

)注重培养学生的数学运算和归纳能力这类题型主要是读程序写结果。

解决这类问题的关键在于能够分析程序的结构以及程序段的功能。

常见的有列表法、画流程图法等。

完成这类题目的方法和步骤如下:(1)从头到尾通读程序,大致把握程序的算法、找出这个题目的即这个程序想干什么。

抓住了它,不仅得出答案变得较容易,而且对自己的结果也会比较有信心。

(2)通过给程序分段、理清程序的结构和层次,达到读懂程序的目的(3)阅读程序中特别注意跟踪主要变量的值的变化,可以用列表的方法,了解变量变化和程序的运行结果,注意发现规律。

所谓列表法,就是将各变量名作为表头,在程序的执行过程中,将各变量值的变化记录在相应变量的下方。

(4)按照程序中输出格式的要求,写出运行结果:(5)带着得到程序结果回到程序进行检查。

在阅读程序时,要特别注意过程、函数所完成的子任务以及和主程序之间的参数传递关系。

在阅读程序中,比较好的方法是首先阅读主程序,看其需要调用的过程或函数是什么,最后要求输出变量是什么;其次在阅读程序中,将较长的程序分成几个程序段(特别注意循环结构、判断结构),阅读理解各程序段的功能以及各程序之间的关联。

一、基础题(知识点包括:分支、循环、数组)重点掌握(mod 和div的应用)1、第九届普及组第1题var a,x,y,okl,ok2:integer;begina :=100;x:=l0;y:=20;okl:=5;ok2:=0;if ((x>y) or ((y<>20) and (okl=0)) and (ok2<>0)) thena:=1else if ((okl<>0) and (ok2=0)) thena:=-1elsea:=0;writeln(a);end.输出:。

2、第十届普及组第1题vara, b, c, d, e: integer;begina := 79;b := 34;c := 57;d := 0;e := -1;if (a<c) or (b>c) then d := d + eelse if (d + 10< e) then d := e + 10else d := e - a;writeln(d);end. 输出:。

阅读程序写结果

阅读程序写结果

阅读程序写结果题目:1、在窗体模块中编写以下Function 过程和窗体Click事件过程Private Function CommFun(n As Integer)As IntegerDim I As IntegerS=1For i=1 To ns=s*iNext iCommFun=sEnd FunctionPrivate Sub Form_Click()Dim Sum As IntegerDim K As Integersum=0For k=1To 3sum=sum+CommFun(k)Next kPrint sumEnd sub当程序运行时,在窗体中单击鼠标左键时,则程序的输出结果是。

答案:9权重:1难易度:1题目:2、在窗体模块中编写以下Sub过程和窗体Click事件过程Private Sub suba(x As Integer , y As Integer) Dim t As Integert=x: x=y: y=tEnd SubPrivate Sub Form_Click()Dim a As Integer,b As Integera=10:b=20Call suba(a,b)Print a;bCall suba(b,a)Print a;bEnd Sub当程序运行时,在窗体中单击左键时,则程序的输出结果是。

答案:20 101020权重:2难易度:1题目:3、在窗体模块中编写以下Function 过程和窗体Click事件过程Private Function funa(x As Integer) As Integer Static s As Integers=s+xfuna=funb(s)End FunctionPrivate Function funb(y As Integer)As Integer Static sum As Integer sum=sum+yfunb=sumEnd FunctionPrivate Sub Form_Click()Dim acc As Integer ,i As Integeracc=0For i=1 to 3acc=acc+funa(i)Next iPrint accEnd Sub当程序运行时,在窗体中单击左键时,则程序的输出结果是。

阅读程序写结果

阅读程序写结果
a[m-1]:=a[m-1]-1;
for j:=0 to m-1 do b[j]:=b[j]+1;
while ((m>1) and (a[m-1]=0)) do
begin m:=m-1; b[m]:=1; end;
end;
for i:= 0 to n-1 do
begin
write(w[i]); write(' ');
end;
writeln(' ');
end.
输入:9
4 6 6 6 6 8 9 9 9 9
输出:____________________
{四.阅读程序(2004年)}
1.program progam1;
var u:array [0..3] of integer;
a,b,c,x,y,z:integer;
1.var a,b,c,d,sum:longint;{四.阅读程序(2003年)}
begin
read(a,b,c,d);
a:=a mod 23; b:=b mod 28; c:=c mod 33;
sum:=a*5544+b*14421+c*1228-d;
sum:=sum+21252; sum:=sum mod 21252;
1. const n=7; m=6;{三、阅读程序,写出运行结果(2000年)}
var i,j,x0,y0,x1,y1,x2,y2:integer;
d:real; p:boolean; g:array[0..n,0..m] of 0..1;
function disp(x1,y1,x2,y2:integer):real;
begin

指针,阅读程序写出运行结果 练习 --

指针,阅读程序写出运行结果 练习 --

1. 请写出下面程序运行的结果。

答案:abcaba
2. 请写出下面程序运行的结果。

答案:9
请写出下面程序运行的结果。

请写出下面程序运行的结果。

请写出下面程序运行的结果。

请写出下面程序运行的结果。

答案:2 7
答案:9 7
答案:7 5
答案:8 3
请写出下面程序运行的结果。

答案:abcABC
答案:123ABC
答案:xyzABC
请写出下面程序运行的结果。

答案:456123
请写出下面程序运行的结果。

答案:abc123
请写出下面程序运行的结果。

答案:7
答案:6
输出结果2
输出结果4
输出结果: 2
输出结果:7
阅读程序,写出程序输出结果。

输出结果:7 -1
输出结果:xyabcABC
阅读程序,写出程序输出结果。

输出结果:abcdabcaba
阅读程序,写出程序输出结果。

输出结果:5 4 3 2 1
阅读程序,写出程序输出结果。

输出结果:7 6 5 3 1 2。

第十五届全国青少年信息学奥林匹克联赛初赛试题[汇编]

第十五届全国青少年信息学奥林匹克联赛初赛试题[汇编]

第十五届全国青少年信息学奥林匹克联赛初赛试题(提高组 C++语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共10题,每题 1.5分,共计15分。

每题有且仅有一个正确答案。

)1、关于图灵机下面的说法哪个是正确的:A)图灵机是世界上最早的电子计算机。

B)由于大量使用磁带操作,图灵机运行速度很慢。

C)图灵机只是一个理论上的计算模型。

D)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。

2、关于BIOS下面的说法哪个是正确的:A)BIOS是计算机基本输入输出系统软件的简称。

B)BIOS里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的驱动程序。

C)BIOS一般由操作系统厂商来开发完成。

D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。

3、已知大写字母A的ASCII编码为65(十进制),则大写字母J的十六进制ASCII编码为:A) 48 B) 49 C) 50 D) 以上都不是4、在字长为16位的系统环境下,一个16位带符号整数的二进制补码为1111111111101101。

其对应的十进制整数应该是:A)19 B) -19 C) 18 D) -185、一个包含n个分支结点(非叶结点)的非空满k叉树,k>=1,它的叶结点数目为:A) nk + 1 B) nk-1 C) (k+1)n-1 D. (k-1)n+16. 表达式a*(b+c)-d的后缀表达式是:A) abcd*+-B) abc+*d-C) abc*+d-D) -+*abcd7、最优前缀编码,也称Huffman编码。

这种编码组合的特点是对于较频繁使用的元素给与较短的唯一编码,以提高通讯的效率。

下面编码组合哪一组不是合法的前缀编码。

A)(00,01,10,11)B)(0,1,00,11)C)(0,10,110,111)D)(1,01,000,001)8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:A) 平均情况O(nlog2n),最坏情况O(n2)B) 平均情况O(n),最坏情况O(n2)C) 平均情况O(n),最坏情况O(nlog2n)D) 平均情况O(log2n),最坏情况O(n2)9、左图给出了一个加权无向图,从顶点V0开始用prim算法求最小生成树。

C语言程序设计阅读程序题库及答案(word文档良心出品)

C语言程序设计阅读程序题库及答案(word文档良心出品)

阅读程序题导读:学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。

读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。

如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。

程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。

习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习题。

【 2.1】以下程序的输出结果是。

main( ){ float a ;a=1/100000000;printf("%g" ,a);}A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0【2.2】下面程序的输出结果是_____ 。

#include <stdio.h>main( ) { int x=10 ;{ int x=20 ;printf ("%d ,", x);} printf("%d\n", x) ;}A) 10,20 B) 20,10 C) 10,10 D) 20,20【2.3】以下程序的输出结果是_____ 。

main(){ unsigned int n ;int i=-521 ;n=i;printf("n=%u\n",n) ;}A) n=-521 B) n=521 C) n=65015 D) n=1021701032.4】以下程序的输出结果是。

main( ){ int x=10, y=10 ;n", x ------- ,------------- ;y)}A) 10 10 B) 9 9 C) 9 10 D) 10 9【2.5】以下程序的输出结果是_ main(){ int n=1 ;printf("%d %d %d\n",n,n++,n--) ;}A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1【2.6】以下程序的输出结果是_ main(){ int x=0x02ff,y=0x0ff00 ;printf("%d\n",(x&y)>>4|0x005f) ;}A) 127 B) 255 C) 128 D) 1【2.7】以下程序的输出结果是_ main(){ int a=1 ;char c='a';float f=2.0 ;printf("%d\n",(!(a==0),f!=0&&c=='A')) ;} A) 0 B) 1【2.8】下面程序的输出结果是main(){ int a=1 ,i=a+1 ;do{ a++ ;}while( !~i++ > 3) ;printf("%d\n",a) ;}A) 1 B) 2 C) 3 D) 4【2.9】下面程序的输出结果是main(){ int a=111 ;a=a A00;printf("%d,%o\n",a,a) ;}A) 111,157 B) 0,0 C) 20,24 D) 7,7【2.10】下面程序的输出结果是_____ 。

阅读程序写结果试题(第四第五章)

阅读程序写结果试题(第四第五章)
case '-': r = x - y; break;
case '*': r = x * y; break;
case '/': r = x / y; break;
}
printf("%.1f", r);
return 0;
}
输入:3.5<回车>
运行结果:
8.#include "stdio.h"
void main( )
运行结果:
5.#include <stdio.h>
int main()
{
int a,b,c,m;
printf("Enter three integers:");
scanf("%d%d%d",&a,&b,&c);
if(a<=b)
m=a;
else
m=b;
if(c<m)
m=c;
printf("m=%d\n",m);
for(i = 1; i < 10; i++)
{
s += i * i;
case 1:printf("**1**");break;
case 2:printf("**2**");break;
}
return 0;
}
运行结果:
6. #include <stdio.h>
int main()
{ intx, y;
scanf("%d",&x);
y = x>12 ? x + 10 : x - 12;

基本阅读程序题及答案

基本阅读程序题及答案

基本输入输出7.#include <stdio.h>main(){ int a=1,b=2;a=a+b;b=a-b;a=a-b;printf(“a=%d,b=%d\n”,a,b);}运行结果为:a=2,b=113.#include <stdio.h>main( ){ int a=3, b=4;int z=a+b;printf(“z=%d\n”,z);}运行结果为:z=717.#include <stdio.h>main(){ int x, b0, b1, b2;printf("Please enter an integer x:");scanf("%d", &x);b2 = x / 100;b1 = (x - b2 * 100) / 10;b0 = x % 10;printf("bit0=%d, bit1=%d, bit2=%d\n", b0, b1, b2); }若输入352,运行结果为:bit0=2, bit1=5, bit2=3程序控制结构(顺序,分支,循环)1.#include <stdio.h>main(){ int a=1,b=3,c=5;if (c==a+b)printf("yes\n");elseprintf("no\n");}运行结果为:no2.#include <stdio.h>main(){ int a=12, b= -34, c=56, min=0; min=a;if(min>b)min=b;if(min>c)min=c;printf("min=%d", min);}运行结果为:min=-343.#include <stdio.h>main(){ int x=2,y= -1,z=5;if(x<y)if(y<0)z=0;elsez=z+1;printf(“%d\n”,z);}运行结果为:54.#include <stdio.h>main(){int a=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);}运行结果为:a=10 b=30 c=105.#include <stdio.h>main(){ float a,b,c,t;a=3;b=7;c=1;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c);}运行结果为:1.00,2.00, 7.006.#include <stdio.h>main(){int a=2;float num=3.12,x;if(num<4)x=2*num*a;printf("result is%f\n",x); }运行结果为:"result is12.48007.#include<stdio.h>main( ){ char c=‟A‟;if ((…0‟<=c ) &&(c<=‟9‟))printf(“YES”);elseprint f(“NO”);}运行结果为:NO8.#include < stdio .h > main ( ){ float c=3.0 , d=4.0;if ( c>d )c=5.0;elseif ( c==d )c=6.0;elsec=7.0;printf ( “%.1f\n”,c ) ;}运行结果为:7.09.#include <stdio.h>main(){ int a=0,b=1,c=0,d=20;if(a)d=d-10;elseif(!b)if(!c)d=15;else d=25;printf("d=%d\n",d);}运行结果为:d=2010.#include <stdio.h>main(){ int a=2,b=3,c=1;if (a>b)if (a>c)printf (“%d \n”,a);elseprintf (“%d \n”,c);printf (“over! \n”);}运行结果为:over!11.#include <stdio.h>main(){ int m;scanf("%d", &m);if (m >= 0){ if (m%2 == 0)printf("%d is a positive even\n", m);elseprintf("%d is a positive odd\n", m);}else{ if (m % 2 == 0)printf("%d is a negative even\n", m);elseprintf("%d is a negative odd\n", m);}}若键入-9,则运行结果为:-9 is a negative odd13.#include <stdio.h>main( ){ int x , y , z;x=20, y=40, z=60;while(x<y)x+=4, y=y-4;z/=2;printf(“%d,%d,%d”,x,y,z);}运行结果为:32,28,3014.#include <stdio.h>main(){ int num=0;while(num<=2){ num++;printf("%d\n",num);}}运行结果为:12315.#include <stdio.h>main(){ int n=9;while(n>6){n--;printf(“%d,”,n);}}运行结果为:8,7,616.#include <stdio.h>main( ){ int sum=10,n=1;while(n<3){sum=sum-n;n++;}printf(“%d,%d”,n,sum);}运行结果为:3,717.#include <stdio.h>main(){ int num,c;scanf("%d",&num);do{c=num%10;printf("%d",c);}while((num/=10)>0); printf("\n");}从键盘输入23,则运行结果为:3218#include <stdio.h>main(){ int s=0,a=5,n;scanf("%d",&n);do{ s+=1;a=a-2;}while(a!=n);printf("%d,%d\n",s,a);}若输入的值1,运行结果为:2,119.#include <stdio.h>main(){ int n1,n2;scanf(“%d”,&n2);while(n2!=0){ n1=n2%10;n2=n2/10;printf(“%d”,n1);}}若在运行时输入1298,运行结果为:892121.#include "stdio.h"main(){char c;c=getchar();while(c!='?'){putchar(c);c=getchar();}}如果从键盘输入abcde?fgh(回车)运行结果为:abcde22.#include <stdio.h>main(){ char c;while((c=getchar())!=‟$‟){ if(…A‟<=c&&c<=‘Z‟)putchar(c);else if(‘a’<=c&&c<=‘z’)putchar(c-32);}}当输入为ab*AB%cd#CD$时,运行结果为:ABABCDCD23.#include <stdio.h>main(){int i=0,s=0;do{ if(i%2){ i++;continue;}i++;s +=i;}while(i<7);printf("%d\n",s);}运行结果为:1624.#include <stdio.h>main(){int x=1, y =0;while(x<=10){ y+=x*x;if (y>=10)break;x++;}printf(“%d %d”,y,x);}运行结果为:14 325.#include <stdio.h>main(){ int x, y =0;for(x=1;x<=10;x++){ if(y>=10)break;y=y+x;}printf(“%d %d”,y,x);}运行结果为:10 526.#include<stdio.h>main( ){ char ch;ch=getchar( );switch(ch){ case …A‟ : printf(“%c”,‟A‟);case …B‟ : printf(“%c”,‟B‟); break;default: printf(“%s\n”,”other”);}}当从键盘输入字母A时,运行结果为:AB27.#include <stdio.h>main( ){ int a=1,b=0;scanf(“%d”,&a);switch(a){ case 1: b=1;break;case 2: b=2;break;default : b=10;}printf("%d ", b);}若键盘输入5,运行结果为:1028.#include <stdio.h>main( ){ int n=0;while(n<=3)switch(n){ case 0 : ;case 1 : printf(“%d,”,n);case 2 : printf(“%d,”,n); n=n+3; break;default: p rintf(“**”);n=n+1;;}}运行结果为:0,0,**29.#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1: switch(y){case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;}pri ntf(“a=%d, b=%d”,a,b);}运行结果为:a=2,b=130.#include <stdio.h>main()_{ char grade=‟C‟;switch(grade){ case …A‟: printf(“90-100\n”);case …B‟: printf(“80-90\n”);case …C‟: printf(“70-80\n”);case …D‟: printf(“60-70\n”); break;cas e …E‟: printf(“<60\n”);default : printf(“error!\n”);}}运行结果为:70-8060-7033.#include <stdio.h>main( ){ int sum=0;i=0;while(i<=100)sum=sum+i;printf(“i=%d\n”,i);printf(“sum=%d\n”,sum);}运行结果为:死循环,无结果34.#include <stdio.h>main(){ int i,sum=0;i=1;do{sum=sum+i;i++;}while(i<=10);printf(“%d”,sum);}运行结果为:5536.#include <stdio.h>main(){ int i;printf("\n");for(i=0;i<6;i++){ printf("%d",i);if (i%2==0)printf("\n");}}运行结果为:1234540.#include <stdio.h>main(){ int i, n, sum = 0, counter = 0;printf("Input 4 Numbers:\n");for (i = 0; i < 4; i++){scanf("%d", &n);if (n >= 0){ sum += n;counter++;}}printf("sum=%d,counter=%d\n", sum,counter); }若键入3 -5 7 -9运行结果为:sum=10,counter=241.#include <stdio.h>main(){ int y=9;for(;y>0;y- -)if(y%3==0){ printf(%d”,- -y);continue;}}运行结果为:85242.#include <stdio.h>main(){ int i=5;do { switch (i%2){ case 4: i- -; break;case 6: i- -; continue;}i- -;i- -;printf(“i=%d\n”,i);} while(i>0);}运行结果为:i=3i=1i=-143.#include <stdio.h>#define N 4main(){ int i;int x1=1,x2=2;printf("\n");for(i=1;i<=N;i++){ printf("%4d%4d",x1,x2);if(i%2==0)printf("\n");x1=x1+x2;x2=x2+x1;}}运行结果为:1 2 3 58 13 21 3445#include <stdio.h>main( ){ int x, y;for(x=30, y=0; x>=10, y<10; x--, y++) x/=2, y+=2;printf(“x=%d,y=%d\n”,x,y);}运行结果为:x=0,y=1246.#include <stdio.h>#define N 4main( ){ int i,j;for(i=1;i<=N;i++){ for(j=1;j<i;j++)printf(" ");printf("*");printf("\n");}}运行结果为:** * *函数1.#include <stdio.h>int Sub(int a, int b){return (a- b);}main(){int x, y, result = 0;scanf("%d,%d", &x,&y );result = Sub(x,y ) ;printf("result = %d\n",result);}当从键盘输入:6,3运行结果为:result =32.#include <stdio.h>int min( int x, int y ){ int m;if ( x> y )m = x;elsem = y;return(m);}main(){ int a=3,b=5,abmin ;abmin = min(a,b);printf(“min is %d”,abmin);}运行结果为:min is 55.#include<stdio.h>func(int x){x=10;printf(“%d, ”,x);}main( ){ int x=20;func(x);printf(“%d”, x);}运行结果为:10, 206.#include <stdio.h>int m=4;int func(int x,int y){int m=1;return(x*y-m);}main(){int a=2,b=3;printf("%d\n",m);printf("%d\n",func(a,b)/m); }运行结果为:417.#include <stdio.h>int fun(int a, int b){ if(a>b)return(a);elsereturn(b);}main(){ int x=15, y=8, r;r= fun(x,y);printf("r=%d\n", r);}运行结果为:r=158.#include <stdio.h>int fac(int n){ int f=1,i;for(i=1;i<=n;i++)f=f * i;return(f);}main(){ int j,s;scanf(“%d”,&j);s=fac(j);printf("%d!=%d\n",j,s);}如果从键盘输入3,运行结果为:3!=611.#include <stdio.h>unsigned fun6(unsigned num) { unsigned k=1;do{ k*=num%10;num/=10;}while(num);return k;}main(){ unsigned n=26;printf(“%d\n”,fun6(n));}运行结果为:1213#include <stdio.h>int max(int x, int y); main(){ int a,b,ca=7;b=8;c=max(a,b);printf("Max is %d",c); }max(int x, int y){ int z;z=x>y? x : y;return(z) ;}运行结果为:Max is 8数组1.#include <stdio.h>main(){ int i, a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8]); }运行结果为:8522.#include <stdio.h>main(){ int i,a[6];for (i=0; i<6; i++)a[i]=i;for (i=5; i>=0 ; i--)printf("%3d",a[i]);}运行结果为:5 4 3 2 1 03.#include <stdio.h>main( ){ int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}运行结果为:214.#include <stdio.h>int m[3][3]={{1},{2},{3}};int n[3][3]={1,2 ,3};main( ){ printf(“%d,”, m[1][0]+n[0][0]);printf(“%d\n”,m[0][1]+n[1][0]); }运行结果为:3,05.#include <stdio.h>main(){ int i;int x[3][3]={1,2,3,4,5,6,7,8,9};for (i=1; i<3; i++)printf("%d ",x[i][3-i]);}运行结果为:6 86.#include <stdio.h>main( ){ int n[3][3], i, j;for(i=0;i<3;i++ ){for(j=0;j<3;j++ ){n[i][j]=i+j;printf(“%d ”, n[i][j]);}printf(“\n”);}}运行结果为:0 1 21 2 32 3 48.#include <stdio.h>main(){char diamond[][5]={{…_‟,‟_‟,‟*‟},{…_…,‟*‟,‟_‟,‟*‟}, {…*‟,‟_‟,‟_…,‟_…,‟*‟},{…_‟,‟*‟,‟_‟,‟*‟},{…_‟,‟_‟,‟*‟}};int i,j;for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%c”,diamond[i][j]);printf(“\n”);}}注:“_”代表一个空格。

阅读程序写结果

阅读程序写结果

试题一:阅读程序写结果(共4题,每题8分,共计32分)1.V AR i,a,b,c,d:integer;f:array[0..3] of integer;BEGINfor i:=0 to 3 doread(f[i]);a:=f[0]+f[1]+f[2]+f[3];a:=a div f[0];b:=f[0]+f[2]+f[3];b:=b div a;c:=(b*f[1]+a) div f[2];d:=f[(b div c) mod 4];if (f[(a+b+c+d) mod 4]>f[2]) thenbegina:=a+b;writeln(a);end elsebeginc:=c+d;writeln(c);end;END.输入:9 19 29 39输出:__________________________2.procedure foo(a,b,c:integer);beginif a>b then foo(c,a,b)else writeln(a,',',b,',',c);end;vara,b,c:integer;beginread(a,b,c);foo(a,b,c);end.输入:3 1 2输出:_________________________3.type TT=array[0..20]of integer;prodecure func(var ary:TT;n:integer);var i,j,x:integer;begini:=0;j:=n-1;while i<j do beginwhile (i<j) and (ary>0) do inc(i);while (i<j) and (ary[j]<0) do dec(j);if i<j then begin x:=ary;ary:=ary[j];ary[j]:=x;inc(i);dec(j);end;end;end;vara:TT;i,m:integer;beginm:=10;for i:=0 to m-1 doread(a);func(a,m);for i:=1 to m-1 dowrite(a,' ');writeln;end.输入:5 4 -6 -11 6 -59 22 -6 1 10输出:___________________________________________4.procedure solve(first:string;spos_f,epos_f:integer;mid:string;spos_m,epos_m:integer); var i,root_m:integer;beginif spos_f > epos_f then exit;for i:=spos_m to epos_m doif first[spos_f]=mid[i] then beginroot_m:=i;break;end;solve(first,spos_f+1,spos_f+(root_m-spos_m),mid,spos_m,root_m-1);solve(first,spos_f+(root_m-spos_m)+1,epos_f,mid,root_m+1,epos_m);write(first[spos_f]);end;var first,mid:string;len:integer;beginreadln(len);readln(first);readln(mid);solve(first,1,len,mid,1,len);writeln;end.输入:7ABDCEGFBDAGECF输出:_________________________________试题二:阅读程序写结果(共4题,每题8分,共计32分)1vara, b: integer;function work(a, b: integer): integer;beginif a mod b <> 0 thenwork := work(b, a mod b)elsework := b;end;beginread(a, b);writeln(work(a, b));end.输入:20 12输出:_____2.vara, b: array[0..2] of integer;i, j, tmp: integer;beginfor i := 0 to 2 doread(b[i]);for i := 0 to 2 dobegina[i] := 0;for j := 0 to i dobegininc(a[i], b[j]);inc(b[a[i] mod 3], a[j]);end;end;tmp := 1;for i := 0 to 2 dobegina[i] := a[i] mod 10;b[i] := b[i] mod 10;tmp := tmp * (a[i] + b[i])end;writeln(tmp);end.输入:2 3 5输出:_______3.const c = 2009;varn, p, s, i, j, t: integer;beginread(n, p);s := 0;t := 1;for i := 1 to n dobegint := t * p mod c;for j := 1 to i dos := (s + t) mod c;end;writeln(s);end.输入:11 2输出:______4.vara: string;n: integer;procedure getnext(var str: string);varl, i, j, k: integer;temp: char;beginl := length(str);k := l - 1;while (k >= 1) and (str[k] > str[k + 1]) dodec(k);i := k + 1;while (i <= l) and (str[i] > str[k]) doinc(i);temp := str[k];str[k] := str[i - 1];str[i - 1] := temp;for i := l downto k + 1 dofor j := k + 1 to i - 1 doif str[j] > str[j + 1] thenbegintemp := str[j];str[j] := str[j + 1];str[j + 1] := temp;end;end;beginread(a);read(n);while n > 0 dobegingetnext(a);dec(n);end;write(a);end.输入:NOIP 3输出:_______试题三:阅读程序写结果(共4题,每题8分,共计32分)1.vara1,a2,a3,x:integer;procedure swap(var a,b:integer);vart:integer;begint:=a;a:=b;b:=t;end;beginreadln(a1,a2,a3);if a1>a2 thenswap(a1,a2);if a2>a3 thenswap(a2,a3);if a1>a2 thenswap(a1,a2);readln(x);if x<a2 thenif x<a1 thenwriteln(x,‘’,a1, ‘’, a3, ‘’,a3) elsewriteln(a1,‘’,x, ‘’, a2, ‘’,a3) elseif x<a3 thenwriteln(a1,‘’,a2, ‘’, x, ‘’,a3) elsewriteln(a1,‘’,a2, ‘’, a3, ‘’,x) end.输入91 2 2077输出:__________2.Varn,m,i:integer;function rSum(j:integer):integer;varsum:integer;beginsum:=0;while j<>0 dobeginsum:=sum*10+(j mod 10);j:=j div 10;end;rSum:=sum;end;beginreadln(n,m);for i:=n to m doif i=rSum(i)then write(I,’’);end.输入:90 120输出:__________3.vars:string;i:integer;m1,m2:char;beginreadln(s);m1:=’’;m2:=’’;for i:=1 to length(s) doif s[i]>m1 thenbeginm2:=m1;m1:=s[i];endelse if s[i]>m2 thenm2:=s[i];writeln(ord(m1),’’,ord(m2)); end.输入:Expo 2010 Shanghai China输出:提示:4.constnum = 5;varn: integer;function r(n : integer) : integer; vari : integer;beginif n <= num thenbeginr := n;exit;end;for i :=1 to num doif r(n-i) < 0 then beginr:=i;exit;end;r:=-1;end;beginreadln(n);writeln(r(n));end.(1)输入:7输出:__________(4分) (2)输入 16输出:__________(4分)。

NOIP(2021)第二十届全国青青年信息学奥林匹克联赛初赛(普及组试题及答案)

NOIP(2021)第二十届全国青青年信息学奥林匹克联赛初赛(普及组试题及答案)

第二十届全国青青年信息学奥林匹克联赛初赛(普及组 Pascal语言二小时完成)●●全数试题答案均要求写在答卷纸上,写在试卷纸上一概无效●●一.单项选择题(共20题,每题1.5分,共计30分。

每题有且仅有一个正确答案。

)一、以下哪个是面向对象的高级语言()。

A. 汇编语言B. C++C. FortranD. Basic二、1TB代表的字节数量是()。

A.2的10次方B. 2的20次方C. 2的30次方D. 2的40次方3、二进制数00100100和00010101的和是。

A.00101000B.001010100C.01000101D.001110014、以下哪一种设备属于输出设备()A.扫描仪B.键盘C.鼠标D.打印机五、以下对操作系统功能的描述最为完整的是()A.负责外设与主机之间的信息互换B.负责诊断机械的故障C.操纵和治理运算机系统的各类硬件和软件资源的利用D.将源程序编译成目标程序6.CPU、存储器、I/O设备是通过()连接起来的。

A. 接口B.总线C.操纵线D.系统文件7、断电后会丢失数据的存储器是()。

A.RAMB.ROMC.硬盘D.光盘八、以下哪一种是属于电子邮件收发的协议()。

A.SMTPB.UDPC.P2PD.FTP九、以下选项中不属于图像格式的是()A.JPG格式B. TXT格式C.GIF格式D.PNG格式10.链表不具有的特点是()A.没必要事前估量存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比11、以下各无符号十进制整数中,能用八位二进制表示的数中最大的是()。

A.296 B.133 C.256 D.19912.以下几个32位IP地址中,书写错误的选项是()。

A.162.105.130.27B.192.168.0.1C.256.256.129.1D.10.0.0.113.要求以下程序的功能是计算:s=1+1/2+1/3+……+1/10。

C语言 循环结构程序设计模拟题

C语言  循环结构程序设计模拟题

C语言循环结构程序设计模拟题-CAL-FENGHAI.-(YICAI)-Company One1第五章循环结构程序设计一、选择题1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。

(0级)A)0 B)1 C)成立 D)22.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。

(0级)A)0 B)1 C); D),3.for语句中的表达式可以部分或全部省略,但两个不可省略。

但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。

(0级)A)0 B)1 C); D),4.程序段如下int k=-20;while(k=0) k=k+1;则以下说法中正确的是。

(1级)A)while循环执行20次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次5.程序段如下int k=1;while(!k==0) {k=k+1;printf("%d\n",k);}说法正确的是。

(1级)A)while循环执行2次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次6.以下for循环是。

(1级)for(a=0,b=0;(b!=123)&&(a<=4);a++)A)无限循环 B)循环次数不定 C)执行4次 D)执行5次7.在下列程序中,while循环的循环次数是。

(1级)main( ){ int i=0;while(i<10){if(i<1) continue;if(i= =5) break;i++;}......}A)1 B)10 C)6 D)死循环、不能确定次数8.程序段如下int k=0; while(k++<=2) printf("%d\n",k);则执行结果是。

第八届全国青少年信息学奥林匹克联赛(NOIP2002)试题

第八届全国青少年信息学奥林匹克联赛(NOIP2002)试题

第1页第八届全国青少年信息学奥林匹克联赛(NOIP2002)试题(普及组PASCAL 语言二小时完成)全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效一.选择一个正确答案代码(A/B/C/D,填入每题的括号内(每题1.5分,多选无分,共30分) 1)微型计算机的问世是由于( ) 的出现。

A) 中小规模集成电路 B) 晶体管电路 C) (超)大规模集成电路 D) 电子管电路 2)下列说法中正确的是( ) 。

A) 计算机体积越大,其功能就越强 B) CPU 的主频越高,其运行速度越快C) 两个显示器屏幕大小相同,则它们的分辨率必定相同D)点阵打印机的针数越多,则能打印的汉字字体越多3)Windows98中,通过查找命令查找文件时,若输入F*.? , 则下列文件( ) 可以被查到。

A) F.BAS B) FABC.BAS C) F.C D) EF. 4)CPU 处理数据的基本单位是字,一个字的字长( ) 。

A) 为8个二进制位 B) 为16个二进制位 C) 为32个二进制位 D) 与芯片的型号有关5)资源管理器的目录前图标中增加"+"号,这个符号的意思是( ) 。

A) 该目录下的子目录已经展开 B) 该目录下还有子目录未展开 C) 该目录下没有子目录 D) 该目录为空目录, 6)下列哪一种程序设计语言是解释执行的( ) 。

A) Pascal B) GWBASIC C) C++ D) FORTRAN 7)启动WORD 的不正确方法是( ) 。

A) 单击Office 工具栏上的Word 图标 B) 单击"开始"→"程序"→WordC) 单击"开始"→"运行",并输入Word 按回车 D) 双击桌面上的"Word 快捷图标" 8)多媒体计算机是指( ) 计算机。

A) 专供家庭使用的 B) 装有CDROM 的C) 连接在网络上的高级 D) 具有处理文字、图形、声音、影像等信息的 9)在树型目录结构中,不允许两个文件名相同主要是指( ) 。

阅读程序写结果

阅读程序写结果

class A{ int var1=1; int var2;public static void main(String args[]){ int var3=3; A a=new A();System.out.println(a.var1+a.var2+var3);}}的运行结果是___4____;7、程序段String s= "Jessica "; char c=s.charAt(6); 运行后c的值是_____a_____;8、程序段int i=1; int j=i++; if((i>++j)&&(i++==j)) i+=j; 运行后i的值是______2____;9、如下Java程序段char c=‟a‟;switch (c){ case …a‟: System.out.println("Java");default: System.out.println(" Welcome");}的运行结果是____JavaWelcome______;10、Java的字符类型采用的是Unicode编码方案,每个字符的Unicode码占用___16____Bit;11、如果一个抽象类中的所有方法都是抽象的,就可以用另一种方式___接口____来定义;1、class MathTest {public static void main(String[] args) {for(int i=0; ① ;i++) { i<=4for(int j=0; ② ;j++) j<9-2*iSystem.out.print(" ");for(int k=0; ③;k++) k<9-2*iSystem.out.print("*");System.out.println();}}}*************************2、写出下列程序的运行结果。

NOIP初赛练习之三(阅读程序写出程序运行结果)

NOIP初赛练习之三(阅读程序写出程序运行结果)

NOIP初赛练习之三(阅读程序写出程序运行结果)前言:如何做阅读程序题阅读程序题是得分的关键,因为不是让你上机去运行程序,所以要一步步地读程序,记录相关变量的值,最好以画表的形式来记录相关变量值的变化情况。

因为程序的运行结果只有输出语句才有输出,所以只写出输出语句的结果。

有时要找出规律才能写出结果,特别是循环次数多的情况,另外要注意边界值,不能多算一步也不能少算一步。

这几年的初赛题一般是四道阅读程序题,每道题8分总分为32,因此阅读程序题最能拉开分差。

{1.1996年初中组基础题第4题}{写出程序运行后变量X的值}x1:=3;x2:=8;for i:=1 to 5 dobeginx:=(x1+x2)*2; x1:=x2;x2:=x;end;writeln('x=',x);{2.1996年初中组第5题高中组第3题}{写出程序段运行后数组元素a1,a2...,a11的值} a[1]:=1;a[2]:=1;k:=1;repeata[k+2]:=1;for i:=k downto 2 do a[i]:=a[i]+a[i-1];k:=k+1;until k>=10;{3.1998年写程序运行结果初中组第1题高中组第1题}program exp1(input,output);var i,s,nax:integer;a:array[1..10] of integer;beginfor i:=1 to 10 do read(a[i]);max:=a[1];s:=a[1];for i:=2 to 10 dobeginif s<0 then s:=0;s:=s+a[i];if s>max then max:=s;end;writeln('max=',max);end.{初中输入:-2 13 -1 4 7 8 -1 -18 24 6}{ 输出:max= }{高中输入:8 9 -1 24 6 5 11 15 -28 9}{ 输出:max= }{4.1998年初中组写程序运行结果第2题}program exp2(input,output};const n=5;var i,j,k:integer;a:array[1..2*n,1..2*n] of integer;begink:=1;for i:=1 to 2*n-1 doif i<=n thenif odd(i) thenfor j:=i downto 1 dobegin a[i-j+1,j]:=k;k:=k+1 endelsefor j:=1 to i do begin a[i-j+1,j]:=k;k:=k+1; endelseif odd(i) thenfor j:=n downto i-n+1 do begin a[i-j+1,j]:=k;k:=k+1 end elsefor j:=i-n+1 to n do begin a[i-j+1,j]:=k;k:=k+1; end; for i:=1 to n dobegin for j:=1 to n do write(a[i,j]:3); writeln; end; end.{5.1998年初中组写程序运行结果第3题高中组第2题}program exp3(input,output);const n=10;var s,i:integer;function co(i:integer):integer;var j1,s1:integer;begins1:=n;for j1:=(n-1) downto (n-i+1) do s1:=s1*j1 div (n-j1+1);co:=s1;end;begins:=n+1;for i:=2 to n do s:=s+co(i);writeln('s=',s);end.{6.1998年初中组写程序运行结果第4题}program exp4(input,output);const n=3;var i,j,s,x:integer;p:array[0..n+1] of integer;g:array[0..100] of integer;beginfor i:=0 to 100 do g[i]:=0;p[0]:=0;p[n+1]:=100;for i:=1 to n do read(p[i]); readln;for i:=0 to n dofor j:=i+1 to n+1 dog[abs(p[j]-p[i])]:=g[abs(p[j]-p[i])]+1;s:=0;for i:=0 to 100 doif g[i]>0 then begin write(i:4);s:=s+1; end; writeln;writeln('s=',s);writeln('input data:');readln(x);writeln(g[x]);end.{ 输入: 10 20 65}{ input data: 10}{输出: }{7.1998年高中组第3题}program exp3(input,output);var i,j:integer;b:array[0..5] of integer;begins:=1;for i:=1 to 5 fo b[i]:=i;j:=1;while j>0 dobeginj:=5;while (j>0) and (b[j]=10+j-5) do j:=j-1;if j>0 thenbegins:=s+1;b[j]:=b[j]+1;for i:=j+1 to 5 do b[i]:=b[j]+i-jend;end;writeln('s=',s);end.{8 1998年高中组第4题}program exp4(input, output);const n=4;type se=array[1..n*2] of char;var i,j,i1,j1,k,s,t,s1,l,swap:integer;temp:char; a:se;beginfor i:=1 to n*2 do read(a[i]);readln;s:=0;t:=0;for i:=1 to n*2 doif a[i]='1' then s:=s+1 else if a[i]='0' then t=t+1;if s<>n or t<>n then writeln('error')else begins1:=0;for i:=1 to 2*n-1 do if a[i]<>a[i+1] then s1:=s1+1;writeln('jamp=',s1); swap:=0;for i:=1 to 2*n-1 dofor j:=i+1 to 2*n doif a[i]<>a[j] thenbegintemp:=a[i];a[i]:=a[j];a[j]:=temp;s:=0;for l:=1 to 2*n-1 do if a[l]<>a[l]+1 then s:=s+1;if s>swap then begin swap:=s;i1=i;j1:=j end;temp:=a[i];a[i]:=aj]:a[j]:=temp;end;if swap>0 then writeln('maxswap=',swap-s1,'i=',i1,'j1=',j1); endend.{输入:10101100}{9. 1999年初中组第1题}program exp1;var x,y,y1,jk,j1,gme:integer;a:array [1..20] of 0..9;beginx:=3465;y:=264;jk:=20;for j1:=1 to 20 do a[j1]:=0;while y<>0 dobeginy1:=y mod 10; y:=y div 10;while y1<>0 dobeging:=x;for e:=jk downto 1 dobeging:=g+a[e]; a[e]:=g mod 10; g:=g div 10;end;y1:=y1-1;end;jk:=jk-1;end;j1=1;while a[j1]=0 do j1:=j1+1;for jk:=j1 to 20 do write(a[jk]:4);writelnend.{10.1999年初中组第2题}program excp1;var i,j:integer;a:array[1..14] of integer;procedure sw(i1,j1:integer);var k1:integer;beginfor k1:=1 to (j1-i1+1) div 2 dobegina[i1+k1-1]:=a[i1+k1-1]+a[j1-k1+1];a[j1-k1+1]:=a[i1+k1-1]-a[j1-k1+1];a[i1+k1-1]:=a[i1+k1-1]-a[j1-k1+1];end;end;beginj:=211;for i:=1 to 14 do begin a[i]:=i;j:=j-i; end;sw(1,4);sw(5,10);sw(11,14);sw(1,14);for i:=1 to 14 dobeginif j mod i=1 then write(a[i]:3);j:=j-a[i];end;writelnend.{11. 1999年高中组第2题}设数组a[1],a[2],……a[N],已存放了数据,调用不同的排序程序,则数据比较的次数会不同。

读程序写结果训练题

读程序写结果训练题

读程序写结果练习题program yd;var d, p: integer;beginp:=1;d:=11;while d>1 dobeginp:=2*(p+1);d:=d-1end;writeln (p)end.输出:______第2题(6分)program yd;varg,m: integer;k,t: real;begink:=0; g:=0;for m:=1 to 49 dobeging:=g+1;k:=k+1/(g*(g+1))end;writeln ( k: 10: 2 )end.输出:______第3题(6分)program yd;varn, i, t: longint;tem: integer;s: string;beginwrite('Input n: '); readln(n);s:='1';repeati:= length(s);while s[i] ='1' dobegins[i]:= '0' ;dec(i);end;if i>0 then s[i]:='1'else s:= '1' +s;val(s,t,tem);until t mod n = 0;writeln(n,'*',t div n,'=',s);end.输入:6输出:______第4题(6分)program yd;const n = 5;vari,j,m,s:integer;beginm:=0;for i:=1 to n dobeginm:=m+i;s:=m;for j:=1 to 2*i do write(''); {''中间是一个空格} for j:=1 to n dobeginwrite(s mod 10:2);s:=s+j;end;writeln;end;end.输出:______第5题(7分)program yd;vara:array[0..8] of char;i: integer;beginfor i:= 1 to 8 do a[i]:=char(i * 2 +ord('A'));for i:= 1 to 4 do begina[0]:=a[i];a[i]:=a[9-i];a[9-i]:=a[0];end;for i:= 1 to 8 do write(a[i]);writeln;end.输出:______第6题(7分)Program yd;varn, i, x: integer;d:array[0..10] of integer;beginreadln(n);fori:=1 to n dobeginread(x);d[x]:=d[x] +1;end;d[0]:=0;for i:=1 to 10 do d[i]:=d[i-1]+d[i];for i:=1 to 10 doif d[i] < > d[i-1] then writeln(i:3,d[i-1]+1:4); end.输入:203 4 6 1 7 6 9 4 10 76 6 3 3 87 9 10 6 7输出:_______第7题(7分)program yd;vara,b:array[1..32] of integer;i: integer;procedure ssort( i ,j: integer);varm, k, x: integer;beginif j-i>1 thenbeginm:=(i+j) div 2;ssort(i,m);ssort(m+1,j);k:=i;for x:=i to m dobeginb[k]:=a[x]; b[k+1]:=a[m+x-i+1];k:=k+2;end;for x:=i to j do a[x]:=b[x];end;end;beginfor i:=1 to 16 do a[i]:=i;ssort(1,16);for i:= 1 to 16 do write(a[i]:3);writeln;end.输出:______第8题(6分)program yd;vara,d:array[1..100] of integer;n ,i ,j ,k,x ,s :integer;beginn:=5;a[1]:=1;d[1]:=1;for i:=1 to n dobegins:=i+1;x:=0;for j:=1 to n+1-i dobegink:=s+x;x:=x+1;a[j+1]:=a[j]+k;write(a[j],' ');end;writeln('...');d[i+1]:=d[i]+i;a[1]:=d[i+1];end;end.输出:_________第9题(7分)program yd;constd: array [0..3,1..4] of integer=((4,7,10,13),(1,8,11,14),(2,5,12,15),(3,6,9,16)); vari ,j ,a,x,k ,bj :integer;y,u,v:real;beginfor i:=1 to 4 dobegina:=3-i;bj:=0;for j:=0 to 3 dofor k:=1 to 4 dobeginx:=d[j,k];u:=(x+a)/4;v:=(x+trunc(u))/4; y:=4*(v-trunc(v));if y< >j then begin k:=4;j:=3;bj:=1;end; end;if bj=0 thenbeginwrite('U = (X');if a>0 then write('+');writeln(a,')/4');end;end;end.输出:_________第11题(7分)program yd;var m,n,i,p,k:integer;r:array[1..200] of integer;b: boolean;beginm:=6;n:=2;for i:=1 to m-1 do r[i]:=i+1;r[m]:=1;i:=0;p:=1;b:=true;while b dobegini:=i+1;k:=p;p:=r[p];if k=p then begin writeln(p) ;b:=false end else if i=n+1 thenbeginwrite(p,' ');i:=0;p:=r[p];r[k]:=p; endendend.输出:________第12题(7分)program yd;var n,k,s:longint;beginn:=1000000000;k:=0;s:=1;while s <= n dobegink:=k+1;n:=n-s;s:=s+6*kend;writeln (k)end.输出:_______第13题(7分)program yd;consta: array[1..14] of longint=(94,32,40,90,99,80,46,21,69,28,64,73,85,54); vari, j, k, m,left, right, temp: longint;beginm:=8;left:= 1;right:= 14;while left < right dobegink:=a[m];i:=left;j:=right;repeatwhile k < a[j] do j:=j-1;while k > a[i] do i:=i+1;if i <= j thenbegintemp:=a[i];a[i]:=a[j];a[j]:=temp;i:=i+1;j:=j -1enduntil i > j;if j < m then left:=i;if i > m then right:=jend;writeln(a[m])end.输出:_______第14题(7分)program yd;varm ,n,s: longint;procedure pl(n: longint);beginif n< >0 thenbeginpl(n div 2);s:=(s*2+n mod 2 *m) mod 1023endend;beginm:=2002;n:=5871;s:=0;pl(n);writeln(s);end.输出:_______第15题(7分)6 program yd;constmaxn =10000;vari,j,k ,n,r,p,g:longint;a:array [1..maxn] of longint;function gcd(m, n: longint): longint;var r: longint;beginwhile n< >0 dobeginr:=m mod n;m:=n;n:=rend;gcd:=mend;beginn:= 1000;r:=202;for i:=1 to n-r do a[i]:=n-i+1;for i:=2 to r dobegink:=i;for j:=1 to n-r doif gcd(k,a[j]) > 1 thenbeging:= gcd(k,a[j]);k:=k div g;a[j]:=a[j] div g;if k = 1 then breakendend;p:= 1 ;g:=0;for i:=1 to n-r dobeginp:=p*a[i];while p mod 5 = 0 dobeginp:=p div 5;g:=g+1end;p:= p mod 5end;writeln(g)end.输出:________。

阅读程序分析结果(第5章)

阅读程序分析结果(第5章)

阅读程序分析结果#include <iostream.h>class TDate{public:void SetDate(int y,int m,int d);void Print();private:int year,month,day;};void TDate::SetDate(int y,int m,int d){year=y;month=m;day=d;}void TDate::Print(){cout<<year<<"."<<month<<"."<<day<<endl; }void main(){TDate date1,date2;date1.SetDate(2008,2,26);date2.SetDate(2001,5,19);date1.Print();#include<iostream.h>class Sample{int x,y;public:void Sample1() {x=y=0;}void Sample1(int a,int b){x=a;y=b;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;} };void main(){Sample s1,s2;s1.Sample1();s2.Sample1(1,2);s1.disp();s2.disp();}#include<iostream.h>class point{private:int x,y;public:void setpoint(int xx, int yy){ x=xx; y=yy;}int getx(){ return x; }int gety(){ return y; }};void main(){point op1,op2;int i,j;op1.setpoint(1,2);op2.setpoint(3,4);i=op1.getx();j=op1.gety();cout<<"op1i="<<i<<",op1j="<<j<<endl;i=op2.getx();j=op2.gety();cout<<"op2i="<<i<<",op2j="<<j<<endl;}#include<iostream.h>#include"tdate.h"void main(){TDate date1,date2;date1.SetDate(1996,5,4);date2.SetDate(1979,6,6);int leap=date1.IsleapYear();cout<<leap<<endl;date1.Print();date2.Print();}class TDate{public:void SetDate(int y,int m,int d);int IsleapYear();void Print();private:int year,month,day;};void TDate::SetDate (int y,int m,int d){year=y;month=m;day=d;}int TDate::IsleapYear(){return(year%4==0&&year%100!=0)||(year%4 00==0);}void TDate::Print(){cout<<year<<"."<<month<<"."<<day<< endl;}#include<iostream.h>class pair{char c1,c2;public:void set(char b){c1=1+(c2=b);}void print(){cout<<c1;}};void main(){pair a,b;a.set('A');b.set('B');a.print();b.print();}#include<iostream.h>class Local{int X;public:void ini(int x){X=x;}int val(){return X;}};void main(){Local ss[10];int i=0,s=0;for(i=0;i<10;i++)ss[i].ini(i);for(i=0;i<10;i++)s+=ss[i].val();cout<<s;}#include<iostream.h>class TDate1{public:TDate1(int y,int m,int d);~TDate1();void print();private:int year,month,day;};TDate1::TDate1(int y,int m,int d) {year=y;month=m;day=d;cout<<"Constructor called.\n";}TDate1::~TDate1(){cout<<"Destructor called.\n";}void TDate1::print(){cout<<year<<"."<<month<<"."<<da y<<endl;}void main(){TDate1today(1998,4,9),tomorrow(1998,4,10);cout<<"today is";today.print();cout<<"tomorrow is";tomorrow.print();}程序八#include<iostream.h>class S{int x;public:S(){x=0;}S(int a){x=++a;}voidshow(){cout<<"x="<<x<<endl;}};void main(){S s1(100);s1.show();}程序九#include<iostream.h>class point{public:point(){x=10;y=20;}voidoutput(){cout<<x<<endl<<y<<endl;}private:int x,y;};void main(){ point pt;pt.output();}程序十#include<iostream.h>#include<string.h>class MyClass{int no;char *pname;public:MyClass(int n,char *p){ no=n;pname=new char[10];strcpy(pname,p);}void display(){cout<<"no:"<<no<<",name:"<<pna me<<endl;}};void main(){MyClass s(10,"mary");s.display();}程序11#include<iostream.h>class S{int x,y;public:S( ){x=y=0;}S(int a,int b){x=a;y=b;}~S( ){if(x==y)cout<<"x=y"<<endl;elsecout<<"x!=y"<<endl;}};void main(){S s1(2,3);}程序12#include<iostream.h>class Sample{public:int x,y;Sample(int a){x=a;}Sample(int a,int b){x=a;y=b;cout<<x<<endl;}~Sample(){cout<<"delete"<<endl;} };void main(){Sample s1(5);s1.~Sample();}程序13#include<iostream.h>class Tpoint{int x,y;public:Tpoint(int a,int b){x=a;y=b; cout<<"调用构造函数"<<endl;}~Tpoint(){cout<<"调用析构函数"<<endl;}void display(){cout<<x<<","<<y<<endl;}};void main(){Tpoint a(12,6),*p=new Tpoint(5,8);a.display();p->display();delete p;}程序14#include<iostream.h>class S{int x;public:S(int a){x=a;}S(S &a){x=a.x+1;}voidshow(){cout<<"x="<<x<<endl;}};void main(){S s1(2),s2(s1);s2.show();}程序15#include<iostream.h>class TPoint{public:TPoint(int x,int y) {X=x;Y=y;}TPoint(TPoint &p);~TPoint() {cout<<"Destructor called."<<endl;}int Xcoord() {return X;}int Ycoord() {return Y;}private:int X,Y;};TPoint::TPoint(TPoint &p){X=p.X;Y=p.Y;cout<<"Copy_initialization Constructor called.\n";}TPoint f(TPoint Q);void main(){TPoint M(20,35),P(0,0);TPoint N(M);P=f(N);cout<<"P="<<P.Xcoord()<<", "<<P.Ycoord()<<endl;}TPoint f(TPoint Q){cout<<"OK! "<<endl;int x,y;x=Q.Xcoord()+10;y=Q.Ycoord()+20;TPoint R(x,y);return R;}程序18#include<iostream.h>class N{public:N(int a=3,int b=5,int c=7);int Aout(){return A;}int Bout(){return B;}int CouT(){return C;}private:int A,B,C;};N::N(int a,int b,int c){A=a;B=b;C=c;}void main(){N X,Y(9,11),Z(13,15,17);cout<<"X="<<X.Aout()<<","<<X.Bout ()<<","<<X.CouT()<<endl;cout<<"Y="<<Y.Aout()<<","<<Y.Bout ()<<","<<Y.CouT()<<endl;cout<<"Z="<<Z.Aout()<<","<<Z.Bout ()<<","<<Z.CouT()<<endl;}程序19#include<iostream.h>class one{int a;static int b;public:one(int x){a=x;b+=a;}void show(){cout<<b<<"\n";}};int one::b=10;void main(){one e(20);e.show();one e1(300);one e2(5);e.show();}程序20#include<iostream.h>class M{public:M(int a) {A=a;B+=a;}static void f1(M m);private:int A;static int B;};void M::f1(M m){cout<<"A="<<m.A<<endl;cout<<"B="<<B<<endl;}int M::B=0;void main(){M P(5),Q(10);P.f1(P);//注意调用格式M::f1(Q);}程序21#include <iostream.h>class A{int i;public:static int count;A(int a=0){i=a+count;count++;cout<<count<<'\t'<<i<<'\n';}};int A::count=0;void main(){A a(100);A b;A c(200);cout<<b.count<<'\n';}程序22#include <iostream.h>#include <math.h>class Point{public:Point(double xx,double yy){x=xx;y=yy;}void Getxy();friend double Distance(Point &a,Point &b);private:double x,y;};void Point::Getxy(){cout<<"("<<x<<","<<y<<")"<<endl;}double Distance(Point &a,Point &b){double dx=a.x-b.x;double dy=a.y-b.y;return sqrt(dx*dx+dy*dy);}void main(){Point p1(3.0,4.0),p2(6.0,8.0);p1.Getxy();p2.Getxy();double d=Distance(p1,p2);cout<<"Distance is "<<d<<endl;}程序23#include <iostream.h>class Time{public:Time(int new_hours,int new_minutes){ hours=new_hours; minutes=new_minutes;}friend void Time12(Time time);friend void Time24(Time time);private:int hours,minutes;};void Time12(Time time){if(time.hours>12){time.hours-=12;cout<<time.hours<<":"<<time.minutes< <" PM"<<endl;}elsecout<<time.hours<<":"<<time.minutes<<" AM"<<endl;}void Time24(Time time){cout<<time.hours<<":"<<time.minutes<<endl ;}void main(){Time Time1(20,30),Time2(10,45);Time12(Time1);Time24(Time1);Time12(Time2);Time24(Time2);}程序24#include<iostream.h>class A{int n;public:A(){n=5;}friend class B;};class B{public:void display(A temp){cout<<"n="<<temp.n<<endl;}};void main(){A a;B b;b.display(a);}程序25#include<iostream.h>#include<string.h>void fun(int n,char na[]){class B{int no;char name[10];public:B(int n,char na[]){no=n;strcpy(name,na);}void dispb(){cout<<"no:"<<no<<",name:"<<name<<endl;}};B b(n,na);b.dispb();}void main(){fun(2,"mary");}程序26#include<iostream.h>#include<string.h>class A{public:A(char *st);~A();private:char string[50];};A::A(char *st){strcpy(string ,st);cout<<"constructor called for"<<string <<endl;}A::~A(){cout<<"Destructor called for"<<string<<endl;}void fun(){A FunObject("FunObject");static A staticObject("StaticObject");cout<<"in fun()."<<endl;}A GlobalObject("GlobalObject");void main(){A MainObject("MainObject");cout<<"in main(), before called fun\n";fun();cout<<"in main(),after called fun\n";}。

Access阅读程序写出结果课堂练习题

Access阅读程序写出结果课堂练习题

阅读程序写出结果课堂练习题1.执行下面程序,写出结果S=0For n=1 to 15If int(n/3)=n/3 thenS=s+nEndifNextDebug.print s,n2.x=65y=space(0)if int(sqr(x))=sqr(x) thenx=x+1y=chr(x)elsex=x+2y=chr(x)endifdebug.print x,y程序运行结束时,x的值是____ ,y的值是_______。

3.s=0p=1j=1do while j<=10if j mod 3=0 thenp=p*jelses=s+pendifj=j+1loopdebug.print j,s4.在窗体上画一个命令按钮(名称为command1)和一个文本框(名称为text1),然后编写如下事件过程:Private sub command1_click()Me.text1.setfocusX=val(text1.text) ‘text属性表示文本框获得焦点后的值,等同于value属性Select case xCase 1,3Y=x*xCase is>=10,is<=-10Y=xCase -10 to 10Y= -xEnd selectEnd sub在文本框输入3,然后单击命令按钮,变量y的值变为______。

5.在窗体中添加一个命令按钮(command1),和一个文本框(text1),然后编写如下实践过程:Private sub command1_click()Dim a as integer, b as integer , c as integerA=5:b=10:c=0Me.text1=””Call p1(a,b,c)Me.text1=cEnd subSub p1(x as integer , y as integer, z as integer) Z=x+yEnd sub打开窗体运行后,单击命令按钮,文本框中显示的内容是___。

NOIP阅读读程序写结果模拟试题

NOIP阅读读程序写结果模拟试题

1、程序PROGRAM EX1;VAR n,i,j,k:integer;BEGINwrite('Enter n : '); readln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i>=j then k:=j else k:=i;write(k:4)end;writelnendEND.Enter n : 7输出:1 1 1 1 1 1 11 2 2 2 2 2 21 2 3 3 3 3 31 2 3 4 4 4 41 2 3 4 5 5 51 2 3 4 5 6 61 2 3 4 5 6 72、程序PROGRAM EX2;VAR n,i,j,k,mi,ma:integer;BEGINwrite('Enter n :'); readln(n);for i:=1 to n dobeginif i>=n+1-i then ma:=i else ma:=n+1-i; mi:=n+1-ma;k:=1;for j:=1 to n dobeginwrite(k:4);if j<mi then k:=k+1else if j>=ma then k:=k-1;end;writelnendEND.Enter n : 7输出:1 1 1 1 1 1 11 2 2 2 2 2 11 2 3 3 3 2 11 2 3 4 3 2 11 2 3 3 3 2 11 2 2 2 2 2 11 1 1 1 1 1 13、程序PROGRAM EX3;VAR n,i,j,r,c,k,m:integer;BEGINwrite('Enter n : '); readln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i+j<=n+1 then k:=(i+j-2)*(i+j-1) div 2+i elsebeginr:=n+1-i; c:=n+1-j;k:=n*n+1-(r+c-2)*(r+c-1) div 2-rend;write(k:4)end;writelnendEND.Enter n : 7输出:1 2 4 7 11 16 223 5 8 12 17 23 296 9 13 18 24 30 3510 14 19 25 31 36 4015 20 26 32 37 41 4421 27 33 38 42 45 4728 34 39 43 46 48 494、程序PROGRAM EX4;VAR a:array[1..20,1..20]of integer;n,i,j,r,c,k:integer;BEGINwrite('Enter n : '); readln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i+j<=n+1 then k:=(i+j-2)*(i+j-1)div 2+(i+j)mod 2*i+(i+j-1)mod 2*j elsebegin r:=n+1-i; c:=n+1-j;k:=n*n+1-(r+c-2)*(r+c-1)div 2-(r+c)mod 2*r-(r+c-1)mod 2*c;end;write(k:4);end;writelnendEND.Enter n : 6输出:1 2 6 7 15 163 5 8 14 17 264 9 13 18 25 2710 12 19 24 28 3311 20 23 29 32 3421 22 30 31 35 365、程序PROGRAM EX5;VAR n,i,j,k,c,s,d:integer;BEGINwrite('Enter n : '); readln(n);for i:=1 to n dobeginfor j:=1 to n dobeginif i>j then k:=i*i+1-j else k:=j*j+1+i-j-j;write(k:3)end;writelnendEND.Enter n : 8输出:1 2 5 10 17 26 37 504 3 6 11 18 27 38 519 8 7 12 19 28 39 5216 15 14 13 20 29 40 5325 24 23 22 21 30 41 5436 35 34 33 32 31 42 5549 48 47 46 45 44 43 5664 63 62 61 60 59 58 576、程序PROGRAM EX6;VAR n,i,j,k,r,c,ma:integer;BEGINwrite('Enter n : '); readln(n);for r:=1 to n dobeginfor c:=1 to n dobegini:=r;j:=c;if r>c then ma:=r else ma:=c;if ma mod 2=1 then begin i:=c;j:=r end;if i>j then k:=i*i+1-j else k:=j*j+1+i-j-j; write(k:3)end;writelnendEND.Enter n : 8输出:1 2 9 10 25 26 49 504 3 8 11 24 27 48 515 6 7 12 23 28 47 5216 15 14 13 22 29 46 5317 18 19 20 21 30 45 5436 35 34 33 32 31 44 5537 38 39 40 41 42 43 5664 63 62 61 60 59 58 577、程序PROGRAM EX7;VARq,r:array[0..100]of integer;m,n,i,j,k:integer;BEGINfor i:=0 to 100 do q[i]:=-1;write('m,n : '); readln(m,n);write(m,'/',n,' = ',m div n,'.');k:=m mod n;i:=0;while q[k]=-1 dobeginq[k]:=i;r[i]:=k*10 div n;k:=k*10 mod n;i:=i+1;end;for j:=0 to q[k]-1 do write(r[j]);if k>0 thenbeginwrite(char(39));for j:=q[k] to i-1 do write(r[j]);write(char(39));end;writelnEND.输入:m,n : 123 15m,n : 3 7m,n : 100 12m,n : 1000 71分别输出:123/15 = 8.23/7 = 0.'428571'100/12 = 8.'3'1000/71 = 14.'08450704225352112676056338028169014'8、程序PROGRAM EX8;CONST x=3;VARy,m,d,day:integer;mn:array[0..6]of string[8];BEGINmn[0]:='Sunday';mn[1]:='Monday';mn[2]:='Tuesday';mn[3]:='Wensday';mn[4]:='Thursday';mn[5]:='Friday';mn[6]:='Saturday';write('year,month,day : ');readln(y,m,d);write(y:4,'.',m,'.',d,' is ');if m<3 then begin m:=m+12; y:=y-1 end;day:=(y+(y div 4)-(y div 100)+(y div 400) +(m-3)*2+(m*3-7)div 5+d-1+x)mod 7; writeln(mn[day],'.')END.输入:year,month,day : 2002 5 30输出:2002.5.30 is Thursday.9、程序PROGRAM EX9;CONST n=20;VAR i,j,q:integer;BEGINi:=3;while i<n dobeginq:=trunc(sqrt(i));j:=3;while (j<=q) and (i mod j<>0) do j:=j+2;if j>q then write(i:8);i:=i+2end;writelnEND.输出:2 3 5 7 11 13 17 1910、程序PROGRAM EX10;CONST n=25;VARi,j,d,k,m:integer;p,q:array[1..30]of integer;pr:boolean;BEGINk:=1;m:=1;p[1]:=5;q[1]:=25;i:=7;d:=4;while i<n dobeginpr:=true;for j:=1 to k-1 doif i>=q[j] then begin pr:=pr and (i <>q[j]); q[j]:=q[j]+2*p[j] end; if i=q[k] then begin pr:=false; q[k]:=q[k]+2*p[k]; k:=k+1 end;if pr thenbeginwrite(i:8);if q[m]<n then begin m:=m+1; p[m]:=i; q[m]:=i*i end end;i:=i+d;d:=6-dend;writelnEND.输出:2 3 5 7 11 13 17 19 2311、程序PROGRAM EX11(input,output);USES stackun;VAR m,n,s:integer;st:stack;FUNCTION part(m,n:integer):integer;VAR tmp,i:integer;BEGINIF m=0 THENBEGIN tmp:=1;st.print1;ENDELSEIF n=0 THEN tmp:=0ELSEIF n>m THEN tmp:=part(m,m)ELSEBEGINst.push(n);tmp:=part(m-n,n-1);st.pop;tmp:=tmp+part(m,n-1);END;part:=tmp;END;BEGINst.creat;write('Enter m & n : ');readln(m,n);s:=part(m,n);writeln('INPART(',m,',',n,')=',s);END.Enter m & n : 7 8输出:INPART(7,8)=1512、程序PROGRAM ex12;USES stackun;VAR s,n:integer;w:array[1..20]of integer;ch:char;ok:boolean;st:stack;FUNCTION knap(s,n:integer):boolean;VAR tmp:boolean;BEGINIF (s=0)AND(n>=0) THEN BEGIN knap:=true;st.print END ELSE IF s<0 THEN knap:=falseELSEBEGINst.push(w[n]);tmp:=knap(s-w[n],n-1);st.pop;knap:=tmp OR knap(s,n-1);ENDEND;BEGINst.creat;n:=0;ch:=' ';write('knapsack = ');readln(s);write('Enter some weights : ');while ch<>chr(26) DObegin n:=n+1;read(w[n],ch) end;ok:=knap(s,n);END.knapsack = 7Enter some weights : 9 6 2^Z输出:ok=FALSE!knapsack = 10Enter some weights : 1 6 2 7 5 7 2 1^Z输出:ok=TRUE!13、程序PROGRAM ex13;VAR a:array[1..8]of integer;b,c,d:ARRAY[-7..16]of boolean;m,i:integer;PROCEDURE try(n:integer);VAR j:integer;BEGINIF n=9 THENBEGIN m:=m+1;write('(',m:2,') ');FOR j:=1 TO 8 DO write(a[j]:2);writelnENDELSEFOR j:=1 TO 8 DOIF b[j] AND c[n+j] AND d[n-j] THENBEGINa[n]:=j;b[j]:=false; c[n+j]:=false; d[n-j]:=false; try(n+1);b[j]:=true; c[n+j]:=true; d[n-j]:=trueENDEND;BEGINFOR i:=-7 TO 16 DOBEGIN b[i]:=true; c[i]:=true; d[i]:=true END; m:=0;try(1)END.请写出以425打头的一组数:答:4 2 5 8 6 1 3 714、程序PROGRAM ex14;VAR m,n,s:integer;FUNCTION cmn(m,n:integer):integer;VAR a:ARRAY[0..20]of RECORD m,n:integer END; i,k,tmp:integer;BEGINtmp:=0;k:=1;a[k].m:=m;a[k].n:=n;WHILE k>0 DOIF a[k].n=0 THENBEGINtmp:=tmp+1;FOR i:=1 TO k-1 DO write(a[i].m:3);writeln;k:=k-1;a[k].m:=a[k].m-1ENDELSEIF a[k].m<a[k].n THEN BEGIN k:=k-1; a[k].m:=a[k].m-1; END ELSE BEGIN a[k+1].m:=a[k].m-1;a[k+1].n:=a[k].n-1;k:=k+1; END; CMN:=TMPEND;BEGINwrite('Enter m & n : '); read(m,n);s:=cmn(m,n);writeln('CMN(',m,',',n,')=',s);END.Enter m & n : 4 3输出:4 3 24 3 14 2 13 2 1CMN(4,3)=415、程序PROGRAM ex15;USES stackun;VAR n,s:integer;st:stack;FUNCTION stacko;VAR tmp,i:integer;BEGINIF (m=0)and(n=0) THEN BEGIN tmp:=1;st.print2;ENDELSEIF (m>n)or(m<0) THEN tmp:=0ELSE BEGINst.push(1);tmp:=stackop(m-1,n);st.pop;st.push(0);tmp:=tmp+stackop(m,n-1);st.pop;END;stackop:=tmp;END;BEGINst.creat;write('Enter n : ');readln(n);s:=stackop(n,n);writeln('stack(',n,')=',s); END.Enter n : 4输出:stack(4)=1416、程序PROGRAM EX16;VAR n,m:integer;FUNCTION f(n:integer):integer;VAR tmp,i:integer;BEGINtmp:=1;FOR i:=1 TO (n DIV 2) DOtmp:=tmp+f(i);f:=tmp;END;BEGINwrite('n = ');readln(n);m:=f(n);writeln('f(',n,')=',m)END.输入:n = 6输出:f(6)=617、程序PROGRAM EX17;VAR x0,y0,p,m,n:longint; FUNCTION cpr(m,n:longint):boolean; VAR tmp:longint;BEGINtmp:=n;WHILE m MOD n<>0 DOBEGINtmp:=m MOD n;m:=n; n:=tmpEND;cpr:=tmp=1;END;BEGINwrite('x0(2..1000) & y0(2..1000 = ');readln(x0,y0);m:=y0 div x0;n:=0;FOR p:=1 TO m DOIF(m MOD p=0)AND cpr(p,m DIV p) THENBEGINn:=n+1;writeln(p*x0:8,y0 DIV p:8)END;writeln('f(',x0,',',y0,')=',n)END.输入:x0(2..1000) & y0(2..1000) = 3 60输出:3 6012 1515 1260 3f(3,60)=418、程序PROGRAM EX18;VAR I,J:INTEGER;A,X,Y,Z:STRING;BEGINA:='BAABCDDCAB';I:=6;WHILE I>=2 DOBEGINX:='';FOR J:=I TO I*I-1 DO X:=X+A[I];Y:=A;Y[0]:=CHR(I);Z:='';FOR J:=LENGTH(A)-I+1 TO LENGTH(A) DO Z:=Z+A[J]; Z:=X+Y+Z;I:=I-2END;WRITELN(Z)END.输出:19、程序PROGRAM EX19;VAR I,S,T,X:INTEGER;PROCEDURE PP(Y:INTEGER);BEGINT:=1;FOR I:=1 TO X DO T:=T*I+1;END;BEGINX:=5; S:=4;PP(X);S:=S+T;X:=3;PP(X);S:=S-T;X:=5;WRITELN('S=',S);WRITELN('X=',X)END.输出:20、程序Program EX20(input,output);const n=4;type se=array[1..n*2] of char;var i,j,i1,j1,k,s,t,s1,L,swap:integer;temp :char;a :se;Beginfor i:=1 to n*2 do read(a[i]); readln;s:=0; t:=0;for i:=1 to n*2 doif a[i]='1' then s:=s+1else if a[i]='0' then t:=t+1;if (s<>n) or (t<>n)then writeln('error')else begins1:=0;for i:=1 to 2*n-1 do if a[i]<>a[i+1] then s1:=s1+1; writeln('jamp=',s1); swap:=0;for i:=1 to 2*n-1 dofor j:=i+1 to 2*n doif a[i]<>a[j] thenbegintemp:=a[i];a[i]:=a[j];a[j]:=temp;s:=0;for L:=1 to 2*n-1 doif a[L]<>a[L+1] then s:=s+1;if s>swapthen begin swap:=s; i1:=i; j1:=j end;temp:=a[i];a[i]:=a[j];a[j]:=tempend;if swap>0 then writeln('maxswap=',swap-s1,' i=',i1,' j=',j1) endEnd.输入:10101100输出:21、程序Program ex21(input,output);VARI,J,S:INTEGER;B :ARRAY[0..5] OF INTEGER;BEGINS:=1;FOR I:=1 TO 5 DO B[I]:=I;J:=1;WHILE J>0 DOBEGINJ:=5;WHILE (J>0) AND (B[J]=10+J-5) DO J:=J-1;IF J>0 THENBEGINS:=S+1; B[J]:=B[J]+1;FOR i:=J+1 TO 5 DO B[i]:=B[J]+i-JEND;END;WRITELN('S=',S);END.输出:22、程序program ex22(input,output);VAR i, s, max:integer;a:array[1..10] of integer;Beginfor i:=1 to 10 do read(a[i]);max:=a[1]; s:=a[1];for i:=2 to 10 dobegin if s<0 then s:=0;s:=s+a[i];if s>max then max:=send;writeln('max=',MAX)End.输入:8 9 -1 24 6 5 11 15 -28 9 输出:max=23、程序PROGRAM EX23;var i,x,x1,x2:integer;beginx1:=3; x2:=8;for i:=1 to 5 dobeginx:=(x1+x2)*2;x1:=x2;x2:=xend;writeln('x=',x)end.输出:24、程序PROGRAM EX24;const maxn=20;var i,j,k,n:integer;a:array [1..maxn,1..maxn] of integer; beginwrite('Input n='); readln(n);i:=1; j:=(n+1) div 2;for k:=1 to n*n dobegina[i,j]:=k;if k mod n=0then i:=i+1else begin i:=i-1;j:=j+2 end; if i>n then i:=i-n;if i<=0 then i:=i+n;if j>n then j:=j-nend;for i:=1 to n dobeginfor j:=1 to n do write(a[i,j]:3);writelnendend.写出n=5时的运行结果。

阅读程序写结果(函数)

阅读程序写结果(函数)

1.有以下程序段,运行后的输出结果是【1】:float fun〔int x,int y〕{ return〔x+y〕;}main〔〕{ int a=2,b=5,c=8;printf〔"%3.0f\n",fun〔〔int〕fun〔a+c,b〕,a-c〕〕; } 2. 以下程序段执行后的输出结果是【2】void func1〔int i〕;void func2〔int i〕;char st[]="hello,friend!";void func1〔int i〕{ printf〔"%c",st[i]〕;if〔i<3〕{ i+=2;func2〔i〕;} }void func2〔int i〕{ printf〔"%c",st[i]〕;if〔i<3〕{i+=2;func1〔i〕;}} main〔〕{ int i=0; func1〔i〕; printf〔"\n"〕; }3. 有以下程序段,运行后的输出结果是【3】:int f〔int n〕{ if〔n==1〕return 1;else return f〔n-1〕+1; }main〔〕{ int i,j=0;for〔i=1;i<3;i++〕j+=f〔i〕;printf〔"%d\n",j〕; }4.有如下程序段,运行后的输出结果是【4】:long fib〔int n〕{ if〔n>2〕return〔fib〔n-1〕+fib〔n-2〕〕;else return〔2〕; }main〔〕{ printf〔"%d\n",fib〔3〕〕; }5. 以下函数的运行结果是【5】int f〔int a,int b〕{ int c;if〔a>b〕c=1;else if〔a==b〕c=0;else c=-1;return〔c〕;}main〔〕{ int i=2,p; int j,k; j=i; k=++i;p=f〔j,k〕; printf〔"%d",p〕;}6.阅读以下程序段,当运行函数时,输入asd af aa z67,那么输出为【6】int fun 〔char *str〕{ int i,j=0;for〔i=0;str[i]!=′\0′;i++〕if〔str[i]!=′′〕str[j++]=str[i];str[j]= ′\0′;}main〔〕{ char str[81]; int n; clrscr〔〕;printf〔"Input a string : "〕; gets〔str〕;puts〔str〕; fun〔str〕; printf〔"%s\n",str〕; } 7.以下程序段的输出结果是【7】long fun〔int n〕{ long s;if〔n==1||n==2〕s=2;else s=n-fun〔n-1〕;return s;}main〔〕{ printf〔"%ld\n", fun〔3〕〕; }8.已有变量定义和函数调用语句:int a=25;print_value〔&a〕;下面函数的正确输出结果是【8】void print_value〔int *x〕{ printf〔"%d\n",++*x〕; }9. 以下程序段的输出结果是【9】int f〔〕{ static int i=0; int s=1;s+=i; i++; return s; }main〔〕{ int i,a=0;for〔i=0;i<5;i++〕a+=f〔〕;printf〔"%d\n",a〕;}10. 阅读下面程序段段,那么执行后输出的结果是【10】main〔〕{ char fun〔char,int〕;char a=′A′; int b=13;a=fun〔a,b〕; putchar〔a〕;}char fun〔char a,int b〕{ char k; k=a+b; return k; }11.现有如下程序段,程序段的输出结果是【11】int fun〔int x〕{ printf〔"x=%d\n",++x〕; }main〔〕{ fun〔12+5〕; }12.现有如下程序段,程序段的输出结果是【12】int aa〔int x,int y〕{ int w; while〔y〕{ w=x%y; x=y; y=w; }return x; }main〔〕{ int a=24,b=16,c; c=aa〔a,b〕;printf〔"%d\n",c〕; }13.以下程序段的输出结果是【13】#define N 3#define M 3void fun〔int a[M][N]〕{ printf〔"%d\n",*〔a[1]+2〕〕; }main〔〕{ int a[M][N]; int i,j;for〔i=0;i<M;i++〕for〔j=0;j<N;j++〕a[i][j]=i+j-〔i-j〕;fun〔a〕; }14. 阅读下面程序段,那么执行后的结果为【14】fun1〔〕{ int k=20; return k; }fun2〔〕{ int a=15; return a; }fun3〔int a,int b〕{ int k; k=〔a-b〕*〔a+b〕; printf〔"%d\n",k〕; }main〔〕{ fun3〔fun1〔〕,fun2〔〕〕; }15. 阅读下面程序段,那么程序段执行后的结果为【15】main〔〕{ int a=4,b=6,c=7; double d;double fun〔int,int,int〕;d=fun〔a,b,c〕; printf〔"%lf\n",d〕; }double fun〔int a,int b,int c〕{ double s; s=a%b*c; return s; }16. 现有如下程序段,那么程序段的输出结果为【16】int f〔int a,int b〕{ int c;if〔a>0&&a<10〕c=〔a+b〕/2;else c=a*b/2;return c; }main〔〕{ int a=8,b=20,c; c=f〔a,b〕; printf〔"%d\n",c〕;} 17.阅读如下程序段,执行后的输出结果为【17】main〔〕{ char c; int i; char count〔〕; int p〔char〕;for〔i=0;i<30;i++〕c=count〔〕; p〔c〕; }char count〔〕{ char str=′A′; str+=1; return〔str〕; } p〔char c〕{ putchar〔c〕; putchar〔′\n′〕;}18. 阅读程序段,那么执行后的结果为【18】test1〔〕{ int x=0; x++; return x; }test2〔〕{ static int x=0; x++; return x; } main〔〕{ int i,m,n;for〔i=0;i<3;i++〕{ m=test1〔〕; n=test2〔〕; }printf〔"%d,%d\n",m,n〕; }19.以下程序段的输出结果是【19】。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序阅读理解(四)
1.
#include <stdio.h>
void main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>20) break;
if(b%4==1)
{
b=b+4;
continue;
}
b=b-5;
}
printf("a=%d\n",a);
}
运行结果:
2.
#include <stdio.h>
void main( )
{
char k;
int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case '0': printf("another\n");
case '1': printf("number\n");
}
}
}
输入:01<回车>
运行结果:
3.
#include <stdio.h>
int main()
{
int i, s = 0;
for(i = 1; i < 10; i++)
{
s += i * i;
if(s > 10) break;
}
printf("i=%d, s=%d\n", i, s);
return 0;
}
运行结果:
4.
#include <stdio.h>
void main()
{
char ch;
while((ch=getchar())!='\n')
{
if (ch>='A'&&ch<='Z')
ch=ch+32;
else if (ch>='a'&&ch<='z')
ch=ch-32;
printf("%c",ch);
}
}
输入:ABCdef<回车>
运行结果:
5.
#include <stdio.h>
int main ()
{
int a, b;
for (a = 1, b = 1 ; a <= 100 ; a++)
{
if (b >= 9) break;
if (b % 3 == 1)
{
b += 3 ;
continue ;
}
b -= 5;
}
printf("%d,%d\n", a, b);
return 0;
}
运行结果:
6. #include<stdio.h>
int main ()
{
int i = 0,j = 0;
while (i < 10) i++;
while (j++ < 10) ;
printf("i=%d,j=%d\n",i,j);
return 0;
}
运行结果:
7. #include "stdio.h"
void main( )
{
int i,j,t;
for(i=1,j=10;i<3;i++,j--)
t=i+j;
t++;
printf("%d,%d",j,t); }
运行结果:
8. #include "stdio.h"
void main()
{
int i=10,j;
do
{
j = i%2;
printf( "%d",j );
i--;
} while ( i> 4 );
}
运行结果:
9.#include "stdio.h" void main()
{
int i=7,j;
while ( i> 2)
{
j = i%2;
printf( "%d",j );
i--;
}
printf( "%d",i );
}
运行结果:
10. #include <stdio.h> void main()
{
int i,j,t=0;
for(i=3;i>0;i--)
for(j=0;j<4;j++)
t+=j;
printf("t=%d",t);
}
运行结果:。

相关文档
最新文档