内容正文:
编写说明:湖南省普通高校对口招生专业理论考试《计算机应用类专业综合考纲百套卷》,依据《湖南省普通高校对口招生计算机应用类专业综合知识基本要求及考试大纲》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第72卷,按《计算机编程语言——C语言》范围和要求编写。具体内容为:①while语句的使用。
湖南省《计算机应用类专业综合考纲百套卷》 第72卷
《计算机编程语言——C语言》
while循环
考点训练卷
考试时间60分钟 满分100分
班级________姓名________学号________成绩________
一、单项选择题(本大题共15小题,每题2分,共30分)
1.以下关于 C 语言中while循环的描述,正确的是( )
A. while 循环体至少执行一次
B. while 的循环条件表达式只能是关系表达式
C. while 循环先判断条件,后执行循环体
D. while 循环不可以嵌套使用
【答案】C
【解析】while 是先判断后执行,条件为假则一次都不执行;条件表达式可以是任意合法表达式;while 支持嵌套。
2.若int i=1; while(i<=10) i+=2;,循环结束后变量i的值为( )
A. 9 B. 10 C. 11 D. 12
【答案】C
【解析】循环依次执行i=1、3、5、7、9,最后i=11时11<=10为假,循环终止。
3.执行代码片段“int x=10;while(x--) x/=2;”,循环体执行次数为( )
A. 3 B. 4 C. 10 D. 无限次
【答案】A
【解析】x=10、9、4时条件成立,执行 3 次;x=0时x--取值为 0,循环结束。
4.有定义int m=5,n=0; while(n<m) n++;,循环结束后m和n的值是( )
A. m=5,n=4 B. m=5,n=5 C. m=4,n=5 D. m=0,n=5
【答案】B
【解析】n从 0 自增到 5 时,5<5不成立,循环结束,m全程未改变。
5.以下选项中,能实现循环体一次都不执行的代码是( )
A. int a=1; while(a) a--; B. int a=0; while(a) a++;
C. int a=1; while(a<2) a++; D. int a=-1; while(a) a++;
【答案】B
【解析】a=0,while 条件为假,直接跳过循环体。
6.int s=0,i=2; while(i<8) {s+=i; i+=3;},循环执行次数为( )
A. 1 B. 2 C. 3 D. 4
【答案】B
【解析】第一次i=2,第二次i=5;i=8时条件不成立,共执行 2 次。
7.int a=3,b=5; while(a<b) {a++; b--;},循环结束后a的值为( )
A. 3 B. 4 C. 5 D. 6
【答案】B
【解析】第一次循环后a=4、b=4,4<4为假,循环终止。
8.若要使用 while 循环遍历 1~100 所有整数,循环初始变量i和条件写法正确的是( )
A. int i=0; while(i<=100)
B. int i=1; while(i<=100)
C. int i=1; while(i>100)
D. int i=100; while(i<100)
【答案】B
【解析】遍历 1~100,初值为 1,条件i<=100才能完整遍历。
9.代码int k=0; while(k++<2) printf("*");,输出*的个数是( )
A. 0 B. 1 C. 2 D. 3
【答案】C
【解析】判断0<2、1<2成立,输出 2 个*;k=2时条件不成立。
10.int x=7; while(x>3) x-=2;,循环执行次数为( )
A. 1 B. 2 C. 3 D. 4
【答案】B
【解析】x=7→5→3,3>3不成立,执行 2 次循环体。
11.int i=0,sum=0; while(i<5) sum+=++i;,循环结束后sum的值为( )
A. 10 B. 15 C. 5 D. 0
【答案】B
【解析】前置自增,累加1+2+3+4+5=15。
12.int n=10; while(n--) ; printf("%d",n);,最终输出结果是( )
A. 10 B. 9 C. 0 D. -1
【答案】D
【解析】n自减到 0 时,判断0为假,循环结束,最后一次自减后n=-1。
13.设有程序段 int k=0; while(k++<=2) printf("%d ",k);,执行结果是( )
A. 1 2 3 B. 0 1 2 C. 1 2 D. 无结果
【答案】A
【解析】k=0,判断0<=2为真,k自增为1,输出1;k=1,判断1<=2为真,k自增为2,输出2;k=2,判断2<=2为真,k自增为3,输出3;k=3,判断3<=2为假,退出。
14.int m=1,n=3; while(m<n) {m++; n--;},循环结束后m-n的值为( )
A. 0 B. 1 C. -1 D. 2
【答案】A
【解析】执行一次后m=2、n=2,条件不成立,m-n=0。
15.设有程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s);,运行结果是( )
A. 0 B. 1 C. 2 D. 语法错误
【答案】B
【解析】!x!=0 等价于 (!x)!=0。初始x=0,!x为1,1!=0为真,进入循环。++x使x变为1,s=1。再次判断:!x为0,0!=0为假,退出循环。输出s的值1。
二、阅读程序,写出运行结果(本大题共10小题。每空2分,合计20分)
1.(2022年)下列程序的运行结果是__________________。
#include "stdio.h"
int main(void)
{
unsigned int V=7;
int num=0;
while(V){
V &=(V-1);
num++;
}
printf("num=%d",num);
return 0;}
【答案】num=3
2.(2026年)下列程序的运行结果是__________________。
#include <stdio.h>
int main(){
int n=860;
int res=0;
while(n!=0){
res=res*10+n%10;
n=n/10;
}
printf("%d
",res);
return 0;
}
【答案】68
3.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int s = 0, i = 1;
while( i <= 9 )
{ if( i / 3 > 1 )
break;
s += i % 3;
i++;
}
printf("%d", s);
return 0;}
【答案】6
4.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int x = 8, res = 0;
while( x-- && (x % 3 != 0) )
{ if( !(x & 1) )
res += x * 2;
else
res -= x;
}
printf("%d", res);
return 0; }
【答案】-7
5.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int n = -5, sum = 0;
while( n++ )
if( n <= -1 )
sum += n * 3;
else if( n == 0 )
continue;
else
sum -= n;
printf("%d", sum);
return 0; }
【答案】-30
6.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int k = 7, cnt = 0;
while( (k /= 2) > 1 )
{ if( k % 2 == 1 )
cnt += k + 1;
else
cnt -= k - 1;
}
printf("%d", cnt);
return 0; }
【答案】4
7.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int t = 10, ans = 0;
while( t-- >= 4 )
if( t % 3 )
ans += t * t - t;
else
ans -= t / 2;
printf("%d", ans);
return 0; }
【答案】122
8.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int m = 5, sum = 0;
while( !(--m) )
{
sum += m * m + m;
m++;
}
printf("%d", sum);
return 0; }
【答案】0
9.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int val = 16, cnt = 0;
while( val = val >> 1 )
{
if( val & 1 )
cnt++;
}
printf("%d", cnt);
return 0; }
【答案】1
10.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int p = -4, sum = 0;
while( p )
{ p++;
if( p == 0 )
break;
sum += p * (p + 1);
}
printf("%d", sum);
return 0; }
【答案】8
三、程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空2分,共计30分)
1.下列程序的功能是:输入一个非负整数,利用 while 循环将该数逐位反转后输出。例如:输入 1234,输出 4321。
#include <stdio.h>
int main()
{ int num, rem;
printf("请输入一个非负整数:");
scanf("%d", &num);
while(_______①______)
{
________②________;
printf("%d", rem);
________③_______
}
return 0;}
【答案】①num > 0 ②rem = num % 10 ③num = num / 10;
2.下列程序的功能是:输入两个正整数 a 和 b,使用 辗转相除法,计算并输出二者的最大公约数。
#include <stdio.h>
int main()
{ int a, b, temp;
printf("请输入两个正整数:");
scanf("%d%d", &a, &b);
while(_____①______)
{
______②______;
a = b;
b = temp;
}
printf("最大公约数:%d
", a);
return 0; }
【答案】①b != 0 ②temp = a % b
3.水仙花数定义:一个三位整数,各位数字的立方和等于它本身。
例如:153 = 1³ + 5³ + 3³。
下列程序的功能是:输入一个三位整数,用 while 循环拆分每一位,判断该数是否为水仙花数,并输出结果。
#include <stdio.h>
int main()
{ int num, n, bit, sum = 0;
printf("请输入一个三位整数:");
scanf("%d", &num);
_______①________
while(n > 0)
{
bit = n % 10;
_________②_________
n = n / 10;
}
if(_______③______)
printf("%d 是水仙花数
", num);
else
printf("%d 不是水仙花数
", num);
return 0; }
【答案】① n = num; ② sum = sum + bit * bit * bit;
③sum == num
4.下列程序的功能是:输入一串以回车结束的正整数(单个输入,逐个判断),约定输入 -1 表示结束输入。使用 while 循环分别统计所有奇数和、所有偶数和,最后输出两个和。
#include <stdio.h>
int main()
{ int num, sum_odd = 0, sum_even = 0;
printf("请依次输入数字,输入-1结束:
");
scanf("%d", &num);
while(_______①_______)
{ if(______②______)
sum_even += num;
else
sum_odd += num;
__________③_________
}
printf("奇数和:%d
偶数和:%d
", sum_odd, sum_even);
return 0; }
【答案】①num != -1 ②num % 2 == 0 ③scanf("%d", &num);
5.斐波那契数列规则:1, 1, 2, 3, 5, 8, 13... 前两项为 1,从第三项开始,每一项等于前两项之和。
下列程序的功能是:输入项数 n(n≥1),使用 while 循环输出该数列的前 n 项。
#include <stdio.h>
int main()
{ int n, a = 1, b = 1, c, i = 2;
printf("请输入要输出的项数:");
scanf("%d", &n);
if(_______①______)
printf("%d ", a);
if(n >= 2)
printf("%d ", b);
while(______②______)
{ _______③______;
printf("%d ", c);
a = b;
b = c;
________④________ }
return 0; }
【答案】①n >= 1 ②i < n ③c = a + b ④i++;
四、阅读程序:修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每空2分,共计20分)
1.下列程序的功能是:输入一个正整数,先将数字反转,再计算原数 + 反转数的结果并输出。
示例:输入 123,反转得 321,求和 123+321=444。以下程序只允许修改两行。
L1 #include <stdio.h>
L2 int main()
L3 { int num, rev = 0, n;
L4 printf("请输入正整数:");
L5 scanf("%d", &num);
L6 n = 0;
L7 while(n > 0)
L8 {
L9 rev = rev * 10 + n % 10;
L10 n = n % 10;
L11 }
L12 printf("原数:%d 反转数:%d 两数之和:%d
", num, rev,num+rev);
L13 return 0;}
【答案】①L6 n = num;
②L10 n = n / 10;
2.素数定义:大于 1 的自然数,除了 1 和它本身,不能被其他数整除。
下列程序的功能是:输入一个整数,使用 while 循环判断该数是否为素数,并输出结果。以下程序只允许修改三行。
L1 #include <stdio.h>
L2 int main()
L3 { int num, i = 2, flag = 0;
L4 printf("请输入一个整数:");
L5 scanf("%d", &num);
L6 if(num <= 1)
L7 flag = 0;
L8 while(i * i <= num || flag == 1)
L9 { if(num % i == 0)
L10 flag = 0;
L11 i++;
L12 }
L13 if(flag == 0)
L14 printf("%d 是素数
", num);
L15 else
L16 printf("%d 不是素数
", num);
L17 return 0; }
【答案】①L3 { int num, i = 2, flag = 1;
②L8 while(i * i <= num && flag == 1)
③L13 if(flag == 1)
3.(2022年)下列程序的功能是:从已经排好序的数组中,找出首次满足其和等于给定值的两个数后,即终止查找。程序执行的结果是:“1, 15”。以下程序只允许修改三行。
L1 #include "stdio.h"
L2 main ()
L3 {
L4 int a[]={1,2,4,5,7,11,12,15};
L5 int sum=16;
L6 int begin=1;
L7 int end=8-1;
L8 while(begin<end){
L9 long currSum;
L10 if(currSum==sum){
L11 printf("%d,%d
",a[begin],a[end]);
L12 continue;
L13 }
L14 else{
L15 if(currSum<sum)
L16 begin++;
L17 else
L18 end--;
L19 }
L20 }
L21 }
【答案】①L6 int begin=0;
②L9 long currSum=a[begin]+a[end];
或 long int currSum=a[begin]+a[end];
③L12 break;
4.下列程序的功能是:输入一个正整数,利用 while 循环拆分数字,判断该数是否为回文数(正读和反读完全相同,如 121、1331、5),输出判断结果。以下程序只允许修改两行。
L1 #include <stdio.h>
L2 int main()
L3 { int num, n, rev = 0;
L4 printf("请输入一个正整数:");
L5 scanf("%d", &num);
L6 n = num;
L7 while(n > 0)
L8 { rev = rev * 10 + n / 10;
L9 n = n % 10;
L10 }
L11 if(rev == num)
L12 printf("%d 是回文数
", num);
L13 else
L14 printf("%d 不是回文数
", num);
L15 return 0; }
【答案】①L8 { rev = rev * 10 + n % 10;
②L9 n = n / 10;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:湖南省普通高校对口招生专业理论考试《计算机应用类专业综合考纲百套卷》,依据《湖南省普通高校对口招生计算机应用类专业综合知识基本要求及考试大纲》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第72卷,按《计算机编程语言——C语言》范围和要求编写。具体内容为:①while语句的使用。
湖南省《计算机应用类专业综合考纲百套卷》 第72卷
《计算机编程语言——C语言》
while循环
考点训练卷
考试时间60分钟 满分100分
班级________姓名________学号________成绩________
一、单项选择题(本大题共15小题,每题2分,共30分)
1.以下关于 C 语言中while循环的描述,正确的是( )
A. while 循环体至少执行一次
B. while 的循环条件表达式只能是关系表达式
C. while 循环先判断条件,后执行循环体
D. while 循环不可以嵌套使用
2.若int i=1; while(i<=10) i+=2;,循环结束后变量i的值为( )
A. 9 B. 10 C. 11 D. 12
3.执行代码片段“int x=10;while(x--) x/=2;”,循环体执行次数为( )
A. 3 B. 4 C. 10 D. 无限次
4.有定义int m=5,n=0; while(n<m) n++;,循环结束后m和n的值是( )
A. m=5,n=4 B. m=5,n=5 C. m=4,n=5 D. m=0,n=5
5.以下选项中,能实现循环体一次都不执行的代码是( )
A. int a=1; while(a) a--; B. int a=0; while(a) a++;
C. int a=1; while(a<2) a++; D. int a=-1; while(a) a++;
6.int s=0,i=2; while(i<8) {s+=i; i+=3;},循环执行次数为( )
A. 1 B. 2 C. 3 D. 4
7.int a=3,b=5; while(a<b) {a++; b--;},循环结束后a的值为( )
A. 3 B. 4 C. 5 D. 6
8.若要使用 while 循环遍历 1~100 所有整数,循环初始变量i和条件写法正确的是( )
A. int i=0; while(i<=100)
B. int i=1; while(i<=100)
C. int i=1; while(i>100)
D. int i=100; while(i<100)
9.代码int k=0; while(k++<2) printf("*");,输出*的个数是( )
A. 0 B. 1 C. 2 D. 3
10.int x=7; while(x>3) x-=2;,循环执行次数为( )
A. 1 B. 2 C. 3 D. 4
11.int i=0,sum=0; while(i<5) sum+=++i;,循环结束后sum的值为( )
A. 10 B. 15 C. 5 D. 0
12.int n=10; while(n--) ; printf("%d",n);,最终输出结果是( )
A. 10 B. 9 C. 0 D. -1
13.设有程序段 int k=0; while(k++<=2) printf("%d ",k);,执行结果是( )
A. 1 2 3 B. 0 1 2 C. 1 2 D. 无结果
14.int m=1,n=3; while(m<n) {m++; n--;},循环结束后m-n的值为( )
A. 0 B. 1 C. -1 D. 2
15.设有程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s);,运行结果是( )
A. 0 B. 1 C. 2 D. 语法错误
二、阅读程序,写出运行结果(本大题共10小题。每空2分,合计20分)
1.(2022年)下列程序的运行结果是__________________。
#include "stdio.h"
int main(void)
{
unsigned int V=7;
int num=0;
while(V){
V &=(V-1);
num++;
}
printf("num=%d",num);
return 0;}
2.(2026年)下列程序的运行结果是__________________。
#include <stdio.h>
int main(){
int n=860;
int res=0;
while(n!=0){
res=res*10+n%10;
n=n/10;
}
printf("%d
",res);
return 0;
}
3.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int s = 0, i = 1;
while( i <= 9 )
{ if( i / 3 > 1 )
break;
s += i % 3;
i++;
}
printf("%d", s);
return 0;}
4.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int x = 8, res = 0;
while( x-- && (x % 3 != 0) )
{ if( !(x & 1) )
res += x * 2;
else
res -= x;
}
printf("%d", res);
return 0; }
5.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int n = -5, sum = 0;
while( n++ )
if( n <= -1 )
sum += n * 3;
else if( n == 0 )
continue;
else
sum -= n;
printf("%d", sum);
return 0; }
6.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int k = 7, cnt = 0;
while( (k /= 2) > 1 )
{ if( k % 2 == 1 )
cnt += k + 1;
else
cnt -= k - 1;
}
printf("%d", cnt);
return 0; }
7.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int t = 10, ans = 0;
while( t-- >= 4 )
if( t % 3 )
ans += t * t - t;
else
ans -= t / 2;
printf("%d", ans);
return 0; }
8.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int m = 5, sum = 0;
while( !(--m) )
{
sum += m * m + m;
m++;
}
printf("%d", sum);
return 0; }
9.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int val = 16, cnt = 0;
while( val = val >> 1 )
{
if( val & 1 )
cnt++;
}
printf("%d", cnt);
return 0; }
10.下列程序的运行结果是__________________。
#include <stdio.h>
int main()
{ int p = -4, sum = 0;
while( p )
{ p++;
if( p == 0 )
break;
sum += p * (p + 1);
}
printf("%d", sum);
return 0; }
三、程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空2分,共计30分)
1.下列程序的功能是:输入一个非负整数,利用 while 循环将该数逐位反转后输出。例如:输入 1234,输出 4321。
#include <stdio.h>
int main()
{ int num, rem;
printf("请输入一个非负整数:");
scanf("%d", &num);
while(_______①______)
{
________②________;
printf("%d", rem);
________③_______
}
return 0;}
2.下列程序的功能是:输入两个正整数 a 和 b,使用 辗转相除法,计算并输出二者的最大公约数。
#include <stdio.h>
int main()
{ int a, b, temp;
printf("请输入两个正整数:");
scanf("%d%d", &a, &b);
while(_____①______)
{
______②______;
a = b;
b = temp;
}
printf("最大公约数:%d
", a);
return 0; }
3.水仙花数定义:一个三位整数,各位数字的立方和等于它本身。
例如:153 = 1³ + 5³ + 3³。
下列程序的功能是:输入一个三位整数,用 while 循环拆分每一位,判断该数是否为水仙花数,并输出结果。
#include <stdio.h>
int main()
{ int num, n, bit, sum = 0;
printf("请输入一个三位整数:");
scanf("%d", &num);
_______①________
while(n > 0)
{
bit = n % 10;
_________②_________
n = n / 10;
}
if(_______③______)
printf("%d 是水仙花数
", num);
else
printf("%d 不是水仙花数
", num);
return 0; }
4.下列程序的功能是:输入一串以回车结束的正整数(单个输入,逐个判断),约定输入 -1 表示结束输入。使用 while 循环分别统计所有奇数和、所有偶数和,最后输出两个和。
#include <stdio.h>
int main()
{ int num, sum_odd = 0, sum_even = 0;
printf("请依次输入数字,输入-1结束:
");
scanf("%d", &num);
while(_______①_______)
{ if(______②______)
sum_even += num;
else
sum_odd += num;
__________③_________
}
printf("奇数和:%d
偶数和:%d
", sum_odd, sum_even);
return 0; }
5.斐波那契数列规则:1, 1, 2, 3, 5, 8, 13... 前两项为 1,从第三项开始,每一项等于前两项之和。
下列程序的功能是:输入项数 n(n≥1),使用 while 循环输出该数列的前 n 项。
#include <stdio.h>
int main()
{ int n, a = 1, b = 1, c, i = 2;
printf("请输入要输出的项数:");
scanf("%d", &n);
if(_______①______)
printf("%d ", a);
if(n >= 2)
printf("%d ", b);
while(______②______)
{ _______③______;
printf("%d ", c);
a = b;
b = c;
________④________ }
return 0; }
四、阅读程序:修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每空2分,共计20分)
1.下列程序的功能是:输入一个正整数,先将数字反转,再计算原数 + 反转数的结果并输出。
示例:输入 123,反转得 321,求和 123+321=444。以下程序只允许修改两行。
L1 #include <stdio.h>
L2 int main()
L3 { int num, rev = 0, n;
L4 printf("请输入正整数:");
L5 scanf("%d", &num);
L6 n = 0;
L7 while(n > 0)
L8 {
L9 rev = rev * 10 + n % 10;
L10 n = n % 10;
L11 }
L12 printf("原数:%d 反转数:%d 两数之和:%d
", num, rev,num+rev);
L13 return 0;}
2.素数定义:大于 1 的自然数,除了 1 和它本身,不能被其他数整除。
下列程序的功能是:输入一个整数,使用 while 循环判断该数是否为素数,并输出结果。以下程序只允许修改三行。
L1 #include <stdio.h>
L2 int main()
L3 { int num, i = 2, flag = 0;
L4 printf("请输入一个整数:");
L5 scanf("%d", &num);
L6 if(num <= 1)
L7 flag = 0;
L8 while(i * i <= num || flag == 1)
L9 { if(num % i == 0)
L10 flag = 0;
L11 i++;
L12 }
L13 if(flag == 0)
L14 printf("%d 是素数
", num);
L15 else
L16 printf("%d 不是素数
", num);
L17 return 0; }
3.(2022年)下列程序的功能是:从已经排好序的数组中,找出首次满足其和等于给定值的两个数后,即终止查找。程序执行的结果是:“1, 15”。以下程序只允许修改三行。
L1 #include "stdio.h"
L2 main ()
L3 {
L4 int a[]={1,2,4,5,7,11,12,15};
L5 int sum=16;
L6 int begin=1;
L7 int end=8-1;
L8 while(begin<end){
L9 long currSum;
L10 if(currSum==sum){
L11 printf("%d,%d
",a[begin],a[end]);
L12 continue;
L13 }
L14 else{
L15 if(currSum<sum)
L16 begin++;
L17 else
L18 end--;
L19 }
L20 }
L21 }
4.下列程序的功能是:输入一个正整数,利用 while 循环拆分数字,判断该数是否为回文数(正读和反读完全相同,如 121、1331、5),输出判断结果。以下程序只允许修改两行。
L1 #include <stdio.h>
L2 int main()
L3 { int num, n, rev = 0;
L4 printf("请输入一个正整数:");
L5 scanf("%d", &num);
L6 n = num;
L7 while(n > 0)
L8 { rev = rev * 10 + n / 10;
L9 n = n % 10;
L10 }
L11 if(rev == num)
L12 printf("%d 是回文数
", num);
L13 else
L14 printf("%d 不是回文数
", num);
L15 return 0; }
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$