题1:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(int argc, const char *argv[])
{
//杨辉三角
printf("输入杨辉三角的高度:");
int n;
scanf("%d",&n);
int arr[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n-1-i;j++)
{
printf(" ");
}
for(int j=0;j<=i;j++)
{
if(j==0 || i==j)
arr[i][j]=1;
else
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
printf("%4d",arr[i][j]);
}
printf("\n");
}
return 0;
}
题2:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(int argc, const char *argv[])
{
// 循环输入n个值
printf("输入值的个数:\n");
int n;
scanf("%d",&n);
int a[n];
int i,j,r,t;
for(i=0;i<n;i++)
{
printf("输入第%d个数:",i+1);
scanf("%d",&a[i]);
}
printf("选择排序方式(0——冒泡升序排序_1——简单选择降序排序):\n");
int flag;
scanf("%d",&flag);
if(flag==0)
{
printf("已选择冒泡升序排序方式\n");
for(i=0;i<n-1;i++)//轮数
{
int count = 0;
for(j=0;j<n-1-i;j++)//比较次数
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
count++;
}
}
if(count==0)
break;
}
}
else if(flag==1)
{
printf("已选择简单选择降序排序方式\n");
for(i=0;i<n-1;i++)//轮数
{
r = i;
for(j=i+1;j<n;j++)//比较次数
{
if(a[j] > a[r])
r = j;
if(r != i)
{
t = a[r];
a[r] = a[i];
a[i] = t;
}
}
}
}
else
{
printf("未选择排序方式\n");
return -1;
}
printf("完成排序后:\n");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}