首页 > 代码库 > C语言第9次作业
C语言第9次作业
1.编写函数判断用户输入的字符是否是对称的字符串(即顺读和倒读都一样的字符串)。例如“XYZYX”和“xyzzyx”都是对称的。
#include<stdio.h> int main() { char str[100]; int i=0,a,b,j,k; gets(str); while(str[i]!=‘\0‘) i++; if(i%2==0) { a=i/2-1;b=i/2; } else { a=i/2-1;b=i/2+1; } for(j=a,k=b;j>=0,k<=i;j--,k++) { if(str[j]!=str[k]) break; } if(k==i+1) printf("Yes\n"); else printf("No.\n"); }
2. 编写函数用冒泡排序法将用户输入的若干个数(或学生姓名)按升序排序。
#include <stdio.h> #include <string.h> void f1() { char a[100]; int length,j,i,temp; printf("请输入:"); scanf("%s",a); length=strlen(a); for(j=0;j<length;j++) { for(i=length-1;i>0;i--) { if(a[i]<a[i-1]) { temp=a[i]; a[i]=a[i-1]; a[i-1]=temp; } } } printf("将其升序排序为:"); for(i=0;i<length;i++) printf("%c",a[i]); } int main() { f1(); return 0; }
3. 编写函数用选择排序法将用户输入的若干个数(或学生姓名)按升序排序。
#include<stdio.h> int max(int a[]) { int i,j,t; for(i=0;i<10;i++) for(j=i+1;j<10;j++) if (a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } int main() { int a[10],i; printf("输入十个数字:"); for(i=0;i<10;i++) scanf("%d",&a[i]); max(a); for(i=0;i<10;i++) printf("%d ",a[i]); return 0; }
4. 编写函数用插入排序法将用户输入的若干个数(或学生姓名)按升序排序。
#include<stdio.h> int main() { int a[100]; int i,temp,j; printf("请输入:"); scanf("%d",a); for(i=1;i<100;i++) { temp=a[i]; j=i-1; while(j>=0&&temp<a[j]) { a[j*1]=a[j]; j--; } a[j*1]=temp } printf("升序排序为:") }
我尽力了,真的。
C语言第9次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。