C语言编程 编程java判断输入字符串的一串字符是否为“回文”。所谓“回文”是指顺序读和逆序读都一样的字符串。

问:C语言中怎么用递归法打印斐波那契数列C语言中怎么用递归法打印斐波那契数列答:include&stdio.h&int main(){ int a,b,c,i,a=;b=1;scanf("%d",&c);for(i=1;i&=c;i+){ he=a+b;a=b;b=} printf("%d",he);}这是很久以前写的了,...
问:一道关于回文的C语言题目通常称正读和反读都相同的字符序列为“回文”,例如‘abba’和‘abcdcba’是回文...答:一楼回复,不仔细看题目,用数组倒腾了一遍。数组是可以随意访问的,而单链表不行的。单链表的话,这个问题是比较麻烦的。如果双向链表,可以一个指针一个指针在...
问:C语言问题:请找出小于1的回文素数答:进行两次循环第一次是进行加一第二次循环数一直除1+1直到加到比本身小1如果能整除进行下一次循环反之输出返回进行下一次循环这就是思路如果要例子也可以补充下...
问:C语言用递归判断数字是否为回文数不能使用数组实在是不会啊我自己编的那个太麻烦了有简单的编法吗?多谢!答:首先求出数字的长度n,然后判断第1位和第n位是否相等第i位和第n+1-i位是否相等。对i循环单独写一个函数求出这个数字第i位的大小 int GetI(int i,int number){...
问:C语言使用指针编写函数分别实现以下功能,每个功能一个函数,函数的参数必须使用字符...答:思路:1求字符串长度2反转字符串3源字符串和反转后字符串如果相等,那么为回文字符串。while(*p!'')错误应该和''比较...
问:回文数C语言若一个数(首位不为)从左向右读与从右向左读都是一样,我们就将其称之为回文...答:ok了。include&stdio.h&#include&string.h&/判断是否是回文,处理相加,判断是不是还找不到。bool f(char str[],int n){ int i,j;char ans[1];int e,d;for(i=;...
问:用C语言求回文的问题,看看哪里出错答:有2个错误,见程序中的注释。改了还错我就不上网了/*new*/…for(i=;i;i+){/*(1)(break;是在发现两端的字符有不等的时候才发生的,所以要作为这个比较语句...
问:回文字符串—递归。C语言。有一种特殊形式的字符串,其正反序相同,被称为“回文字符串”。例如LeveL就是...答:include&stdio.h&#include&string.h&char_str[15];int IsH(char_str[],int_L,int_R){ if(_L&=_R)return1;if(_str[_L]-_str[_R])return IsH(_str,_L+...
问:C语言判断是不是回文数?C语言中,给一个5位数,判断它是不是回文数。该如何编程呀?谢谢!答:程序源码:main(){ long ge,shi,qian,wan,x;scanf("%ld",&x);wan=x/1;qian=x%1/1;shi=x%1/1;ge=x%1;if(ge=wan&shi=qian)/*个位等于万位并且十...
问:c语言,利用递归判断回文读入一个字符串,如果是回文,输出YES,否则输出NO答:include&stdio.h&#include&string.h&int main(void){ char p[1]={};int i,t,n;gets(p);n=t=strlen(p);n;t/2;for(i=;i;i){ if(*(p+i)!(p+n-i)){}} if...
问:求回文数的一道C语言题这是一道求回文数的题,输入11到之间的数m,它满足m,m*m和m*m*m均为回文数:#...答:先做减一,再做判断。strl作为xy的长度,在经过一个循环后,要先减一。
问:C语言递归函数写回文程序(回文)回文即一种字符串,无论正读反读,都会拼出同样的单词或短语。...答:include&stdio.h&int palindrome(char*string);void main(){char str[1],*string=gets(string);i=palindrome(string);printf("i=dn",i);getch();}...
问:C语言中如何判断回文判断的回文:使用者输答:判断字符串是否是回文*/include&stdio.h&#define MAX5 int cycle(char*s){ char*h,*t;for(h=s,t=s+strlen(s)-1;t&h;h+,t-){ if(*h!t){ printf("%c",h);}...
问:递归数字回文错在哪里?C语言 include&stdio.h&int main(){ int numpal(int,int);int num,i,a,printf(...答:恕我直言,你把递归和非递归混为一谈了,你的函数无法求出逆序数。在你的码的基础上,我修改了一个递归求解的码如下,你对照看一下:#include&stdio.h&int...
08-2509-1409-0307-22
04-2410-0310-0310-03
◇本站云标签C语言编程题(带答案)- 道客巴巴
1、 求 100 之内自然数中最大的能被 17 整除的数。
2、 已知 a, b, c 都是 1 位整数, 求当三位整数 abc、 cba 的和为 1333 时 a、 b、 c 的值。
3、 计算并输出 200-400 之间不能被 3 整除的整数的和。
4、 从键盘输入 10 个数, 统计非负数的个数, 并计算非负数的和
5、 求 100 之内自然数中偶数之和。
6、 输入 5 个数, 求和并输出。 要求编写求和的函数。
7、 编程计算 1*2*3+3*4*5+5*6*7+&&+99*100*101 的值。
8、 编写程序, 将用户输入的字符串中所有的字符 a 用*代替, 然后输出。
9、 编写程序, 将一个一维数组的元素逆序存放并输出。 例如, 原顺序为 1, 2, 3, 4,5, 逆序后为 5, 4, 3, 2, 1。
10、 求 3 行 3 列矩阵 a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。
11、 编程判断输入的整数的正负性和奇偶性。 如果为正数, 输出 z; 如果为负数, 输出f; 如果为偶数, 输出 o; 如果为奇数, 输出 j
12、 计算并输出 1-200 之间不能被 5 整除的整数的和。
13、 从键盘输入 n 和 a 的值, 计算 a+aa+aaa+&&+aa&&a(n 个 a)的值。
14、 输入 5 个数, 求它们中最大值和平均值并输出。
15、 输出所有 200-400 之间能被 3 整除且个位数字为 6 的整数
16、 编写程序, 将用户输入的字符串中所有的字符 a 去掉, 然后输出剩余的字符。
17、 计算并输出 200-400 之间不能被 7 整除的整数的和。
18.计算并输出 200-400 之间不能被 5 整除的整数的和
19、 从键盘输入 10 个数, 统计非正数的个数, 并计算非正数的和
20、 输入一串字符, 将其中的大写字母变成对应的小写字母并输出。
21、 打印所有的水仙花数。 所谓水仙花数是指一个三位数, 其各位数字的立方和等于该数。 例如, 153 就是一个水仙花数, 因为 153=1*1*1+5*5*5+3*3*3。
22、 一个皮球从 100 米高度自由落下, 每次落地后反弹回原高度的一半, 再落下, 再反弹。 求当它第 10 次落地时, 共经过了多少米, 第 10 次反弹多高?
23、 输出所有 0-200 之间能被 3 整除且个位数字为 6 的整数。
24、 输入一个正整数, 输出它的阶乘。
25、 编写程序, 判断从键盘输入的字符中数字字符的个数、 大写字母的个数、 小写字母的个数及其它字符的个数, 以*作为字符输入结束标志。
26、 编写程序, 使用循环结构输出下列图形:
27、 输入一串字符, 逆序输出。 要求使用数组实现。
28、 求 1-1/2+1/3-1/4+&&+1/99-1/100 的值。
29、 输入 3 个学生 4 门课的成绩{(60,70,65,75), (75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出, 结果保留一位小数。
30、 求两个正整数的最大公约数。
31、 求 100 之内自然数中奇数之和。
32、 输出所有 200-400 之间能被 3 整除且个位数字为 7 的整数。
33、 编程计算 1*2*3+4*5*6+&&+97*98*99 的值
34、 输入 n 的值, 计算并输出 1*1+2*2+3*3+4*4+5*5+&&+n*n 的值。 要求编写函数 f求平方。
35、 计算并输出 1-200 之间不能被 3 整除的整数的和。
36、 输入 3 个学生 4 门课的成绩{(60,70,65,75), (75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出, 结果保留一位小数。
37、 输入一个华氏温度, 输出摄氏温度, 计算公式为 c=5/9*(F-32)。 要求结果保留两位小数。
38、 输入任意三个数, 按从大到小的顺序输出
39、 用 1 元人民币兑换 5 分、 2 分、 1 分的硬币共 50 枚, 每种硬币至少一枚, 问共有多少种兑换方案? 输出每一种方案中三种硬币的数量
40、 从键盘输入圆的半径, 计算并输出圆面积与周长, 要求结果保留两位小数。
41、 从键盘输入一个字符串, 再输入两个正整数 m 和 n, 输出字符串中从 m 开始, 连续 n 个字符。 例如, 输入 abcdefg, 2, 3, 输出 bcd。
42、 输入一个不多于 5 位的正整数, 判断它是几位数, 并逆序输出各位数字
43, 输出 Fibonacci 数列的前 40 项
44, 判断某一年是否是闰年
45, 起泡法(选择法) 对十个数排序
46, 判断某个数是否为素数.
47,编程计算 1! +2! +3! +&+10 的值。
48, 求以下数列前十五项的和: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13&。
49, 从键盘输入圆柱体高与底面半径, 计算并输出圆柱体表面积与体积, 要求结果保留两位小数。
50,从键盘输入一个十进制整型数据, 计算并输出其各位上数字之和(忽略正负号)。 例如, 输入 1234, 输出 10; 输入-1234, 输出 10。
51,已知银行定期存款利率为 r=2.25%, 输入存款本金 x、 存款年数 n, 输出本利之和y=x(1+r)(1+r)&&(1+r),共 n 个(1+r)。
52,编程判断输入的字符串是否为 &回文&。所谓 &回文&是指顺读和倒读都一样, 如 abcba。
53、 编写程序, 将用户输入的字符串中删除所有的数字, 然后输出剩余的字符
四、 编程题(2 道小题, 共 20 分)
1、 求 100 之内自然数中最大的能被 17 整除的数。
void main()
for(i=100;i&0;i--)
if(i%17==0)
printf(&%d\n&,i);
2、 已知 a, b, c 都是 1 位整数, 求当三位整数 abc、 cba 的和为 1333 时 a、 b、 c 的值。
void main()
int a,b,c;
for(a=1;a&=9;a++)
for(b=0;b&=9;b++)
for(c=1;c&=9;c++)
if(a*100+b*10+c+c*100+b*10+a==1333)
printf(&%d,%d,%d\n&,a,b,c);
3、 计算并输出 200-400 之间不能被 3 整除的整数的和。
void main()
{ int i,sum=0;
for(i=200;i&=400;i++)
if(i%3!=0)
sum=sum+i;
printf(&%d\n&,sum);
4、 从键盘输入 10 个数, 统计非负数的个数, 并计算非负数的和。
void main()
{ int i,n=0,sum=0;
int a[10];
printf(&请输入 10 个数:& );
for(i=0;i&10;i++)
scanf(&%d& ,&a[i]);
for(i=0;i&10;i++)
if(a[i]&=0)
{ sum=sum+a[i];
printf(&非负个数是%d, sum=%d\n&,n,sum);
5、 求 100 之内自然数中偶数之和。
void main()
{ int i,sum=0;
for(i=0;i&=100;i++)
if(i%2==0)
sum=sum+i;
printf(&sum=%d\n&,sum);
6、 输入 5 个数, 求和并输出。 要求编写求和的函数。
void main()
{ int b(int x[],int n);
int sum=0;
printf(&请输入 5 个数:&);
for(i=0;i&5;i++)
scanf(&%d&,&a[i]);
sum=b(a,5);
printf(&sum=%d\n&,sum);
int b(int x[],int n)
{ int i,sum=0;
for(i=0;i&5;i++)
sum=sum+x[i]; }
7、 编程计算 1*2*3+3*4*5+5*6*7+&&+99*100*101 的值。
void main()
{ int i,sum=0;
for(i=1;i&=99;i=i+2)
sum=sum+i*(i+1)*(i+2);
printf(&%d\n&,sum);
8、 编写程序, 将用户输入的字符串中所有的字符 a 用*代替, 然后输出。
void main()
{ int i,n;
char b[20];
printf(&请输入字符串:&);
n=strlen(b);
for(i=0;i&n;i++)
if(b[i]=='a')
for(i=0;i&n;i++)
printf(&%c&,b[i]);
printf(&\n&);
9、 编写程序, 将一个一维数组的元素逆序存放并输出。 例如, 原顺序为 1, 2, 3, 4,5, 逆序后为 5, 4, 3, 2, 1。
void main()
printf(&请输入 5 个数:& );
for(i=0;i&5;i++)
scanf(&%d& ,&a[i]);
for(i=0;i&2;i++)
a[i]=a[4-i];
for(i=0;i&5;i++)
printf(&%d &,b[i]);
printf(&\n&);
10、 求 3 行 3 列矩阵 a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。
void main()
{ int i,j,sum=0;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i&3;i++)
for(j=0;j&3;j++)
if(i!=j&&i+j!=2)
sum=sum+a[i][j];
printf(&%d &,sum);
printf(&\n&);
11、 编程判断输入的整数的正负性和奇偶性。 如果为正数, 输出 z; 如果为负数, 输出f; 如果为偶数, 输出 o; 如果为奇数, 输出 j
void main()
printf(&请输入一个数:& );
scanf(&%d& ,&a);
printf(&z\n&);
printf(&f\n&);
if(a%2==0)
printf(&o\n&);
if(a%2!=0)
printf(&j\n&);
12、 计算并输出 1-200 之间不能被 5 整除的整数的和。
void main()
{ int i,sum=0;
for(i=1;i&=200;i++)
if(i%5!=0)
sum=sum+i;
printf(&%d\n&,sum);
13、 从键盘输入 n 和 a 的值, 计算 a+aa+aaa+&&+aa&&a(n 个 a)的值。
void main()
{ int i,a,n;
long int sum=0,st=0;
printf(&请输 a 和 n:&);
scanf(&%d%d&,&a,&n);
for(i=1;i&=n;i++)
{ st=st+a;
printf(&%ld\n&,sum);
14、 输入 5 个数, 求它们中最大值和平均值并输出。
void main()
int i,j,max,sum=0;
printf(&请输入 5 个数:&);
for(i=0;i&5;i++)
scanf(&%d&,&a[i]);
for(j=0;j&5;j++)
sum=sum+a[j];
void main()
for(i=200;i&=400;i++)
if((i%3==0)&&((i-6)%10==0))
printf(&%d\n&,i);
printf(&\n&);
16、 编写程序, 将用户输入的字符串中所有的字符 a 去掉, 然后输出剩余的字符。
void main()
{ int i,j,n1;
char a[20];
printf(&请输入字符串:&);
n1=strlen(a);
for(i=0;i&n1;i++)
if(a[i]!='a')
printf(&%c&,a[i]);
printf(&\n&);
17、 计算并输出 200-400 之间不能被 7 整除的整数的和。
void main()
{ int i,sum=0;
for(i=200;i&=400;i++)
if(i%7!=0)
sum=sum+i;
printf(&sum=%d\n&,sum);
18.计算并输出 200-400 之间不能被 5 整除的整数的和。
void main()
{ int i,sum=0;
for(i=200;i&=400;i++)
if(i%5!=0)
sum=sum+i;
printf(&sum=%d\n&,sum);
19、 从键盘输入 10 个数, 统计非正数的个数, 并计算非正数的和
void main()
{ int i,n=0,sum=0;
int a[10];
printf(&请输入 10 个数:& );
for(i=0;i&10;i++)
scanf(&%d& ,&a[i]);
for(i=0;i&10;i++)
if(a[i]&=0)
{ sum=sum+a[i];
printf(&非正个数是%d, sum=%d\n&,n,sum);
20、 输入一串字符, 将其中的大写字母变成对应的小写字母并输出。
void main()
{ int i,n;
char a[20];
printf(&请输入字符串:&);
n=strlen(a);
for(i=0;i&n;i++)
if(a[i]&='A'&&a[i]&='Z')
a[i]=a[i]+32;
for(i=0;i&n;i++)
printf(&%c&,a[i]);
printf(&\n&);
21、 打印所有的水仙花数。 所谓水仙花数是指一个三位数, 其各位数字的立方和等于该数。 例如, 153 就是一个水仙花数, 因为 153=1*1*1+5*5*5+3*3*3。
void main()
{ int a,b,c,s;
for(a=1;a&=9;a++)
for(b=0;b&=9;b++)
for(c=0;c&=9;c++)
if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c)
s=a*100+b*10+c;
printf(&%d\n&,s);
22、 一个皮球从 100 米高度自由落下, 每次落地后反弹回原高度的一半, 再落下, 再反弹。 求当它第 10 次落地时, 共经过了多少米, 第 10 次反弹多高?
void main()
float sum=100.0,h=50;
for(i=2;i&=10;i++)
sum=sum+2*h;
printf(&%f,%f\n&,sum,h);
23、 输出所有 0-200 之间能被 3 整除且个位数字为 6 的整数。
void main()
for(i=0;i&=200;i++)
if((i%3==0)&&((i-6)%10==0))
printf(&%d\n&,i);
printf(&\n&);
24、 输入一个正整数, 输出它的阶乘。
void main()
{ int i,J=1,n=10;
printf(&请输入一个正整数:& );
scanf(&%d& ,&n);
for(i=1;i&=n;i++)
printf(&%d 的阶乘是:%d\n&,n,J);
25、 编写程序, 判断从键盘输入的字符中数字字符的个数、 大写字母的个数、 小写字母的个数及其它字符的个数, 以*作为字符输入结束标志。
void main()
{int i,x,m=0,n=0,k=0,j=0;
char a[20];
printf(&请输入字符串:&);
x=strlen(a);
for(i=0;i&x;i++)
if(a[i]=='*')
elseif(a[i]&='0'&&a[i]&='9')
else if(a[i]&='A'&&a[i]&='Z')
else if(a[i]&='a'&&a[i]&='z')
printf(&%d,%d,%d,%d\n&,m,n,k,j);
26、 编写程序, 使用循环结构输出下列图形:
void main()
{ int i,j,
for(i=0;i&5;i++)
for(j=0;j&4-i;j++)
printf(& &);
for(k=0;k&4;k++)
printf(&*&);
printf(&\n&);
printf(&\n&);
27、 输入一串字符, 逆序输出。 要求使用数组实现。
void main()
{int i,j,t,n;
char a[10];
printf(&请输入字符串:&);
n=strlen(a);
for(i=0;i&n/2;i++)
a[i]=a[n-1-i];
a[n-1-i]=t;
for(j=0;j&n;j++)
printf(&%c&,a[j]);
printf(&\n&);
28、 求 1-1/2+1/3-1/4+&&+1/99-1/100 的值。
void main()
{int n,s=1;
floatsum=1.0;
for(n=2;n&=100;n++)
sum=sum+1.0/n*s;
printf(&1-1/2+1/3-1/4+&&+1/99-1/100=%f\n&,sum);
29、 输入 3 个学生 4 门课的成绩{(60,70,65,75), (75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出, 结果保留一位小数。
void main()
{ int a[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};
float average,sum=0.0;
printf(&三个学生的总分和平均成绩依次为: \n&);
for(i=0;i&3;i++)
{ sum=0.0;
for(j=0;j&4;j++)
sum=sum+a[i][j];
average=sum/4;
printf(&%.2f,%.2f\n&,sum,average);
30、 求两个正整数的最大公约数。
void main()
{ int m,n,m1,n1,t,k;
printf(&请输入两个正整数:& );
scanf(&%d%d& ,&m,&n);
while((k=m1%n1)!=0)
printf(&%d 和%d 最大公约数是:%d\n&,m,n,n1);
31、 求 100 之内自然数中奇数之和。
void main()
{ int i,sum=0;
for(i=0;i&=100;i++)
if(i%2!=0)
sum=sum+i;
printf(&sum=%d\n&,sum);
32、 输出所有 200-400 之间能被 3 整除且个位数字为 7 的整数。
void main()
for(i=200;i&=400;i++)
if((i%3==0)&&((i-7)%10==0))
printf(&%d\n&,i);
printf(&\n&);
33、 编程计算 1*2*3+4*5*6+&&+97*98*99 的值。
void main()
int i,n,sum=0;
for(i=1;i&=94;i=i+3)
sum=sum+i*(i+1)*(i+2);
printf(&%d\n&,sum);
34、 输入 n 的值, 计算并输出 1*1+2*2+3*3+4*4+5*5+&&+n*n 的值。 要求编写函数 f求平方。
void main()
{ intf(int x);
printf(&请输 n 值:&);
scanf(&%d&,&n);
printf(&%d\n&,sum);
int f(int x)
{ int j,z=0;
for(j=1;j&=x;j++)
35、 计算并输出 1-200 之间不能被 3 整除的整数的和。
void main()
{ int i,sum=0;
for(i=1;i&=200;i++)
if(i%3!=0)
sum=sum+i;
printf(&%d\n&,sum);
36、 输入 3 个学生 4 门课的成绩{(60,70,65,75), (75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出, 结果保留一位小数。
void main()
{ int a[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};
float average,sum=0.0;
printf(&三个学生的总分和平均成绩依次为: \n&);
for(i=0;i&3;i++)
{ sum=0.0;
for(j=0;j&4;j++)
sum=sum+a[i][j];
average=sum/4;
printf(&%.1f,%.1f\n&,sum,average);
37、 输入一个华氏温度, 输出摄氏温度, 计算公式为 c=5/9*(F-32)。 要求结果保留两位小数。
void main()
{ float F,c;
printf(&请输入一个华氏温度:& );
scanf(&%f& ,&F);
c=5.0/9*(F-32);
printf(&%.2f\n&,c);
38、 输入任意三个数, 按从大到小的顺序输出。
void main()
{ int a,b,c,t;
printf(&请输入任意三个数:& );
scanf(&%d%d%d& ,&a,&b,&c);
{ float x=1.0;
float a=0.01,b=0.02,c=0.05;
int i,j,k;
int count=0;
printf(& 1 分,2 分,5 分张数依次为: \n&);
for(i=1;i&100;i++)
for(j=1;j&50;j++)
for(k=1;k&20;k++)
if((i*a+j*b+k*c)==1&&i+j+k==50)
{printf(& %d %d %d\n&,i,j,k);
count++; }
printf(&共有%d 种方案\n&,count);
40、 从键盘输入圆的半径, 计算并输出圆面积与周长, 要求结果保留两位小数。
void main()
float pi=3.14159;
float c,s;
printf(&请输入半径 r:& );
scanf(&%d& ,&r);
printf(&面积=%.2f,周长=%.2f\n&,s,c);
41、 从键盘输入一个字符串, 再输入两个正整数 m 和 n, 输出字符串中从 m 开始, 连续 n 个字符。 例如, 输入 abcdefg, 2, 3, 输出 bcd。
void main()
{ int i,m,n;
char a[20];
printf(&请输入字符串:&);
n=strlen(a);
printf(&请输入两个正整数:&);
scanf(&%d%d&,&m,&n);
for(i=m-1;i&m+n-1;i++)
printf(&%c&,a[i]);
printf(&\n&);
42、 输入一个不多于 5 位的正整数, 判断它是几位数, 并逆序输出各位数字。
void main()
{ int a,b,c,d,e;
printf(&请输入一个不多于 5 位的正整数:& );
scanf(&%d& ,&x);
a=x/10000;
d=x%100/10;
if(a!=0)printf(&它是 5 位数, %d,%d,%d,%d,%d\n&,e,d,c,b,a);
else if(b!=0)printf(&它是 4 位数, %d,%d,%d,%d\n&,e,d,c,b);
else if(c!=0)printf(&它是 3 位数, %d,%d,%d\n&,e,d,c);
else if(d!=0)printf(&它是 2 位数, %d,%d\n&,e,d);
else printf(&它是 1 位数, %d\n&,e);
43, 输出 Fibonacci 数列的前 40 项
void main()
int a[40]={1,1};
printf(&%12d%12d&,a[0],a[1]);
for(i=2;i&40;i++)
if(i%4==0)
printf(&\n&);
a[i]=a[i-1]+a[i-2];
printf(&%12d&,a[i]);
printf(&\n&);
44, 判断某一年是否是闰年
void main ()
printf(&请输入一个年份:& );
scanf(&%d&,&year);
if (year%4==0)
if (year%100==0)
if (year%400==0)
else leap=1;
printf(&%d is a leap year\n&,year);
printf(&%d is not a leap year\n&,year);
45, 起泡法(选择法) 对十个数排序
void main()
int i,j,t;
int a[10];
printf(&请输入 10 个数: \n&);
for(i=0;i&10;i++)
scanf(&%d&,&a[i]);
for(j=0;j&9;j++)
for(i=0;i&9-j;i++)
if(a[i]&a[i+1])
a[i]=a[i+1];
for(i=0;i&10;i++)
printf(&%d &,a[i]);
printf(&\n&);
46, 判断某个数是否为素数.
#include&math.h&
void main()
printf(&请输入一个正整数:&);
scanf(&%d&,&m);
k=sqrt(m);
for(i=2;i&=k;i++)
if(m%i==0)
if(i&k)printf(&%d is a prime number\n&,m);
else printf(&%d is not a prime number\n&,m);
47,编程计算 1! +2! +3! +&+10 的值。
void main()
{ int i,j,sum1=1,sum=0;
for(i=1;i&=10;i++)
for(j=1;j&=i;j++)
sum1=sum1*j;
sum=sum+sum1;
printf(&1!+2!+3!+&+10!=%ld\n&,sum);
48, 求以下数列前十五项的和: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13&。
void main()
float a=2.0,sum=0.0,b=1.0,t;
for(n=1;n&=15;n++)
{ sum=sum+a/b;
printf(&%f\n&,sum);
49, 从键盘输入圆柱体高与底面半径, 计算并输出圆柱体表面积与体积, 要求结果保留两位小数。
void main()
float pi=3.14159,s,v;
printf(&请输入圆柱体半径 r 和高 h:& );
scanf(&%d%d& ,&r,&h);
s=2*pi*r*r+2*pi*r*h;
v=pi*r*r*h;
printf(&s=%.2f,v=%.2f\n&,s,v); }
50,从键盘输入一个十进制整型数据, 计算并输出其各位上数字之和(忽略正负号)。 例如, 输入 1234, 输出 10; 输入-1234, 输出 10。
#include&math.h&
void main()
{ int i1,i2,i3,i4,n,
printf(&请输入一个整数:&);
scanf(&%d&,&a);
i1=n/1000;
i3=n%100/10;
sum=i1+i2+i3+i4;
printf(&sum=%d\n&,sum); }
51,已知银行定期存款利率为 r=2.25%, 输入存款本金 x、 存款年数 n, 输出本利之和y=x(1+r)(1+r)&&(1+r),共 n 个(1+r)。
void main()
float x,y,r=0.0225;
printf(&请输入存款本金 x 和存款年数 n:&);
scanf(&%f%d&,&x,&n);
for(i=1;i&=n;i++)
y=y*(1+r);
printf(&%f\n&,y);
52,编程判断输入的字符串是否为 &回文&。所谓 &回文&是指顺读和倒读都一样, 如 abcba。
void main()
char a[20];
printf(&请输入字符串:&);
n=strlen(a);
for(i=0;i&n;i++)
if(a[i]==a[n-i-1])
printf(&不是回文.\n&);
printf(&是回文.\n&);
53、 编写程序, 将用户输入的字符串中删除所有的数字, 然后输出剩余的字符。
void main()
{ int i,j,n1;
char a[20];
printf(&请输入字符串:&);
n1=strlen(a);
for(i=0;i&n1;i++)
if((a[i]&='0'&&a[i]&='9')==0)
printf(&%c&,a[i]);
printf(&\n&);一道关于回文的C语言题目_百度知道
一道关于回文的C语言题目
通常称正读和反读都相同的字符序列为“回文”,例如‘abba’和‘abcdcba’是回文,‘abcde’和‘abab’则不是回文。若字符序列存储在一个单链表中,编写一个算法判别此字符序列是否是“回文”。
要求:用C语言写出算法。
我在网上找了好久,各种代码,初学者...
我有更好的答案
一楼回复,不仔细看题目,用数组倒腾了一遍。数组是可以随意访问的,而单链表不行的。 单链表的话,这个问题是比较麻烦的。如果双向链表,可以一个指针一个指针在后,进行比较,然后调整节点的。 个人觉得,这个问题,如果你学过栈的话,比较好解决。
老师只是说了下什么是栈,并没有给我们具体的代码。可以把这题的代码发给我吗?
你这个题目是C++程序?还是C语言程序?
上面有写的~是C语言的程序
C++可以有现成的栈类使用的,C语言的话,这个题目有点麻烦的。 我写一下也要半个小时【搭链表、写栈】 你们老师在折腾你们,呵呵。 不知其余兄弟是否想到更加好的办法。
采纳率:69%
来自团队:
#include&&stdio.h&#include&&string.h&#define&MAXSIZE&200int&IsRevStr(char&*str){&&&&int&count&,&j;&int&found&=&1;&count&=&strlen(str);&for(j&=&0;&j&&&count/2&;&j++)&{&&&&&if(&*(str+j)&!=&*(str+count-j-1)&)&&{&&&&&&found&=&0;&&&&&}&}&&&&return&&&&&}/**************************************************/int&main(){&&&&&&&char&string[MAXSIZE];&int&&&&&printf(&please&input&string:\n&);&&&&gets(string);&test&=&IsRevStr(string);&&&&if(test&==&1)&{&&&&&printf(&您输入的字符串是回文\n&);&}&&&&else&{&&&&&printf(&您输入的字符串不回文\n&);&}&return&0;}
额~这个,你是比较首末字符,单链表能这样抽取吗?
很简单呀,反序一下,和原来比较,一样,则为回文
反序?这个代码怎么写,并且,将字符序列储存在单链表的代码,我就没搞懂怎么写
为您推荐:
其他类似问题
您可能关注的内容
回文的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 输入一个字符判断 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信