全部用DEV-C++和VC++通过
//1.找出一个二维数组中鞍点,即该位置上的元素在该行上最大,在该列上最小
#include
#define R 3 //3行
#define C 4 //4列
using namespace std;
int main(int argc,char* argv[])
{
int a[R][C]={{2,6,11,1},
{1,8,9,7},
{5,7,10,2}};
int Sp=0,rM=0,cM;
bool hasSp=true;
for(int i=0;i
Sp=0;
hasSp=true;
for(int j=0;j
{
Sp=a[i][j];
rM=j;
cM=i;
}
for(int i=0;i
}
if(!hasSp) cout <<"没有鞍点" <
return 0;
}
//2.从键盘任意输入5个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名
#include
#include
using namespace std;
#define M 5 //M个学生
string sort(string* name);
int main()
{
string stuname[M];
for(int i=0;i
cout <
}
string sort(string* name)
{
string minname;
minname=name[0]; //最小姓名暂定为第一个学生的姓名
for(int i=0;i
int len=name[i].length(); //第i个学生的姓名长度
for(int j=0;j<=len;j++) //当前学生姓名字符循环
{
if(name[i][j]
minname=name[i];
break;
}
}
}
return minname;
}
//3.计算机随机生成一个各位相异的四位数,由人来猜,每次提示:xAxB
#include
#include
#define N 7 //最多可以猜N次
#define I 10 //生成I内的数
#define M 4 //生成M个不重复的随机数
using namespace std;
int main(int argc,char*argv[])
{
int n[3];
int l[3];
int r[I];
int j=0,iR=0;
bool c=false;
srand((unsigned)time(NULL));
for(int i=0;i r[i]=i;
for(int i=0;i
iR=(int)((I-i-1)*rand()/(RAND_MAX+1.0));
n[i]=r[iR];
r[iR]=r[I-i-1];
cout <
cout <
{
int a=0,b=0;
for(int i=0;i
for(int i=0;i
for(int k=0;k<3 && !c;k++)
{
if(l[i]==n[k] && i!=k) b++;
if(l[i]==n[k] && i==k) a++;
if(a==M) c=true;
}
}
cout < }
if(c) cout <<"Good!" <
return 0;
}
全部用DEV-C++和VC++通过
//1.找出一个二维数组中鞍点,即该位置上的元素在该行上最大,在该列上最小
#include
#define R 3 //3行
#define C 4 //4列
using namespace std;
int main(int argc,char* argv[])
{
int a[R][C]={{2,6,11,1},
{1,8,9,7},
{5,7,10,2}};
int Sp=0,rM=0,cM;
bool hasSp=true;
for(int i=0;i
Sp=0;
hasSp=true;
for(int j=0;j
{
Sp=a[i][j];
rM=j;
cM=i;
}
for(int i=0;i
}
if(!hasSp) cout <<"没有鞍点" <
return 0;
}
//2.从键盘任意输入5个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名
#include
#include
using namespace std;
#define M 5 //M个学生
string sort(string* name);
int main()
{
string stuname[M];
for(int i=0;i
cout <
}
string sort(string* name)
{
string minname;
minname=name[0]; //最小姓名暂定为第一个学生的姓名
for(int i=0;i
int len=name[i].length(); //第i个学生的姓名长度
for(int j=0;j<=len;j++) //当前学生姓名字符循环
{
if(name[i][j]
minname=name[i];
break;
}
}
}
return minname;
}
//3.计算机随机生成一个各位相异的四位数,由人来猜,每次提示:xAxB
#include
#include
#define N 7 //最多可以猜N次
#define I 10 //生成I内的数
#define M 4 //生成M个不重复的随机数
using namespace std;
int main(int argc,char*argv[])
{
int n[3];
int l[3];
int r[I];
int j=0,iR=0;
bool c=false;
srand((unsigned)time(NULL));
for(int i=0;i r[i]=i;
for(int i=0;i
iR=(int)((I-i-1)*rand()/(RAND_MAX+1.0));
n[i]=r[iR];
r[iR]=r[I-i-1];
cout <
cout <
{
int a=0,b=0;
for(int i=0;i
for(int i=0;i
for(int k=0;k<3 && !c;k++)
{
if(l[i]==n[k] && i!=k) b++;
if(l[i]==n[k] && i==k) a++;
if(a==M) c=true;
}
}
cout < }
if(c) cout <<"Good!" <
return 0;
//鞍点
#include
#include
#define H 3
#define S 4
int main()
{
int a[H][S];
int i,j;
int tpi,tpj;
int bo;
for(i=0;i scanf("%d",&a[i][j]);
for(i=0;i
for(j=0;j printf("%d\t",a[i][j]);
printf("\n");
}
for(i=0;i
for(j=0;j {
bo=1;
for(tpj=0;bo!=0&&tpj if(a[i][j]<=a[i][tpj])
bo=0;
for(tpi=0;bo!=0&&tpi
bo=0;
if(bo!=0)
{
printf("鞍点为:a[%d][%d]=%d\n",i,j,a[i][j]);
return(0);
}
}
}
printf("无鞍点\n");
return(1);
}
//姓名排序
#include
#include
int main()
{
char tp[20],name[5][20];
int i;
for(i=0;i<5;i++)
gets(name[i]);
strcpy(tp,name[i]);
for(i=0;i<5;i++)
if(strcmp(tp,name[i])>0)
strcpy(tp,name[i]);
puts(tp);
return(1);
}
//猜字游戏
#include
#include
#include
int main()
{
int num[4];
int n=0,i,j,x=0,y=0;
int guess[4];
srand(time(NULL));
for(i=0;i<4;i++)
{
num[i]=rand()%10;
for(j=0;j {
if(num[i]==num[j])
{
i--;
break;
}
}
}
printf("开始!\n");
for(;x!=4;)
{
x=0;y=0;
scanf("%d",&n);
guess[0]=n/1000;
guess[1]=n/100%10;
guess[2]=n/10%10;
guess[3]=n%10;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(guess[j]==num[i]&&i==j)x++;
if(guess[j]==num[i]&&i!=j)y++;
}
printf("%dA\t%dB\n",x,y);
}
printf("成功!正确答案:\n%d%d%d%d\n",num[0],num[1],num[2],num[3]);
return(1);
}
//猜数游戏
#include
#include
#include
main()
{
int stime,a,j,t,i,c,m,g,s,z,k,l[4];
long ltime;
ltime=time(NULL);
stime=(unsigned int)ltime/2;
srand(stime);
z=rand(9999);
printf("I have a numbers with 4 digits in mind.please guess.\n");
for(c=1;;c++)
{
printf("Enter:");
scanf("%d",&g);
a=z;j=0;k=0;l[0]=l[1]=l[2]=l[3]=0;
for(i=1;i<5;i++)
{
s=g;m=1;
for(t=1;t<5;t++)
{if(a%10==s%10)
{
if(m&&t!=l[0]&&t!=l[1]&&t!=l[2]&&t!=l[3])
{
j++;m=0;l[j-1]=t;
}
if(i==t) k++;
}
s/=10;
}
a/=10;
}
printf("%dA%dB\n",k,j);
if(k==4) break;
}
printf("Now u have correctly guessed the whole numbers after %d times.\n",c);
}
//二维数组鞍点
#include
#define m 3
#define n 3
int main() {
int a[m][n],i,j,max,min,flag=0,i1;
printf("请输入二维数组a[%d][%d]:\n",m,n);
for (i=0;i
printf("二维数组a[%d][%d]如下:\n",m,n);
for (i=0;i
printf("\n");
}
for (i=0;i
for (max=a[i][0],j=0;j
for (j=0;j
min=a[i][j];
i=i1;
if (a[i][j]==max&&a[i][j]==min) {
printf("a[%d][%d]=%d ",i,j,a[i][j]);
flag++;
}
}
}
if (flag==0)
printf("没有鞍点!\n");
else printf("\n");
}
//5个学生
#include
#include
main()
{
char a[5][20];
int i,k;
printf("Input 5 names:\n");
for(i=0;i<5;i++)
gets(a[i]);
for(i=1,k=0;i<5;i++)
if(strcmp(a[k],a[i])>0)
k=i;
puts(a[k]);
}