第七关:杨辉三角
#include<stdio.h>
#define N 100
int main(void)
{
/*********Begin*********/
int n,i,j,a[N][N];
a[0][0]=1;
a[1][0]=1;
a[1][1]=1;
for(i=2;i<N;i++)
{
a[i][0]=1;
a[i][i]=1;
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
if(j==0)printf("1");
else printf(" %d",a[i][j]);
}
printf("\n");
}
printf("\n"); //注意在每一个三角后面加一个空行
/*********End**********/
return 0;
}
第六关:删除最大值
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int a[10];
int i,max,j;
max=0;
for (i=0;i<10;i++)
{
scanf ("%d",&a[i]);
}
for (i=0;i<10;i++)
{
if (max<a[i])
{
max=a[i];
j=i;
}
}
for (i=j;j<9;j++)
{
a[j]=a[j+1];
}
for (i=0;i<9;i++)
printf ("%d ",a[i]);
/*********End**********/
return 0;
}
第五关:鞍点
#include<stdio.h>
#define N 100
int Min(int a[][N],int m,int n,int row)
{
int i,p = 0;
for(i = 0;i < m;i ++)
{
if(a[p][row] > a[i][row])
p = i;
}
return p;
}
int main(void)
{
/*********Begin*********/
int m,n,a[N][N],i,j;
scanf("%d %d",&m,&n);
for(i = 0;i < m;i ++)
for(j = 0;j < n;j ++)
scanf("%d",&a[i][j]);
int max,row = 0,col,count = 0;
for(i = 0;i < m;i ++)
{
for(j = 0;j < n;j ++)
{
if(a[i][row] < a[i][j]) //寻找行最大的数及其列坐标
row = j;
}
max = a[i][row];
col = Min(a,m,n,row); //寻找此列中最小的行坐标
if(col == i)
{
printf("Array[%d][%d]=%d",i,row,a[i][row]); //判断两个行是否相等
count ++;
}
}
if(count == 0)
printf("None");
/*********End**********/
return 0;
}
第四关:二分查找
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int n,m,s,b,mid,i;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
s=0;
b=n-1;
while(s<=b)
{
mid=(b+s)/2;
if(m>a[mid])
{
s=mid+1;
}
else if(m<a[mid])
{
b=mid-1;
}
else if(m==a[mid])
{
printf("%d",mid+1);return 0;
}
}
printf("None");
/*********End**********/
return 0;
}
第3关:计算数组中元素的最大值及其所在的行列下标值
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int a[10][10];
int max,row,col,i,j,m,n;
row = col =1;
printf("Input m, n:");
scanf("%d,%d",&m,&n);
printf("Input %d*%d array:\n",m,n);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
max = a[0][0];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
if(a[i][j]>max){
max = a[i][j];
row = i+1;
col = j+1;
}
}
}
printf("max=%d, row=%d, col=%d",max,row,col);
/*********End**********/
return 0;
}
第2关:查找整数
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int a[20];
int n,number;
int isPrime = 0;
scanf("%d", &n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d", &number);
for(int i=0;i<n;i++)
{
if(a[i]==number)
{
isPrime = 1;
printf("%d",i+1);
break;
}
}
if(isPrime == 0)
printf("-1");
/*********End**********/
return 0;
}
第1关:排序问题
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int a[10];
int i,j,t;
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])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0; i<10; i++)
printf("%d ",a[i]);
/*********End**********/
return 0;
}
我相信大家都会,只是整个乱七八糟的事太多了,发布这个文章的目的不是让你去抄袭,而是去学习,不要说我传播啊,服了这个文章建议怎么还不消掉,难道他看出我在摸鱼了吗?虽然我现在就两个粉丝,嗯,这几天可以看出我更新不是很积极,主要是一直再写学生管理系统的代码,在下一篇博客我将会发出,服了这个文章建议还不消掉,6666666666666.不管了!!!88
文章出处登录后可见!
已经登录?立即刷新