1.冒泡法打印出十个数字的升序
#include<stdio.h>
void f1(int a[])
{ int i,j,temp;
for(i=0;i<10;i++)
{
for(j=0;j<=10;j++)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
}
int main()
{
int a[10];
int i,j;
printf("请输入十个数,并用空格隔开!:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
f1(a);
printf("它们从小到大的顺序为:\n");
for(j=0;j<10;j++)
{
printf("%d ",a[j]);
printf("\n");
}
return 0;
}
2.选择排序法输出十个数的升序
#include<stdio.h>
void f2(int a[])
{
int i,j,temp;
int min=0;
for(i=0;i<10;i++)
{ min=i;
for(j=min+1;j<10;j++)
{
if(a[j]<a[min])
{
temp=a[min];
a[min]=a[j];
a[j]=temp;
}
}
}
}
int main()
{
int a[10];
int i,j;
printf("请输入十个数,并用空格隔开!");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
f2(a);
for(j=0;j<10;j++)
{
printf("%d",a[j]);
printf("\n");
}
return 0;
}
3.插入法升序打印十个数
#include<stdio.h>
void f3(int a[])
{ int i,j,temp;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<10;i++)
{
temp=a[i];
for(j=i-1;j>=0&&temp<a[j];j--)
{
a[j+1]=a[j];
a[j]=temp;
}
}
}
int main()
{
int a[10];
int j;
printf("请输入十个数并用空格隔开");
f3(a);
for(j=0;j<10;j++)
{
printf("%d",a[j]);
printf("\n");
}
return 0;
}
4.判断该字符串是否对称
#include <stdio.h>
#include <string.h>
int huiwen(char *ps);
int main()
{
char s[100];
int flag;
printf("请输入,回车键结束:");
gets(s);
flag=huiwen(s);
if(flag)
printf("该字符串对称!\n");
else
printf("该字符串不对称!\n");
return 0;
}
int huiwen(char *ps)
{
int i,j,z=1;
j=strlen(ps)-1;
for(i=0;i<j;i++)
{
if(ps[i]!=ps[j])
{
z=0;return z;
}
j--;
}
return z;
}