作业1:冒泡排序(数据类型不限)
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[6]={5,7,6,3,4,9};
int i,j,temp;
for(i=0;i<6;i++)
{
for(j=i+1;j<6;j++)
{
if(arr[i]>arr[j])
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
printf("%d\t",arr[i]);
}
return 0;
}
结果:
作业2:简单选择排序(数据类型不限)
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[6]={5,7,6,3,4,9};
int i,j,temp;
int min=0;
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(arr[min]>arr[j])
{
min=j;
}
}
if(min!=i)
{
temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
}
}
for(i=0;i<6;i++)
{
printf("%d\t",arr[i]);
}
return 0;
}
结果:
作业3:对二维数组计算最大值(数据类型不限)
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[2][4]={5,7,6,3,4,9,11,8};
int i,j;
int max=arr[0][0];
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
}
}
}
printf("%d\n",max);
return 0;
}
结果:
作业4:实现两个字符串的交换
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[10]="hello";
char brr[10]="world";
char temp[10];
strcpy(temp,arr);
strcpy(arr,brr);
strcpy(brr,temp);
printf("%s\n",arr);
printf("%s\n",brr);
return 0;
}
结果:
作业5:计算4个字符串的最小值(一维字符串、二位字符串都行)
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char a[10]="aaa";
char b[10]="bbb";
char c[10]="ccc";
char d[10]="ddd";
char max[10];
strcpy(max,a);
if(strcmp(max,b))
{
strcpy(max,b);
}
if(strcmp(max,c))
{
strcpy(max,c);
}
if(strcmp(max,d))
{
strcpy(max,d);
}
printf("%s\n",max);
return 0;
}
结果:
作业6:编写实现字符串拷贝函数的功能
#include <stdio.h>
int main(int argc, const char *argv[])
{
char dest[20];
char src[20]="hello";
int i=0;
int k=0;
while(src[k]!='\0')
{
dest[i]=src[k];
k++;
i++;
}
printf("%s\n",dest);
return 0;
}
结果:
作业7:定义一个字符串(有空格),实现空格的删除
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[20]="a@ g w - t q";
char brr[20];
int i,j=0;
for(i=0;i<strlen(arr);i++)
{
if(arr[i]!=' ')
{
brr[j]=arr[i];
j++;
}
}
brr[j]='\0';
printf("%s\n",brr);
return 0;
}
结果:
作业8:等腰的杨慧三角的打印
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[100][100];
int n,i,j;
printf("输入n行:");
scanf("%d",&n);
//赋值
for(i=0;i<n;i++)//行
{
for(j=0;j<=i;j++)
{
if(j==0||i==j)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
for(i=0;i<n;i++)//行
{
for(j=0;j<=n-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
结果: