任务19:一维数组的定义和使用 《编程语言-C语言》45分钟专题训练
|
2份
|
23页
|
128人阅读
|
2人下载
内容正文:
湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《编程语言—C语言》
项目四: 数组
第19卷: 一维数组的定义和使用
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共23小题,每小题2分,共46分)
1.若有语句:int b[10]={1,2,3,4,5};正确理解的是( )
A.将5个初值依次赋给b[1]至b[5]
B.将5个初值依次赋给b[0]至b[4]
C.将5个初值依次赋给b[6]至b[10]
D.因为数组长度与初值的个数不相同,所以此语句有语法错误
【答案】B
2.若有以下程序段,则数值为4的表达式是( )
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c=’a’,d,g;
A.a[g-c] B.a[4] C.a[‘d’-‘c’] D.a[‘d’-c]
【答案】D
3.若有定义:int a[10]={1,2,3,4,5,6,7,8,9,10};,则a[a[1]+a[3]]的值是( )
A.8 B.12 C.10 D.7
【答案】D
4.在C语言中,引用数组元素时,其数组下标的数据类型不允许是( )
A.整型常量 B.整型表达式
C.整型常量或整型表达式 D.任何类型的表达式
【答案】D
5.若有定义:int a[10];,则对a数组元素的正确引用是( )
A.a[10] B.a[3.5] C.a(5) D.a[10-10]
【答案】D
6.以下能对一维数组a进行正确初始化的语句形式是( )
A.int a[10]=(0,0,0,0,0); B.int a[10]={ };
C.int a[ ]={ 0 }; D.int a[10]={10*1};
【答案】C
7.以下不正确的定义语句是( )
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
B.int y[5]={0,1,2,3,4,5};
C.char c1[ ]={ '1','2','3','4','5'};
D.char c2[ ]={ '\x10','\xa','\x8'};
【答案】B
8.若有定义:float x[4]={1.3,2.4,5.6},y=6;,则错误的语句是( )
A.y=x[3]; B.y=x+1; C.y=x[2]+1; D.x[0]=y;
【答案】B。数组名表示数组首地址,地址不能赋给普通变量。
9.下列有关数组的叙述中,正确的一项是( )
A.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
B.一条语句只能定义一个数组
C.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
D.在引用数组元素时,下标表达式可以使用浮点数
【答案】C
10.下列叙述中,正确的一项是( )
A.语句:int a[8]={0}; 是合法的
B.语句:int a[ ]={0}; 是不合法的,遗漏了数组的大小
C.语句:char a[2]={ "A","B"}; 是合法的,定义了一个包含两个字符的数组
D.语句:cahr a[3];a="AB"; 是合法的,因为数组有三个字符空间的容量,可以保存两个字符
【答案】A
11.下列叙述中,正确的一项是( )
A.char c1,c2,c4[40]; 均是合法的定义语句
B.数组说明符的一对方括号中只能使用表达式,而不能使用常量
C.数组下标的下限可以是负值
D.若有数组定义:float array[4]; ,则语句:printf(“%f”,array[3.12]);是合法的
【答案】A
12.以下叙述中,不正确的一项是( )
A.同一个数组中所有元素的类型相同
B.不可以跳过前面的数组元素,给后面的元素赋初值0
C.定义语句:int a[10]={0}; ,给a数组中所有元素赋初值0
D.若有定义语句:int a[4]={1,2,3,4,5}; ,编译时将忽略多余的初值
【答案】D。数组初始化时,若赋初值的个数多于所定义数组的元素个数时,编译器将会报错。
13.若要定义一个具有5个元素的整型数组,以下定义语句错误的是( )
A.int a[5]={0}; B.int b[ ]={0,0,0,0,0};
C.int c[2+3]; D.int i=5,d[i];
【答案】D。在C语言中,一维数组的下标可以是整型常量或整型表达式,但不可以是变量。
14.设有以下程序段,则下列叙述中正确的一项是( )
int a[8]={0};
int b[ ]={0};
char c[2]={"A","B"};
char d="AB";
A.只有a,b,c的定义是合法的 B.a,b,c,d的定义都是合法的
C.只有a,b的定义是合法的 D.只有c的定义是合法的
【答案】C
15.若有定义语句:int m[ ]={5,4,3,2,1},i=4; ,则下列对m数组元素的引用中,不正确的一项是( )
A.m[--i] B.m[2*2] C.m[m[0]] D.m[m[i]]
【答案】C
16.设有n个数按照从小到大的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的程序段是( )
A.for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
B.for(i=0;i<n;i++){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
C.for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i+1];x[n-i+1]=t;}
D.for(i=0;i<n/2;i+=2){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
【答案】A
17.执行以下程序段的输出结果是( )
char s1[40]="country",s2[20]="side";int i=0,j=0;
while(s1[i]!='\0') i++;
while(s2[j]!='\0') s1[i++]=s2[j++];
s1[i]=0;printf("%s
",s1);
A. side B. country C. sidetry D. countryside
【答案】D
18.char str[ ]="The C program",c;int i;
for(i=2;(c=str[i])!='\0';i++)
{ switch(c)
{ case 'g': ++i; break;
case 'o': continue;
default: printf("%c",c); continue;}
printf("*");}
A.eCpr*am B. eCprogram C.The C program D.e C pr*am
【答案】D
19.执行以下程序段的输出结果是( )
int p[7]={11,13,14,15,16,17,18};
int i=0,j=0;
while(i<7&&p[i]%2==1)j+=p[i++];
printf("%d
",j);
A.21 B.22 C.23 D.24
【答案】D
20.执行以下程序段的输出结果是( )
int n[3],i,j,k;
for(i=0;i<3;i++)n[i]=0;k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++) n[j]=n[i]+1;
printf("%d
",n[1]);
A.0 B.1 C.2 D.3
【答案】D
21.执行以下程序段的输出结果是( )
int p[7]={11,13,14,15,16,17,18}; int i=0,k=0;
while(i<7&&p[i]%2)
{k=k+p[i];i++;}printf("%d
",k);
A.24 B.45 C.26 D.56
【答案】A
22.执行以下程序段的输出结果是( )
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]*3;printf("%d
",k);
A.25 B.27 C.28 D.29
【答案】D
23.执行以下程序段的输出结果是( )
int n[5]={0,0,0},i,k=2;
for(i=0;i<k;i++)n[i]=n[i]+1;
printf("%d
",n[k]);
A.0 B.1 C.2 D.3
【答案】A
二、程序运行结果题(本题共7小题,每题3分,共21分)
24.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d",s);
getch();}
【答案】11
25.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int b[3][3]={0,1,2,3,0,1,2,3,0},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)
t+=b[i][b[j][i]];
printf("%d",t);getch();}
【答案】6
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int s[12]={1,2,3,4,4,3,2,1,1,2,3,0},c[5]={0},i;
for(i=0;i<12;i++)
c[s[i]]++;
for(i=1;i<5;i++)
printf("%d",c[i]);getch();}
【答案】3332
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a[10]={7,3,5,2,9,1,0,6,8,4},i=0,j=9,t;
while(i<j)
{t=a[i];
a[i]=a[j];
a[j]=t;
i+=2;
j-=2;}
for(i=0;i<10;i+=2)
printf("%d ",a[i]);getch();}
【答案】4 6 1 0 8
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a[10]={1,2,2,3,4,3,4,5,1,5};
int n=0,i,j,c,k;
for(i=0;i<10-n;i++)
{c=a[i];
for(j=i+1;j<10-n;j++)
if(a[j]==c)
{for(k=j;k<10-n;k++)
a[k]=a[k+1];n++;}}
for(i=0;i<(10-n);i++)
printf("%d ",a[i]);getch();}
【答案】1 2 3 4 5
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int i=1,n=3,j,k=3,a[5]={1,4,5};
while(i<=n&&k>a[i])
i++;
for(j=n-1;j>=i;j--)
a[j+1]=a[j];
a[i]=k;
for(i=0;i<=n;i++)
printf("%3d",a[i]);
getch();}
【答案】 1 3 4 5
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int num_list[ ]={6,7,8,9},k,j,b,u=0,m=4,w;
w=m-1;
while(u<=w)
{j=num_list[u];
k=2;b=1;
while(k<=j/2&&b)
{++k;b=j%k;}
if(b)
{printf("%d
",num_list[u]);
u++;}
else{num_list[u]=num_list[w];
num_list[w]=j;w--;}}
getch();}
【答案】7
三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。每处3分,共9分)
31.以下程序的功能是使用冒泡法对任意输入的10个数由小到大进行排序。题目中有三处错误,请改正。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 main()
L4 {int i,j,t,a[11];
L5 printf("请输入10个数:
");
L6 for(i=1;i<11;i++)
L7 scanf("%d",&a[i]);
L8 for(i=1;i<10;i++)
L9 for(j=1;j<10;j++)
L10 if(a[j]>a[i])
L11 {t=a[j];
L12 a[j]=a[j+1];
L13 a[j]=t;}
L14 printf("排序后的顺序是:
");
L15 for(i=1;i<=10;i++)
L16 printf("%5d",a[i]);
L17 printf("
");
L18 getch();}
答案:
L9 for(j=1;j<11-i;j++)
L10 if(a[j]>a[j+1])
L13 a[j+1]=t;}
四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分)
32.下列程序的功能是:任意输入一个数,并输入该数是几进制,程序将该数转换为十进制数并输出,请填空。
#include <stdio.h>
#include<conio.h>
#include<string.h>
main()
{long t1;
int i,n,t,t3;
char a[100];
printf("请输入数字:
");
gets(a);
strupr(a);//将a数组中的小写字母转换成大写字母
t3=strlen(a);
t1=0;
printf("请输入进制n(2或8或16):
");
scanf("%d",&n);
for(i=0;i<t3;i++)
{if(【1】)
{printf("输入有误!!");}
if(a[i]>='0'&&a[i]<='9')
t=【2】;
else if(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))
t=【3】;
t1=【4】;}
printf("十进制形式是:%ld
",t1);
getch();}
答案:①a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n ②a[i]-'0'
③a[i]-'A'+10 ④t1*n+t
33.下列程序的功能是打印所有不超过n(n<256)且其平方具有对称性质的数,也称回文数。
#include <stdio.h>
#include<conio.h>
main()
{int m[16],n,i,t,count=0;
long int a,k;
printf("No.\t number\t it's square
");
for(n=1;n<256;n++)
{k=0;t=1;a=【1】;
for(i=0;a!=0;i++)
{m[i]=a%10;
a/=10;}
for( ;i>0;i--)
{k=【2】;
t=【3】;}
if(【4】)
printf("%2d%10d%10d
",++count,n,n*n);}
getch();}
答案:①n*n ②k+m[i-1]*t ③t*10 ④k==n*n
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《编程语言—C语言》
项目四: 数组
第19卷: 一维数组的定义和使用
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共23小题,每小题2分,共46分)
1.若有语句:int b[10]={1,2,3,4,5};正确理解的是( )
A.将5个初值依次赋给b[1]至b[5]
B.将5个初值依次赋给b[0]至b[4]
C.将5个初值依次赋给b[6]至b[10]
D.因为数组长度与初值的个数不相同,所以此语句有语法错误
2.若有以下程序段,则数值为4的表达式是( )
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c=’a’,d,g;
A.a[g-c] B.a[4] C.a[‘d’-‘c’] D.a[‘d’-c]
3.若有定义:int a[10]={1,2,3,4,5,6,7,8,9,10};,则a[a[1]+a[3]]的值是( )
A.8 B.12 C.10 D.7
4.在C语言中,引用数组元素时,其数组下标的数据类型不允许是( )
A.整型常量 B.整型表达式
C.整型常量或整型表达式 D.任何类型的表达式
5.若有定义:int a[10];,则对a数组元素的正确引用是( )
A.a[10] B.a[3.5] C.a(5) D.a[10-10]
6.以下能对一维数组a进行正确初始化的语句形式是( )
A.int a[10]=(0,0,0,0,0); B.int a[10]={ };
C.int a[ ]={ 0 }; D.int a[10]={10*1};
7.以下不正确的定义语句是( )
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
B.int y[5]={0,1,2,3,4,5};
C.char c1[ ]={ '1','2','3','4','5'};
D.char c2[ ]={ '\x10','\xa','\x8'};
8.若有定义:float x[4]={1.3,2.4,5.6},y=6;,则错误的语句是( )
A.y=x[3]; B.y=x+1; C.y=x[2]+1; D.x[0]=y;
9.下列有关数组的叙述中,正确的一项是( )
A.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
B.一条语句只能定义一个数组
C.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
D.在引用数组元素时,下标表达式可以使用浮点数
10.下列叙述中,正确的一项是( )
A.语句:int a[8]={0}; 是合法的
B.语句:int a[ ]={0}; 是不合法的,遗漏了数组的大小
C.语句:char a[2]={ "A","B"}; 是合法的,定义了一个包含两个字符的数组
D.语句:cahr a[3];a="AB"; 是合法的,因为数组有三个字符空间的容量,可以保存两个字符
11.下列叙述中,正确的一项是( )
A.char c1,c2,c4[40]; 均是合法的定义语句
B.数组说明符的一对方括号中只能使用表达式,而不能使用常量
C.数组下标的下限可以是负值
D.若有数组定义:float array[4]; ,则语句:printf(“%f”,array[3.12]);是合法的
12.以下叙述中,不正确的一项是( )
A.同一个数组中所有元素的类型相同
B.不可以跳过前面的数组元素,给后面的元素赋初值0
C.定义语句:int a[10]={0}; ,给a数组中所有元素赋初值0
D.若有定义语句:int a[4]={1,2,3,4,5}; ,编译时将忽略多余的初值
13.若要定义一个具有5个元素的整型数组,以下定义语句错误的是( )
A.int a[5]={0}; B.int b[ ]={0,0,0,0,0};
C.int c[2+3]; D.int i=5,d[i];
14.设有以下程序段,则下列叙述中正确的一项是( )
int a[8]={0};
int b[ ]={0};
char c[2]={"A","B"};
char d="AB";
A.只有a,b,c的定义是合法的 B.a,b,c,d的定义都是合法的
C.只有a,b的定义是合法的 D.只有c的定义是合法的
15.若有定义语句:int m[ ]={5,4,3,2,1},i=4; ,则下列对m数组元素的引用中,不正确的一项是( )
A.m[--i] B.m[2*2] C.m[m[0]] D.m[m[i]]
16.设有n个数按照从小到大的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的程序段是( )
A.for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
B.for(i=0;i<n;i++){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
C.for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i+1];x[n-i+1]=t;}
D.for(i=0;i<n/2;i+=2){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
17.执行以下程序段的输出结果是( )
char s1[40]="country",s2[20]="side";int i=0,j=0;
while(s1[i]!='\0') i++;
while(s2[j]!='\0') s1[i++]=s2[j++];
s1[i]=0;printf("%s
",s1);
A. side B. country C. sidetry D. countryside
18.char str[ ]="The C program",c;int i;
for(i=2;(c=str[i])!='\0';i++)
{ switch(c)
{ case 'g': ++i; break;
case 'o': continue;
default: printf("%c",c); continue;}
printf("*");}
A.eCpr*am B. eCprogram C.The C program D.e C pr*am
19.执行以下程序段的输出结果是( )
int p[7]={11,13,14,15,16,17,18};
int i=0,j=0;
while(i<7&&p[i]%2==1)j+=p[i++];
printf("%d
",j);
A.21 B.22 C.23 D.24
20.执行以下程序段的输出结果是( )
int n[3],i,j,k;
for(i=0;i<3;i++)n[i]=0;k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++) n[j]=n[i]+1;
printf("%d
",n[1]);
A.0 B.1 C.2 D.3
21.执行以下程序段的输出结果是( )
int p[7]={11,13,14,15,16,17,18}; int i=0,k=0;
while(i<7&&p[i]%2)
{k=k+p[i];i++;}printf("%d
",k);
A.24 B.45 C.26 D.56
22.执行以下程序段的输出结果是( )
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]*3;printf("%d
",k);
A.25 B.27 C.28 D.29
23.执行以下程序段的输出结果是( )
int n[5]={0,0,0},i,k=2;
for(i=0;i<k;i++)n[i]=n[i]+1;
printf("%d
",n[k]);
A.0 B.1 C.2 D.3
二、程序运行结果题(本题共7小题,每题3分,共21分)
24.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d",s);
getch();}
25.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int b[3][3]={0,1,2,3,0,1,2,3,0},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)
t+=b[i][b[j][i]];
printf("%d",t);getch();}
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int s[12]={1,2,3,4,4,3,2,1,1,2,3,0},c[5]={0},i;
for(i=0;i<12;i++)
c[s[i]]++;
for(i=1;i<5;i++)
printf("%d",c[i]);getch();}
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a[10]={7,3,5,2,9,1,0,6,8,4},i=0,j=9,t;
while(i<j)
{t=a[i];
a[i]=a[j];
a[j]=t;
i+=2;
j-=2;}
for(i=0;i<10;i+=2)
printf("%d ",a[i]);getch();}
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a[10]={1,2,2,3,4,3,4,5,1,5};
int n=0,i,j,c,k;
for(i=0;i<10-n;i++)
{c=a[i];
for(j=i+1;j<10-n;j++)
if(a[j]==c)
{for(k=j;k<10-n;k++)
a[k]=a[k+1];n++;}}
for(i=0;i<(10-n);i++)
printf("%d ",a[i]);getch();}
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int i=1,n=3,j,k=3,a[5]={1,4,5};
while(i<=n&&k>a[i])
i++;
for(j=n-1;j>=i;j--)
a[j+1]=a[j];
a[i]=k;
for(i=0;i<=n;i++)
printf("%3d",a[i]);
getch();}
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int num_list[ ]={6,7,8,9},k,j,b,u=0,m=4,w;
w=m-1;
while(u<=w)
{j=num_list[u];
k=2;b=1;
while(k<=j/2&&b)
{++k;b=j%k;}
if(b)
{printf("%d
",num_list[u]);
u++;}
else{num_list[u]=num_list[w];
num_list[w]=j;w--;}}
getch();}
三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。每处3分,共9分)
31.以下程序的功能是使用冒泡法对任意输入的10个数由小到大进行排序。题目中有三处错误,请改正。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 main()
L4 {int i,j,t,a[11];
L5 printf("请输入10个数:
");
L6 for(i=1;i<11;i++)
L7 scanf("%d",&a[i]);
L8 for(i=1;i<10;i++)
L9 for(j=1;j<10;j++)
L10 if(a[j]>a[i])
L11 {t=a[j];
L12 a[j]=a[j+1];
L13 a[j]=t;}
L14 printf("排序后的顺序是:
");
L15 for(i=1;i<=10;i++)
L16 printf("%5d",a[i]);
L17 printf("
");
L18 getch();}
四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分)
32.下列程序的功能是:任意输入一个数,并输入该数是几进制,程序将该数转换为十进制数并输出,请填空。
#include <stdio.h>
#include<conio.h>
#include<string.h>
main()
{long t1;
int i,n,t,t3;
char a[100];
printf("请输入数字:
");
gets(a);
strupr(a);//将a数组中的小写字母转换成大写字母
t3=strlen(a);
t1=0;
printf("请输入进制n(2或8或16):
");
scanf("%d",&n);
for(i=0;i<t3;i++)
{if(【1】)
{printf("输入有误!!");}
if(a[i]>='0'&&a[i]<='9')
t=【2】;
else if(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))
t=【3】;
t1=【4】;}
printf("十进制形式是:%ld
",t1);
getch();}
33.下列程序的功能是打印所有不超过n(n<256)且其平方具有对称性质的数,也称回文数。
#include <stdio.h>
#include<conio.h>
main()
{int m[16],n,i,t,count=0;
long int a,k;
printf("No.\t number\t it's square
");
for(n=1;n<256;n++)
{k=0;t=1;a=【1】;
for(i=0;a!=0;i++)
{m[i]=a%10;
a/=10;}
for( ;i>0;i--)
{k=【2】;
t=【3】;}
if(【4】)
printf("%2d%10d%10d
",++count,n,n*n);}
getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$