精华内容
下载资源
问答
  • 简单稍等马上好有大概分两种方法数学法和字符串法我就先发个字符串法的吧#include#includemain(){inti,nlen,flagcharnum[6]gets(num)nlen=strlen(num)for(i=0iC语言中如何判断回文?下面介绍了几种判断回文的方法...

    c语言,编写一个函数,来判断一个数是否是回文数。(回文数就是像12321,正着读和倒着读都一样)?

    简单稍等马上好

    有大概分两种方法数学法和字符串法

    我就先发个字符串法的吧

    #include

    #include

    main()

    {

    inti,nlen,flag

    charnum[6]

    gets(num)

    nlen=strlen(num)

    for(i=0i

    C语言中如何判断回文?

    下面介绍了几种判断回文的方法:这还有另外一种方法,即include "stdio.h" main() { char str[50] int p,i,j printf("Input:") scanf("%s",str) printf("Input the string is:%s\n",str) p=strlen(str) for(i=0,j=p-1i=j) printf("huiwen") else printf("not a huiwen") }

    求C语言判断一个正整数是否是回文?

    "回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数. 任意某一个数通过以下方式相加也可得到 如:29 92=121 还有 194 491=685,586 685=1271,1271 1721=2992 不过很多数还没有发现此类特征(比如196,下面会讲到) 另外个别平方数是回文数 1的平方=1 11的平方=121 111的平方=12321 1111的平方=1234321 在程序设计中,我们常常会遇到回文数的判断问题,这就需要我们对回文数有所了解,并能编写回文数函数予以调用。在此我用C语言编写了个回文数函数,其中 N 有读者自己定义,其调用很方便。回文数函数代码如下:#include

    C语言编程判断str是否是回文,如果是回文,返回1否则返回0?

    第一层for循环中 先从字符串(数组)最后一字符开始复制给p[j], 那仅仅是最后一个字符,然后就这样进入第二层循环,先判断p[i] == str[i],那时i从0开始 然后第二层for循环第二轮呢?? 发现了吧 p[1] == str[1]的判断 但是 p[1]你给赋值了吗? 那个不是在第一层循环中吗?打你此时还陷在第二层循环出不来 无法给p[1]赋值吧? 你应该改一下逻辑结构 尤其是两层循环嵌套的结构

    c语言判断字符串是否为回文问题,具体问题如图?

    intfun(charstr[]){inti,j,nn=strlen(str)for(i=0,j=n-1i&lt=(n-1)/2i ,j--)if(str[i]!=str[j])breakif(i&gtj)return1return0}voidmain(){chara[80]gets(a)if(fun(a)==1)printf("回文\n")elseprintf("非回文\n")}

    C语言:用指针的方法定义一个函数判断字符串是否为回文?

    #include int check(char *s){ char *p=s while(*p) p --p while(s

    展开全文
  • 1、一个C程序可能出现的错误有A、语法错误B、逻辑错误C、运行错误D、以上都包括答案:D2、C程序中一般可以包含几个函数A、只有1个B、必须多于2个C、0个D、至少1个答案:D3、C语言属于程序设计语言的哪个类别A、高级...

    1、

    一个C程序可能出现的错误有

    A、语法错误

    B、逻辑错误

    C、运行错误

    D、以上都包括

    答案:D

    2、

    C程序中一般可以包含几个函数

    A、只有1个

    B、必须多于2个

    C、0个

    D、至少1个

    答案:D

    3、

    C语言属于程序设计语言的哪个类别

    A、高级语言

    B、汇编语言

    C、机器语言

    D、面向对象语言

    答案:A

    4、

    以下关于C语言描述错误的是

    A、一个C程序总是从main函数开始执行

    B、一个C程序可以包含多个main函数

    C、每个语句的最后必须有一个分号

    D、C语言的注释符是以"/*"开始并以"*/"结束

    答案:B

    5、

    在调试过程中,逻辑错误是指

    A、所书写的语句,不符合C的语法

    B、在exe文件的执行过程中,产生运行异常

    C、程序的运行结果不符合题目要求

    D、在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误

    答案:C

    6、

    类型修饰符unsigned不能修饰

    A、char

    B、int

    C、long int

    D、float

    答案:D

    7、

    16位的二进制数可以表示的整数的范围是

    A、[-32768,32767]

    B、[-32767,32768]

    C、[-32768,32768]

    D、[-32767,32767]

    答案:A

    8、

    C语言中的实型数据包括

    A、int和float

    B、float和double

    C、int和double

    D、float和char

    答案:B

    9、

    以下不合法的字符常量是

    A、'2'

    B、'ab'

    C、'A'

    D、'\n'

    答案:B

    10、

    在以下各组标识符中,均是合法的C语言标识符是

    A、abc,A_4d,_student,xyz_abc

    B、auto,12-a,a_b,ab5.x

    C、A_4d,_student,xyz_abc,if

    D、abc,a_b,union,scan

    答案:A

    11、

    在C语言中,要求参加运算的数必须是整数的运算符是

    A、/

    B、*

    C、%

    D、++

    答案:C

    12、

    若有定义:char a;int b;float c;double d; 则表达式a*b+d-c值的类型为

    A、float

    B、double

    C、char

    D、int

    答案:B

    13、

    设有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是

    A、2.75

    B、3.5

    C、0.0

    D、2.5

    答案:D

    14、

    若有定义:double x=1,y; 执行语句y=x+3/2;,则y的值是

    A、1

    B、2

    C、2.0

    D、2.5

    答案:C

    15、

    设int a=1,b=2;以下选项中不正确的语句是

    A、a*3=3

    B、a/=1

    C、a+=3

    D、a=a+b

    答案:A

    16、

    算法描述可以有多种表达方法,下面( )方法不可以描述算法

    A、N-S图

    B、自然语言

    C、伪代码

    D、机器语言

    答案:D

    17、

    执行以下程序后k的值是( )int i,j=10,k=0; for(i=0;i<=j;i++) { k=i+j; j--; }

    A、8

    B、9

    C、10

    D、11

    答案:C

    18、

    设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )

    A、0

    B、1

    C、2

    D、3

    答案:C

    19、

    表示y在(-∞,3]和[23,+∞)范围内为真的表达式为( )

    A、(y<=3)&&(y>=23)

    B、(y<=3)||(y>=23)

    C、(y<3)&&(y>23)

    D、(y<3)||(y>23)

    答案:B

    20、

    已知int x=10,y=20,z=30; 则执行以下语句后x、y、z的值是( )if(x>y) z=x; x=y; y=z;

    A、x=10,y=20,z=30

    B、x=20,y=30,z=30

    C、x=20,y=30,z=10

    D、x=20,y=30,z=20

    答案:B

    21、

    设有声明语句:int a=1,b=0; 则执行以下语句后输出结果为( ) switch(a) { case 1: switch(b) { case 0:printf("**0**");break; case 1:printf("**1**");break; } case 2:printf("**2**");break; }

    A、**0**

    B、**0****2**

    C、**0****1****2**

    D、有语法错误

    答案:B

    22、

    设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是( )void main() { int s=0,a=1,n; scanf("%d",&n); do { s=s+1; a=a-2; }while(a!=n); printf("%d ",s); }

    A、0

    B、-1

    C、-3

    D、-5

    答案:C

    23、

    for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是( )

    A、9

    B、8

    C、3

    D、2

    答案:C

    24、

    以下程序段的输出结果是( )int x=5; if(x--<5) printf("%d",x); else printf("%d",x++);

    A、6

    B、5

    C、4

    D、3

    答案:C

    25、

    对下面程序段,描述正确的是( )for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%d ",x); }

    A、最多允许输出100个非负整数

    B、printf函数永远也不执行

    C、当x>=0时,什么也不输出

    D、当x<0时,整个循环结束

    答案:A

    26、

    顺序结构习题:求三个数的平均值

    答案:暂无答案

    27、

    顺序结构习题:求两点之间的距离

    答案:暂无答案

    28、

    顺序结构习题:摄氏温度转换为华氏温度和绝对温度

    答案:暂无答案

    29、

    循环结构习题:输入两个整数,输出它们的最大公约数

    答案:暂无答案

    30、

    选择结构习题:奇偶数判断

    答案:暂无答案

    31、

    选择结构习题:求三个数的最大值

    答案:【点击查看答案】

    32、

    选择结构习题:百分值转换成其相应的等级

    答案:【点击查看答案】

    33、

    选择结构习题:三个数排序

    答案:【点击查看答案】

    34、

    选择结构习题:分段函数

    答案:【点击查看答案】

    35、

    循环结构习题:公式求π值

    答案:【点击查看答案】

    36、

    循环结构习题:输入10个整数 ,输出所有负数并求其和。

    答案:【点击查看答案】

    37、

    循环结构习题:输出同构数

    答案:【点击查看答案】

    38、

    循环结构习题:求一个分数序列的值。

    答案:【点击查看答案】

    39、

    循环结构习题:求2+22+222+....+22222的值

    答案:【点击查看答案】

    40、

    循环结构习题:大小写字母转换

    答案:【点击查看答案】

    41、

    循环结构习题:任意输入n个数,输出最大和最小值及其对应的序列号

    答案:【点击查看答案】

    42、

    循环结构习题:打印“完数”

    答案:【点击查看答案】

    43、

    包含标准库函数scanf声明的头文件是( )

    A、stdio.h

    B、stdlib.h

    C、math.h

    D、time.h

    答案:【点击查看答案】

    44、

    以下关于函数的叙述中正确的是( )

    A、C语言程序将从源程序中第一个函数开始执行

    B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

    C、main可作为用户标识符,用以定义任意一个函数

    D、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

    答案:【点击查看答案】

    45、

    以下关于函数的叙述中不正确的是( )

    A、在C语言程序中,被调用的函数必须在main函数中定义

    B、C程序是函数的集合,包括标准库函数和用户自定义函数

    C、在C语言程序中,函数的定义不能嵌套

    D、在C语言程序中,函数的调用可以嵌套

    答案:【点击查看答案】

    46、

    以下不正确的说法是( )

    A、在不同函数中可以使用相同名字的变量

    B、形式参数是局部变量

    C、在函数内定义的变量只在本函数范围内可以使用

    D、在主函数内定义的变量可在其余函数中通用

    答案:【点击查看答案】

    47、

    以下正确的函数定义是( )

    A、double fun(int x,int y) { z=x+y; return z; }

    B、fun(int x,y) { int z; return z; }

    C、fun(x,y){ int x,y; double z; z=x+y; return z; }

    D、double fun(int x,int y) { double z; z=x+y; return z; }

    答案:【点击查看答案】

    48、

    C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )

    A、地址传递

    B、单向值传递

    C、由实参传给形参,再由形参传回实参

    D、由用户指定传递方式

    答案:【点击查看答案】

    49、

    下列程序的运行结果是( ) #include <stdio.h> void fun(); int main() { int a=10; fun(); printf("%5d",a); return 0; } void fun() { int a=20; printf("%5d",a); }

    A、10 10

    B、20 10

    C、20 20

    D、10 20

    答案:【点击查看答案】

    50、

    下列程序的运行结果是( ) #include <stdio.h> void fun(); int a=5; int main() { int a=10; fun(); printf("%5d",a); return 0; } void fun() { a=a+5; printf("%5d",a); }

    A、10 10

    B、5 10

    C、10 5

    D、5 5

    答案:【点击查看答案】

    51、

    以下正确的描述是( )

    A、函数的定义可以嵌套,但函数的调用不可以嵌套

    B、函数的定义不可以嵌套,但函数的调用可以嵌套

    C、函数的定义和函数的调用均不可嵌套

    D、函数的定义和函数的调用均可以嵌套

    答案:【点击查看答案】

    52、

    下列程序的运行结果是( ) #include <stdio.h> int fun1(int x); void fun2(); int x=5; int main() { int x=1; x=fun1(x); printf("%d",x); return 0; } int fun1(int x) { x++; fun2(); return x; } void fun2() { x++; }

    A、2

    B、6

    C、7

    D、5

    答案:【点击查看答案】

    53、

    函数习题(1):输出水仙花数

    答案:【点击查看答案】

    54、

    函数习题(2):输入年月日,输出是本年第几天

    答案:【点击查看答案】

    55、

    函数习题(3):函数实现求最大公约数和最小公倍数

    答案:【点击查看答案】

    56、

    函数习题(4):递归方法完成Fibonacci数列前n项

    答案:【点击查看答案】

    57、

    函数习题(5):判断一个数是否是回文数

    答案:【点击查看答案】

    58、

    函数习题(6):递归完成x的n次方的计算

    答案:【点击查看答案】

    59、

    函数习题(7):递归方法求n阶勒让德多项式的值

    答案:【点击查看答案】

    60、

    函数习题(8):分解一个整数的所有素数因子

    答案:【点击查看答案】

    61、

    函数习题(9):递归方法求计算x-x2+x3-x4+…+(-1)n-1xn值

    答案:【点击查看答案】

    62、

    将文件分为ASCII码文件和二进制码文件两种,是从文件的( )来区分的。

    A、读写方式

    B、存盘方式

    C、编码方式

    D、打开方式

    答案:【点击查看答案】

    63、

    文本文件在磁盘存放时,每个字符对应一个字节,用来存放( )码。

    A、二进制

    B、ASCII

    C、字符

    D、数字

    答案:【点击查看答案】

    64、

    文件操作流程中的最后一个步骤是( )文件。

    A、打开

    B、读取

    C、存储

    D、关闭

    答案:【点击查看答案】

    65、

    文件的变量类型名是( )。

    A、char

    B、int

    C、file

    D、FILE

    答案:【点击查看答案】

    66、

    在fopen函数中,“rb”表示为输入打开一个( )文件。

    A、文本

    B、二进制

    C、头文件

    D、目标文件

    答案:【点击查看答案】

    67、

    C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是( )。

    A、队列

    B、链表

    C、结构体

    D、数组

    答案:【点击查看答案】

    68、

    当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可( )。

    A、对全部元素赋初值

    B、对部分元素赋初值

    C、对数组元素赋同一初值

    D、在方括号中写入变量表达式

    答案:【点击查看答案】

    69、

    数组元素下标可从( )开始。

    A、1

    B、0

    C、任意自然数

    D、用户指定

    答案:【点击查看答案】

    70、

    冒泡排序中,若有n个数,第一趟最多需要比较( )次。

    A、n

    B、n-1

    C、2n

    D、2(n-1)

    答案:【点击查看答案】

    71、

    利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则( )。

    A、交换两个数的位置

    B、将当前数据后移

    C、将当前数据前移

    D、不做操作

    答案:【点击查看答案】

    72、

    若不允许函数修改数组元素,则可以用( )限定符作为数组参数的前缀,这样数组元素就成为函数中的常量。

    A、const

    B、include

    C、define

    D、fix

    答案:【点击查看答案】

    73、

    在定义int m[ ][3]={1,2,3,4,5,6};后,m[1][0]的值是( )。

    A、4

    B、1

    C、2

    D、5

    答案:【点击查看答案】

    74、

    若给出以下定义: char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为( )。

    A、数组x和数组y等价

    B、数组x和数组y的长度相同

    C、数组x的长度大于数组y的长度

    D、数组x的长度小于数组y的长度

    答案:【点击查看答案】

    75、

    函数调用语句为: int a[10],maxnum; … maxnum=max(a); 函数定义首部应为( )。

    A、int max(int b)

    B、int max(int b[])

    C、int max(int a)

    D、double max(int b[])

    答案:【点击查看答案】

    76、

    若有定义:int b[3][4]={0};则下述正确的是( )。

    A、此定义语句不正确

    B、没有元素可得初值0

    C、数组b中各元素均为0

    D、数组b中各元素可得初值但值不一定为0

    答案:【点击查看答案】

    77、

    数组习题:求矩阵中最大元素值,并与同行对角线元素交换

    答案:【点击查看答案】

    78、

    数组习题:将2个升序数组合并为一个升序数组

    答案:【点击查看答案】

    79、

    数组习题:完成十进制数转成为二进制数

    答案:【点击查看答案】

    80、

    数组习题:输出Fibonacci数列的前n项

    答案:【点击查看答案】

    81、

    数组习题:数组元素前移

    答案:【点击查看答案】

    82、

    数组习题:有序数组中插入若干数,仍保持有序

    答案:【点击查看答案】

    83、

    数组习题:电文加密

    答案:【点击查看答案】

    84、

    若定义结构体类型变量student,以下各项对结构体变量成员引用错误的是()。 struct stud_type { int num; char name[10]; int age; float score; }student;

    A、student.num=10002;

    B、student.name="高远";

    C、student.age=19;

    D、student.score=90;

    答案:【点击查看答案】

    85、

    以下选项中不能正确把cl定义成结构体变量的是( )。

    A、typedef struct { int red; int green; int blue; } COLOR; COLOR cl;

    B、struct color cl { int red; int green; int blue; };

    C、struct color { int red; int green; int blue; }cl;

    D、struct { int red; int green; int blue; }c1;

    答案:【点击查看答案】

    86、

    结构体变量整体作函数参数时,以下说法正确的是( )。

    A、实参结构体变量和形参结构体变量的类型应当一致

    B、结构体变量整体不能做实参

    C、结构体变量整体不能做形参

    D、以上说法都不对

    答案:【点击查看答案】

    87、

    已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是( )。 void main() { union { unsigned char c; unsigned int i[4]; } z; z.i[0]=0x39; z.i[1]=0x36; printf("%c\n",z.c); }

    A、6

    B、9

    C、0

    D、3

    答案:【点击查看答案】

    88、

    在下面的叙述中,不正确的是( )。

    A、枚举变量只能取对应枚举类型的枚举常量表中的元素

    B、可以在定义枚举类型时对枚举常量进行指定表示的值

    C、枚举常量表中的元素有先后次序,可以进行比较

    D、枚举常量的值可以是整数或字符串

    答案:【点击查看答案】

    89、

    结构体习题:输入n名学生学号、姓名、三门课成绩,计算平均分,输出排行榜

    答案:【点击查看答案】

    90、

    枚举型习题:输入整数输出其对应的颜色

    答案:【点击查看答案】

    91、

    共用体习题:统计单位n名职工计算机水平考试成绩

    答案:【点击查看答案】

    92、

    系统根据( )为变量分配内存单元。

    A、类型

    B、数据

    C、大小

    D、名称

    答案:【点击查看答案】

    93、

    程序编译后,对变量的访问通过( )来进行的。

    A、地址

    B、变量名

    C、函数

    D、文件

    答案:【点击查看答案】

    94、

    int a[5]={ 10,20,30,40,50 }, *p=a; printf("%d\n",*p+1); 结果是( )。

    A、10

    B、11

    C、20

    D、21

    答案:【点击查看答案】

    95、

    若int *p[4],则p的含义是( )。

    A、整型变量

    B、指针数组

    C、指向整型的指针

    D、指向一维分数组的指针

    答案:【点击查看答案】

    96、

    请正确的填充语句:void main( int argc, char ( ))。

    A、argv

    B、argv[ ]

    C、*argv[ ]

    D、**argv[ ]

    答案:【点击查看答案】

    97、

    定义p为指向函数的指针变量,应该采用( )方式。

    A、int p( int x );

    B、int p ( int *x );

    C、int *p ( int *x);

    D、int (*p)( int x );

    答案:【点击查看答案】

    98、

    获取指针变量所指向的值时所用的运算符是( )。

    A、*

    B、%

    C、&

    D、!

    答案:【点击查看答案】

    99、

    int a[10], *p;则让p指向数组的首地址的语句是( )。

    A、p=a[0];

    B、p=&a[0];

    C、a=p;

    D、*p=a;

    答案:【点击查看答案】

    100、

    数组名是表示数组首地址的( )。

    A、常量

    B、变量名

    C、结构体

    D、别名

    答案:【点击查看答案】

    101、

    int a[3][5], *p; p=a[0]; 则p++后的值代表了( )。

    A、第一个元素的首地址

    B、第二行的首地址

    C、第一个元素的值

    D、第一行第二个元素的首地址

    答案:【点击查看答案】

    102、

    指针习题:升序排序

    答案:【点击查看答案】

    103、

    指针习题:编写字符串连接函数strcat()

    答案:【点击查看答案】

    104、

    指针习题:编写测字符串长度函数strlen()

    答案:【点击查看答案】

    105、

    指针习题:猴子选大王

    答案:【点击查看答案】

    106、

    一个C程序可能出现的错误有()

    A、语法错误

    B、逻辑错误

    C、运行错误

    D、以上都包括

    答案:【点击查看答案】

    107、

    C语言源程序文件后缀为( )

    A、.EXE

    B、.OBJ

    C、.C

    D、.ASM

    答案:【点击查看答案】

    108、

    C语言中基本的数据类型不包括( )

    A、int

    B、long

    C、float

    D、char

    答案:【点击查看答案】

    109、

    C语言中符号常量定义的关键字是( )

    A、int

    B、const

    C、include

    D、define

    答案:【点击查看答案】

    110、

    设有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )

    A、2.75

    B、3.5

    C、2.5

    D、0.0

    答案:【点击查看答案】

    111、

    以下选项中非法的表达式是( )

    A、0<=x<100

    B、i=j==0

    C、(char)(x<100)

    D、x+1=x+1

    答案:【点击查看答案】

    112、

    若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是( )

    A、-3

    B、9

    C、-12

    D、6

    答案:【点击查看答案】

    113、

    函数putchar()可以向终端输出一个( )

    A、字符串

    B、字符或字符型变量的值

    C、整型变量的值

    D、实型变量的值

    答案:【点击查看答案】

    114、

    下列运算符中,优先级从高到低依次为( )

    A、&& ! ||

    B、|| && !

    C、&& || !

    D、! && ||

    答案:【点击查看答案】

    115、

    设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )

    A、0

    B、1

    C、2

    D、3

    答案:【点击查看答案】

    116、

    以下程序段的输出结果是( ) int x=1,a=0,b=0; switch(x) {case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b);

    A、a=2,b=1

    B、a=1,b=1

    C、a=1,b=0

    D、a=2,b=2

    答案:【点击查看答案】

    117、

    以下程序段的输出结果是( ) int k,n; for(k=1;k<=5;k++) { n=k*k; if(n<10) continue; else printf("%d ",n); }

    A、1 4 9

    B、1 4 9 16 25

    C、16 25

    D、因循环终止,没有任何输出结果

    答案:【点击查看答案】

    118、

    以下正确的函数原型声明是( )

    A、double fun(int x , int y)

    B、double fun(int x ; int y)

    C、double fun(int x , int y);

    D、double fun(int x,y)

    答案:【点击查看答案】

    119、

    以下不正确的说法是,C语言规定( )

    A、实参可以是常量、变量或表达式

    B、形参可以是常量、变量或表达式

    C、实参可以是任意类型

    D、实参应与其对应的形参类型一致

    答案:【点击查看答案】

    120、

    以下不正确的说法是( )

    A、在不同函数中可以使用相同名字的变量

    B、形式参数是局部变量

    C、在函数内定义的变量只在本函数范围内有定义

    D、在主函数内定义的变量可在其余函数中通用

    答案:【点击查看答案】

    121、

    下列程序的运行结果是: #include <stdio.h> int x1=30,x2=40; void sub(int x,int y) { x1=x;x=y;y=x1;} int main() { int x3=10,x4=20; sub(x3,x4); sub(x2,x1); printf(“%d,%d,%d,%d\n”,x3,x4,x1,x2); return 0; }

    A、10,20,40,40

    B、10,20,30,40

    C、10,20,40,30

    D、20,10,30,40

    答案:【点击查看答案】

    122、

    下列程序的运行结果是( ) #include<stdio.h> void fun(int x); int main() { fun(7); printf(""); return 0; } void fun(int x) { if(x/2>1) fun(x/2); printf("%2d",x); }

    A、3 5

    B、2 7

    C、3 7

    D、2 5

    答案:【点击查看答案】

    123、

    以下数组定义中,( )是错误的

    A、int a[7];

    B、#define N 5 long b[N];

    C、char c[5];

    D、int n,d[n];

    答案:【点击查看答案】

    124、

    执行下面程序,输出结果是( ) #include <stdio.h> void main() { int i; int x[3][3]={9,8,7,6,5,4,3,2,1}; for (i=0;i<3;i++) printf("%d ",x[i][2-i]); }

    A、9 5 1

    B、7 4 1

    C、7 5 3

    D、9 6 3

    答案:【点击查看答案】

    125、

    执行下面程序,输出结果是( ) #include <stdio.h> void main() { int i,j,k=0,a[3][3]={1,2,3,4,5,6}; for(i=0;i<3;i++) for(j=i;j<3;j++) k+=a[i][j]; printf("%d",k); }

    A、21

    B、19

    C、17

    D、18

    答案:【点击查看答案】

    126、

    执行下面程序,输出结果是( ) #include <stdio.h> void main() { int i,a[10]={0,1,2,3,4,5,6,7,8,9}; for(i=1;i<9;i++) a[i]=a[i-1]+a[i+1]; printf("%d%d",a[5],a[7]); }

    A、1014

    B、2035

    C、812

    D、2744

    答案:【点击查看答案】

    127、

    设有 char str[ ]="Shanghai"; 则执行printf("%d\n", strlen(strcpy(str,"Shanxi")));后的输出结果为( )

    A、14

    B、ShanghaiShanxi

    C、6

    D、Shanxi

    答案:【点击查看答案】

    128、

    若有定义和语句:char s[10]=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)( )

    A、输出abcd

    B、输出a

    C、输出abcduuuuuu

    D、编译不通过

    答案:【点击查看答案】

    129、

    C语言结构体类型变量在程序运行期间()

    A、在内存中仅仅开辟一个存放结构体变量地址的单元

    B、所有的成员一直驻留在内存中

    C、只有第一个成员驻留在内存中

    D、部分成员驻留在内存中

    答案:【点击查看答案】

    130、

    根据下面的定义,能打印出字母P的语句是( ) struct person { char name[9]; int age;}; struct person classes[10]={"John",17, "Paul",19,"Mary",18, "Adam",16};

    A、printf("%c\n",classes[2].name);

    B、printf("%c\n",classes[2].name[1]);

    C、printf("%c\n",classes[1].name[0]);

    D、printf("%c\n",classes[1].name[1]);

    答案:【点击查看答案】

    131、

    设有以下语句 typedef struct S { int g; char h;} T;则下面叙述中正确的是( )

    A、可以用S定义结构体变量

    B、可以用T定义结构体变量

    C、S是struct类型的变量

    D、T是struct S类型的变量

    答案:【点击查看答案】

    132、

    有以下程序: union pw { int i; char ch[2]; }a; void main() { a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); }程序的输出结果是 ( )

    A、13

    B、14

    C、208

    D、209

    答案:【点击查看答案】

    133、

    若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是( )

    A、a , point , *&a

    B、&*a , &a , *point

    C、*&point , *point , &a

    D、&a , &*point , point

    答案:【点击查看答案】

    134、

    若定义 int a[5],*p=a; ,则对a数组元素值的正确引用是().

    A、*&a[5]

    B、a+2

    C、*(p+5)

    D、*(a+2)

    答案:【点击查看答案】

    135、

    对二维数组int a[3][4]来说,第i行第j列的元素值可以用( )来表示

    A、*(a+i)+j

    B、a[i]+j

    C、*(*(a+i)+j)

    D、&a[i][j]

    答案:【点击查看答案】

    136、

    int a[5]={ 10,20,30,40,50 }, *p=&a[2]; printf("%d\n",*p+1);结果是( )

    A、10

    B、31

    C、20

    D、21

    答案:【点击查看答案】

    137、

    程序段char *s="abcde"; s+=2;printf("%s",s); 的运行结果是( )

    A、cde

    B、c

    C、bcde

    D、abcde

    答案:【点击查看答案】

    138、

    在C语言中,下面对文件的叙述正确的是 ()。

    A、用“r+”方式打开的文件只能从文件读数据

    B、用“r”方式打开的文件只能向文件写数据

    C、用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在

    D、用“w+”方式打开的文件只能用于向文件写数据,且该文件可以不存在

    答案:【点击查看答案】

    139、

    文件操作流程中的最后一个步骤是( )文件

    A、打开

    B、读取

    C、关闭

    D、存储

    答案:【点击查看答案】

    140、

    将键盘读入的学生信息,写入文件保存,正确的形式是()。

    A、printf(fp,"%8s%5d%8.2f\n",stu.name,stu.num,stu.score);

    B、printf("%8s%5d%8.2f\n",stu.name,stu.num,stu.score,fp);

    C、fprintf("%8s%5d%8.2f\n",stu.name,stu.num,stu.score,fp);

    D、fprintf(fp,"%8s%5d%8.2f\n",stu.name,stu.num,stu.score);

    答案:【点击查看答案】

    141、

    有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值2,正确的数据输入方式是( )

    A、1 3 2

    B、1,3,2

    C、a=1 b=3 c=2

    D、a=1,b=3,c=2

    答案:【点击查看答案】

    142、

    选择结构习题:求三个数的最大值

    答案:【点击查看答案】

    展开全文
  • 例7-11原题:输入一个以回车符为结束标志的字符串(少于80个字符),判断该字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。 在C语言中,字符串的存储和运算可以用一维字符数组来实现。数组...

    例7-11原题:输入一个以回车符为结束标志的字符串(少于80个字符),判断该字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。
    在C语言中,字符串的存储和运算可以用一维字符数组来实现。数组长度取上限80,以回车符 ‘\n’ 作为输入结束符。

    课本的源码及我的理解:

    #include<stdio.h>
    innt main()
    {
    	int i,k;//两个变量,一个从前移动,一个从后移动 
    	char line[80];//定义字符串
    	printf("Enter a string: ");//输入提示 
    	k=0;
    	while((line[k]=getchar())!='\n')//输入的字符不是回车的时候 继续输入 
    	  k++;//这里可以数出字符串的有效长度 
    	line[k]='\0';//否则结束,以 '\0'结尾
    	 
    	//判断字符串line是否为回文
    	//i 和 k 两个下标从字符串首尾两端同时向中间移动,逐对判断对应字符是否相等
    	i=0;
    	k=k-1;//k是要从后面移动的 
        while(i<k)//一直移动,直到 i=k 
    	{
    		if(line[i]!=line[k])//如果两个对应的字母不相等没必要继续了,循环结束跳到while外的语句 
    		  break;
    		i++;//否则继续移动 
    		k--;
    	}
    	if(i>=k)//若一直循环,说明对应的字母一直相等,也就是回文 
    	  printf("It is a pallindrome.\n");
    	else//根据条件,这里是从break语句接下来的 
    	  printf("It is not a pallindrome.\n");
    	return 0;
    }
    

    我的解释有误请指出,谢谢!

    既然都写了,顺带把一维字符数组也写了吧

    定义一个有80个字符型元素的数组str:

    char str[80];
    

    字符型数组的初始化

    char t[5]={'H','a','p','p','y'};
    

    对静态数组s的前5个元素赋初值,其余元素的初值为0

    static char s[6]={'H','a','p','p','y'};
    
    static char s[6]={'H','a','p','p','y',0};
    

    整数0代表字符 ‘\0’ ,所以上式还等价于

    static char s[6]={'H','a','p','p','y','\0'};
    

    同样的,如果对全部元素赋了初值,就可以省略数组长度,即:

    static char s[]={'H','a','p','p','y','\0'};
    

    上式的数组长度是6
    可以用循环语句输出数组 t 的所有元素

    for(i=0;i<5;i++)
      putchar(t[i]);
    

    课本解释的字符串:
    字符串:有效字符 和 字符串结束符 ‘\0’ 组成

    例如:字符串 “Happy” 由6个字符组成,分别是 有效字符’H’, ‘a’, ‘p’, ‘p’, ‘y’ 和 字符串结束符’\0’

    将字符串存入字符数组时,由于它有一个结束符 ‘\0’ ,数组长度 至少是字符串的有效长度+1.

    字符串常量:用一对双引号括起来的字符序列

    字符串的存储——一维数组初始化

    static char s[6]={'H','a','p','p','y','\0'};
    

    可以使用字符串常量,上式等价于:

    static char s[6]={"Happy"};
    
    static char s[6]="Happy";
    
    展开全文
  • 这是一个C语言程序,用了动态创建内存的方法来处理未知个数的字符的情况,思想较简单。
  • 判断回文C语言,用栈来解决)

    千次阅读 2018-10-21 20:14:19
    回文:从左读=从右读 用C语言写出栈的功能 # include # include # include using namespace std ; # define MAXSIZE 100 typedef char ElemType ; typedef struct { //顺序栈的...
    • 回文:从左读=从右读
    • 用C语言写出栈的功能
    #include<iostream>
    #include<stdlib.h>
    #include<string.h>
    using namespace std;
    
    #define MAXSIZE 100
    typedef char ElemType;
    typedef struct{ 	//顺序栈的数据类型
    	ElemType *base;
    	ElemType *top;
    	int stacksize;	
    }Stack;
    
    //初始化栈
    int Init(Stack &S){
    	S.base = new ElemType[MAXSIZE];
    	if(!S.base) exit(-2);
    	S.top = S.base;
    	S.stacksize = MAXSIZE;
    	return 1;
    }
    
    //入栈
    int Push(Stack &S, ElemType x){
    	if(S.top - S.base == S.stacksize){
    		cout<<"栈空间已满!";
    		return 0;
    	}
    	*S.top++ = x;
    	return 1;
    }
    
    //出栈
    int Pop(Stack &S, ElemType &e){
    	if(S.base == S.top){
    		cout<<"栈空!";
    		return 0;
    	}
    	e = *--S.top;
    	return 1;
    }
    
    //获取栈顶元素
    ElemType GetTop(Stack S){
    	if(S.base != S.top){
    		return *(S.top - 1);
    	}
    }
    
    int main(){
    	Stack A;
    	ElemType x[100], e; //数组x的大小给一个比较大的就好,我这里给100
    	int length, n;
    	cout<<"将输入字符串的长度:";
    	cin>>n;
    	
    	cout<<"请输入一串字符串:"<<endl;
    	cin>>x;
    		
    	length = n/2; //需要出栈的长度 
    	Init(A);
    	for(int i = 0; i < n; i++){
    		Push(A, x[i]);
    	}
    	for(int i = 0; i < length; i++){
    		Pop(A, e); 
    		if(e != x[i]){
    			cout<<"不是回文!";
    			return 0;
    		}	
    	}
    	cout<<"是回文!"; 
    	return 0;
    }	
    

    参考资料:
    《数据结构 C语言版 第2版》严蔚敏 李冬梅 吴伟民

    展开全文
  • C语言 判断回文

    2021-05-12 00:26:09
    方法一: #include <stdio.h> void main(){ char a[100]; int i=0,j=0; printf("请输入一个字符串:\n"); gets(a); while(a[i]!='\0'){ ... printf("不是回文",a); } else{ printf(.
  • PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-8 判断回文字符串 题目要求 编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数...
  • C语言判断回文字符串

    2020-04-18 14:26:20
    C语言判断回文字符串 #include<stdio.h> char *huiwen(char *str){ int i, j,t=0; for(i = 0,j = strlen(str) - 1;i <= j; i++, j--){ if (*(str+i) != *(str+j)) { t = 1; break; } } if (t...
  • 习题8-8 判断回文字符串 (20 分) 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s )...
  • 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome判断输入字符串...
  • R7-1 判断回文字符串 #include<stdio.h> int main(){ char a[80],s[80]; int i,j,n; int cnt=0; //按要求遍历数组 for(i=0;i<80;i++){ scanf("%c",&a[i]); if(a[i]=='\n')break; printf("%c...
  • 回文判断程序

    2013-03-29 16:04:01
    回文判断程序 数据结构 c语言制作 好用
  • 回文判断C语言

    2021-03-06 21:00:03
    #include<stdio.h> #include <string.h>... //判断一个数组的长度,用于接下来做逆排序 z=i-1; for (j=0;j { b[j] = a[z]; } //i这个值很重要,不要改变他 for(j=0;j { if(a[j]!=b[j]) {pr
  • 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome判断输入字符串...
  • C语言判断回文字符串 程序功能:输入一个字符串,判断其是否为回文字符串。 所谓回文字符串,是指从左到右读和从右到左读完全相同的字符串。 代码实现: #include <stdio.h> #include<stdlib.h> #...
  • /目的:判断字符数组中的字符是否构成回文。 回文就是字符从左向右读和从右向左读都一样。 字符串长度不超过20个字符。 实现方式:利用指针但是方式不同 / #include<...//判断回文的方式1 int func2(char
  • 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome...
  • 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome判断输入字符...
  • #include <stdio.h> #include <string.h> #define MAXN 20 typedef enum { false, true } bool; bool palindrome(char *s); int main() { char s[MAXN]; scanf("%s", s);... if (pali...
  • 回文判断C语言

    千次阅读 多人点赞 2019-11-15 19:02:33
    读入一个最大长度不超过50个字符的句子,判断其是否是回文 输入形式 输入一个最大长度不超过50个字符的句子 输出形式 Yes/No 输入样例 abcba 输出样例 Yes 样例说明 输入abcba,判断出它是回文 #include...
  • 判断回文数 #include <stdio.h> int main(){ int num,s,y=0; scanf("%d", &num); s=num; while(s>0){//这段程序跟“求逆序数”的程序的核心一样 y=y*10+s%10; s=s/10; } if(y==num) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,219
精华内容 1,287
关键字:

判断回文c语言程序

c语言 订阅