c语言判断回文

合集下载

C语言必背的典型程序设计题目 - 数组、函数-------参考答案

C语言必背的典型程序设计题目 - 数组、函数-------参考答案

1、使用选择法、冒泡法对10个数进行排序,并输出排序前后的数列。

nk=0; mt=0; //用于记录出列顺序while(t<n){if(num[i]==0) k++;if(k==m){t++;num[i]=t;k=0;}i++;if(i==n)i=0; //或者 i=i%n,构成循环}for(i=0;i<n;i++)printf("%4d",i+1);printf("\n");for(i=0;i<n;i++)printf("%4d",num[i]);printf("\n");}4、编程打印直角杨辉三角形前六行。

#include <>#include <>void main(){int i,j,a[6][6];for(i=0;i<=5;i++){a[i][i]=1;a[i][0]=1;}for(i=2;i<=5;i++){for(j=1;j<=i-1;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}for(i=0;i<=5;i++){for(j=0;j<=i;j++){printf("%4d",a[i][j]);}printf("\n");}}5、编写程序,把下面的数据输入一个二维数组中。

25 36 78 1312 26 88 9375 18 22 3256 44 36 58然后执行以下操作:①输出矩阵两个对角线上的数;②分别输出各行和各列的和;③交换第一行和第三行的位置;④交换第二列和第四列的位置;⑤输出处理后的数组。

#include<>#define SIZE 4void main(){inta[SIZE][SIZE]={{25,36,78,13},{12,26,88,93},{75,18,22,32},{56,44,36,58}};int i,j,t,sum;//输出二维数组printf("二维数组:\n");for(i=0;i<SIZE;i++){for(j=0;j<SIZE;j++){printf("%5d",a[i][j]);}printf("\n");}printf("\n");printf("主对角线上的数:");for(i=0;i<SIZE;i++){printf("%4d",a[i][i]);}printf("\n");printf("副对角线上的数:");for(i=0;i<SIZE;i++){printf("%4d",a[i][SIZE-1-i]);}printf("\n\n");//各列的和for(i=0;i<SIZE;i++){sum=0;for(j=0;j<SIZE;j++){sum+=a[i][j];}printf("第%d行的和=%d\n",i+1,sum);}printf("\n");//各列的和for(j=0;j<SIZE;j++){sum=0;for(i=0;i<SIZE;i++){sum+=a[i][j];}printf("第%d列的和=%d\n",j+1,sum);}printf("\n");//交换第一行和第三行的位置for(j=0;j<SIZE;j++){t=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}//输出二维数组printf("交换第一行和第三行后的二维数组:\n"); for(i=0;i<SIZE;i++){for(j=0;j<SIZE;j++){printf("%5d",a[i][j]);}printf("\n");}printf("\n");//交换第二列和第四列的位置for(i=0;i<SIZE;i++){t=a[i][1];a[i][1]=a[i][3];a[i][3]=t;}//输出二维数组printf("交换第2列和第4列后的二维数组:\n"); for(i=0;i<SIZE;i++){for(j=0;j<SIZE;j++){printf("%5d",a[i][j]);}printf("\n");}} 6、求一个5×5矩阵中的马鞍数,输出它的位置,所谓马鞍数是指在行上最小而在列上最大的数。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。

2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。

3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。

4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。

5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。

6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。

7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。

8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。

9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。

10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。

11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。

......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。

你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。

每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。

如果遇到问题,可以参考相关的解法或向他人寻求帮助。

通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。

祝你编程愉快!。

c语言典型例子

c语言典型例子

c语言典型例子C语言典型例子:1. Hello World程序```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```这是C语言中最基础的例子,用于输出"Hello World!"。

2. 计算两个数的和```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个数的和为:%d", sum);return 0;}```该程序通过用户输入两个整数,然后计算它们的和并输出。

3. 判断一个数是奇数还是偶数```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0) {printf("%d是偶数", num);} else {printf("%d是奇数", num);}return 0;}```该程序通过用户输入一个整数,判断该数是奇数还是偶数并输出。

4. 计算一个数的阶乘```c#include <stdio.h>int main() {int num, i, factorial = 1;printf("请输入一个整数:");scanf("%d", &num);for(i = 1; i <= num; i++) {factorial *= i;}printf("%d的阶乘为:%d", num, factorial);return 0;}```该程序通过用户输入一个整数,计算该数的阶乘并输出。

回文子串数目

回文子串数目

回文子串数目
回文子串是指从左到右和从右到左读起来都一样的字符串。

为了计算回文子串的数目,可以采用中心扩展法来判断一个字符串是否是回文串。

具体的算法步骤如下:
1. 初始化一个计数变量count,用来记录回文子串的数目。

2. 遍历字符串的每个字符,将当前字符作为回文串的中心点。

3. 从当前字符向左右两边扩展,判断左右两个字符是否相等。

如果相等,则回文串长度加2,并继续向左右两边扩展,直到左右两个字符不相等为止。

4. 每次扩展结束后,将回文串的数目count加1。

5. 继续遍历下一个字符,重复步骤2-4,直到遍历完整个字符串。

最后,返回回文子串的数目count。

注意:在判断回文串时,需要考虑回文子串的长度是奇数和偶数的情况。

对于奇数长度的回文串,中心点只有一个字符;对于偶数长度的回文串,中心点是两个相邻字符之间的位置。

C语言必考100题解析

C语言必考100题解析

C语⾔必考100题解析1.按下述格式,从键盘输⼊⼀个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。

2.输⼊两个整形数并打印,如果⽤户不慎输⼊了⾮法字符,那么程序提⽰“输⼊数据类型错误”。

3.已知三⾓形的三边长a,b,c,要求编写程序,从键盘输⼊a,b,c的值,计算并输出三⾓形的⾯积(注意不存在的情况)。

4.编程从键盘输⼊圆的半径r,计算并输出圆的周长和⾯积。

5.任意从键盘输⼊⼀个三位整数,要求正确分离它的个位,⼗位和百位数,并分别在屏幕上输出。

6.写⼀个函数实现统计⼀个输⼊的整形数的位数。

7.编程计算⽅程ax*x+bx+c=0的根,a,b,c由键盘输⼊,只是⽤主函数来实现。

8.编写三个函数,分别在b*b-4*a*c⼤于0、⼩于0、等于0时进⾏调⽤,并输出结果,在主函数中读⼊a、b、c的值。

9.从键盘输⼊你和你朋友的年龄,变成判断谁的年龄⼤,并打印最⼤者的年龄。

10.从键盘输⼊⼀个年份,判断该年是否是闰年,并输出结果。

11.判断某⼈是否属于肥胖体型。

根据⾝⾼与体重因素,医务⼯作者经⼴泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为⾝⾼,单位为m)。

当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。

编程从键盘输⼊你的⾝⾼h和体重w,根据上式,判断体重类型。

12.利⽤switch语句将百分制成绩转化为五分制成绩。

13.利⽤switch语句将五分制成绩转换成对应分数范围并输出。

14.编程设计⼀个简单的计算器程序,要求根据⽤户从键盘输⼊的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

15.利⽤时间函数编写⼀个猜数程序。

16.编程实现计算n的阶乘。

17.利⽤函数递归实现计算n!。

18.利⽤π/4=1-1/3+1/5-1/7……计算π的值直到最后⼀项的绝对值⼩于0.0001为⽌,要求统计总共累加了多少项。

C语言上机试题资料

C语言上机试题资料

C语言上机试题资料1、从键盘输入一字符串和一个字符,统计字符串中所含这个字符的个数。

2、求9000到9999整数中,每个数中间两位数字组成的两位数之和。

3、写一个函数,判断一个字符串是否为回文(如下的字符串为回文:asdfdsa,qryggyrq 即字符串是中心对称的),在主函数中输入字符串和输出回文信息。

4、从键盘中输入一个4位整数,判断这个整数的每位数字是否是一个连续的数字,如果是输出“yes”,否则输出“no”。

例如:如果输入:5678 就应输出:yes 。

4、输入10个整数,求这10个数中最大数与最小数之和。

6、写一个函数,判断两个数是否互素(即两个数的最大公约数为1),用主函数调用这个函数,并输出结果,两个数由键盘输入。

7、输入一个整数n,输出:1*2+2*3+3*4+。

+n*(n+1)的和8、输入一个字符串s1,求一个新字符串s2,使s2的前半部分是s1的偶数位上的字符,后半部分是s1奇数位上的字符。

10、输入一个4位数,判断这个四位数的每一位上的数字是否都为偶数,是输出:yes,否则输出:no 。

11、有一个10个整数的数组,从键盘输入一个整数,查找这个数是否在数组中,如果在数组中,则把它从数组中删去,输出处理后的数组。

12、写一个函数,判断一个整形矩阵(4x4)是否为对称矩阵,在主函数中输入矩阵和输出对称信息。

13、输入一字符串,统计其中含有小写英文字母的个数。

14、输入两个字符串s1,s2(s1比s2长),用s2替换s1中前端等长的字符串。

如:s1=”adfsdadsfas”, s2=”kfghg”,替换后的s1=”kfghgadsfas”。

16、输入一个四位数字,判断千位和百位组成的两位数与十位和个位组成的两位数是否相等,相等输出:yes,否则输出:no 。

17、输入一个字符串,输出这个字符串中最大的字符与最小的字符。

18、写一个函数,将一个字符串中的小写元音字母替换成数字:a->1,e->2,i->3,o->4,u->5,在主函数中输入原字符串和输出替换后的字符串。

C笔试题算法

C笔试题算法在编程面试中,C语言是最常见的编程语言之一。

C语言是一种通用的、高级的编程语言,广泛应用于系统软件和应用软件的开发中。

下面是一些可能出现在C编程笔试中的常见算法题目,以帮助大家准备面试:1. 判断一个数是否是素数题目描述:给定一个整数n,判断它是否是素数。

如果是素数,返回1;否则,返回0。

思路:一个数若为素数,则它只能被1和自身整除,所以我们只需要从2开始遍历到n-1,检查n是否能被任何一个数整除即可。

```cint isPrime(int n) {if(n <= 1) {return 0;}for(int i = 2; i < n; i++) {if(n % i == 0) {return 0;}}return 1;}```2. 计算斐波那契数列的第n项题目描述:斐波那契数列由0和1开始,后面的每一项都是前面两项的和。

给定一个整数n,计算斐波那契数列的第n项的值。

思路:使用递归或循环的方式计算斐波那契数列的第n项。

使用递归的方式:```cint fibonacci(int n) {if(n <= 1) {return n;}return fibonacci(n-1) + fibonacci(n-2);}```使用循环的方式:```cint fibonacci(int n) {int prev = 0;int curr = 1;for(int i = 2; i <= n; i++) {int temp = curr;curr += prev;prev = temp;}return curr;}```3. 判断一个字符串是否是回文字符串题目描述:给定一个字符串,判断它是否是回文字符串。

回文字符串是指正读和反读都一样的字符串。

思路:我们可以使用两个指针分别指向字符串的起始和末尾,然后不断地比较两个指针所指向的字符是否相等,直到两个指针相遇。

```cint isPalindrome(char* s) {int len = strlen(s);int start = 0;int end = len - 1;while(start < end) {if(s[start++] != s[end--]) {return 0;}}return 1;}```4. 找出数组中的两个数使得它们的和等于目标值题目描述:给定一个整数数组和一个目标值target,找出数组中和为目标值的两个数的索引。

C语言入门训练代码(10条)

C语言入门训练代码(10条)1. 输入n,计算出n的阶乘。

#include <stdio.h>int main(){int n, i;long long ret = 1;printf("请输入一个正整数:");scanf("%d", &n);for (i=1; i<=n; ++i){ret *= i;}printf("%d的阶乘是%lld\n", n, ret);return 0;}2. 编写一个程序,将一个字符串中的字母全部转换为大写字母。

#include <stdio.h>#include <ctype.h>#define MAX_LEN 100int main(){char str[MAX_LEN + 1];int i;printf("请输入一个字符串:");fgets(str, MAX_LEN, stdin);for (i=0; str[i]!='\0'; ++i){str[i] = toupper(str[i]);}printf("转换后的字符串是:%s", str);return 0;}3. 输入两个正整数m和n,求它们的最大公约数和最小公倍数。

#include <stdio.h>int main(){int m, n, i, gcd, lcm;printf("请输入两个正整数m和n:");scanf("%d %d", &m, &n);for (i=1; i<=m && i<=n; ++i){if (m%i==0 && n%i==0){gcd = i;}}lcm = m*n / gcd;printf("%d和%d的最大公约数是%d,最小公倍数是%d\n", m, n, gcd, lcm);return 0;}4. 输入一组数据,计算它们的平均值以及大于平均值的个数。

全国计算机二级C语言程序设计题((100%全中必过)

目录题目一“回文”字符串 (3)题目二迭代法求给定多项式的值 (4)题目三迭代法求给定方程的根 (5)题目四二维数组三角元素操作1 (6)题目四二维数组三角元素操作2 (7)题目四二维数组三角元素操作3 (9)题目五二维数组元素求最值 (10)题目六二维数组周边元素1 (11)题目六二维数组周边元素2 (12)题目七二维数组转一维数组1 (13)题目七二维数组转一维数组2 (14)题目七二维数组转一维数组3 (15)题目七二维数组转一维数组4 (16)题目八结构体数组排序1 (17)题目八结构体数组排序2 (18)题目八结构体数组排序3 (19)题目八结构体数组排序4 (20)题目九结构体数组求最值1 (22)题目九结构体数组求最值2 (23)题目九结构体数组求最值3 (23)题目九结构体数组求最值4 (24)题目十结构体数组筛选 (25)题目十一结构体数组字符串比较 (26)题目十二矩阵操作1 (27)题目十二矩阵操作2 (28)题目十三类似素数判断1 (29)题目十三类似素数判断2 (30)题目十四累加累乘求和1 (30)题目十四累加累乘求和2 (31)题目十四累加累乘求和3 (31)题目十四累加累乘求和4 (32)题目十四累加累乘求和5 (32)题目十四累加累乘求和6 (33)题目十四累加累乘求和7 (34)题目十四累加累乘求和8 (35)题目十四累加累乘求和9 (35)题目十四累加累乘求和10 (36)题目十四累加累乘求和11 (37)题目十四累加累乘求和12 (37)题目十四累加累乘求和13 (38)题目十四累加累乘求和14 (39)题目十四累加累乘求和15 (39)题目十四累加累乘求和16 (40)题目十五链表2 (42)题目十六删除整数位某数位 (43)题目十七删除字符串中指定字符1 (44)题目十七删除字符串中指定字符2 (45)题目十七删除字符串中指定字符3 (45)题目十七删除字符串中指定字符4 (46)题目十七删除字符串中指定字符5 (47)题目十七删除字符串中指定字符6 (47)题目十七删除字符串中指定字符7 (48)题目十七删除字符串中指定字符8 (48)题目十七删除字符串中指定字符9 (49)题目十七删除字符串中指定字符10 (50)题目十七删除字符串中指定字符11 (50)题目十七删除字符串中指定字符12 (51)题目十七删除字符串中指定字符13 (52)题目十七删除字符串中指定字符14 (53)题目十七删除字符串中指定字符15 (54)题目十七删除字符串中指定字符16 (54)题目十七删除字符串中指定字符17 (55)题目十七删除字符串中指定字符18 (56)题目十八数字字符串转整数1 (57)题目十八数字字符串转整数2 (58)题目十九素数判定1 (58)题目十九素数判定2 (59)题目十九素数判定3 (60)题目二十统计问题 (61)题目二十一小数位操作 (62)题目二十二一维数组或字符串排序1 (62)题目二十二一维数组或字符串排序2 (63)题目二十二一维数组元素的筛选1 (64)题目二十二一维数组元素的筛选2 (64)题目二十二一维数组元素的筛选3 (65)题目二十二一维数组元素的筛选4 (66)题目二十二一维数组元素的筛选5 (67)题目二十二一维数组元素的筛选6 (67)题目二十二一维数组元素的筛选7 (68)题目二十二一维数组元素的筛选8 (69)题目二十二一维数组元素的筛选9 (70)题目二十三一维数组元素筛选 (70)题目二十五一维数组最值求解1 (71)题目二十五一维数组最值求解2 (72)题目二十五一维数组最值求解3 (73)题目二十六移动问题1 (73)题目二十七整数合并1 (75)题目二十七整数合并2 (75)题目二十七整数合并3 (76)题目二十七整数合并4 (76)题目二十七整数合并5 (77)题目二十七整数合并6 (77)题目二十七整数合并7 (78)题目二十七整数合并8 (78)题目二十八字符串长度比较1 (78)题目二十八字符串长度比较2 (79)题目二十九字符串的逆置 (80)题目三十字符串计数 (81)题目三十一字符串连接1 (82)题目三十一字符串连接2 (82)题目三十一字符串连接3 (83)题目三十二字符串中指定字符查找 (84)题目三十三字母大小的判断及转换 (84)题目一“回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。

数据结构C语言用栈判断回文数

InitStack(S);
printf(" 用栈判断字符串是否为回文数\n");
Judgment(S);
}
}
if(len%2==0)
{
next=mid;
}
else
{
next=mid+1;
}
for(i=next;i<=len-1;i++)
{
if(a[i]==S->data[S->top])
{
Pop(S,x);
}
else break;
{
return(S->top==MAXSIZE-1?1:0);
}
int Push(SqStack *S,DataType e)//进栈
{
if(StackFull(S))
return 0;
S->top++;
S->data[S->top]=e;
return 1;
}
int Pop(SqStack *S,DataType e)//出栈
}SqStack;
int InitStack(SqStack *S)//初始化栈
{
S->top=-1;
return 1;
}
int StackEmpty(SqStack *S)//判栈空
{
return(S->top==-1?1:0);
}
int StackFull(SqStack *S)//判栈满
#include<stdio.h>
#include<string.h>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档