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语言是一种通用的、高级的编程语言,广泛应用于系统软件和应用软件的开发中。

下面是一些可能出现在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条)

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. 输入一组数据,计算它们的平均值以及大于平均值的个数。

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