第一题猜数字游戏:
//第一题
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu();
void play();
int main()
{
int n;
srand((unsigned int)time(NULL));
do{
menu();
printf("请选择1or2\n");
scanf("%d",&n);
switch(n)
{
case 1:
play();
break;
case 2:
printf("退出游戏\n");
}
}while(n);
return 0;
}
void menu()
{
printf("1.Play Game\n");
printf("2.end\n");
}
void play()
{
int guess=0;
int r=rand()%100+1;
while(1)
{
printf("请输入数字\n");
scanf("%d",&guess);
if(guess>r)
printf("猜大了\n");
if(guess<r)
printf("猜小了\n");
if(guess==r)
{
printf("猜对了\n");
break;}
}
}
第四题
使用C语言编写十进制,二进制,八进制,十六进制之间的相互转换
#include<stdio.h>
#include<math.h>
int se(int n);
int eq(int n);
int main()
{
printf("请输入一个数");
int n,b=0;
scanf("%d",&n);
b=eq(n);
printf("%d",b);
return 0;
}
//十进制转化其他
int se(int n)
{
int jinzhi=0;
printf("请输入转化为几进制");
scanf("%d",&jinzhi);
int a=0,t=0,c=1;
t=n;
int b=0;
while(t>0)
{
b=t;
t=t/jinzhi;
b=b%jinzhi;
a=a+b*c;
c=c*10;
}
return a;
}
//二进制转其他
int eq(int n)
{
int a=0,i=0,x=0;
int jz;
printf("请输入几进制");
scanf("%d",&jz);
for(i=0;n!=0;++i)
{
a=n%10;
x=(a)*(pow(jz,i))+x;
n=n/10;
}
a=se(x);
return a;
}
第五题
给两个相同大小的n*n二维矩阵,计算矩阵相加相减相乘,并且计算出每个矩阵中的鞍点,也就是行为 最大值,列为最小值。
矩阵相加相减相乘
#include<stdio.h>
#define n 3
int main()
{
int a[n][n]={1,2,3,4,5,6,7,8,9},b[n][n]={1,2,3,4,5,6,7,8,9},c[n][n]={0},d[n][n]={0},e[n][n]={0},f[n][n]={0};
int i,j,k;
for(i=00;i<n;++i)
{
for(j=0;j<n;++j)
{
c[i][j]=0,d[i][j]=0;
e[i][j]=0,f[i][j]=0;
for(k=0;k<n;++k)
{
c[i][j]+=a[i][k]+b[k][j];
d[i][j]+=a[i][k]-b[k][j];
e[i][j]+=a[i][k]*b[k][j];
f[i][j]+=a[i][k]/b[k][j];
}
}
}
//
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",c[i][j]);
}
printf("\n");
}
//
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",d[i][j]);
}
printf("\n");
}
//
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",e[i][j]);
}
printf("\n");
}
//
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",f[i][j]);
}
printf("\n");
}
return 0;
}
鞍点
#include<stdio.h>
#define n 3
int main(void)
{
int a[n][n]={1,2,3,4,5,6,7,8,9},b[n][n]={1,2,3,4,5,6,7,8,9};
int i,j,row,col,ret=0;
int max;
for(i=0;i<n;i++)
{
max=a[i][0];
row=i;
col=0;
for(j=0;j<n;j++)
{
if(a[i][j]>max){
max=a[i][j];
col=j;
}
}
for(j=0;j<n;j++)
{
if(a[row][col]>a[j][col])
break;
}
if(j==n)
{
printf("Array[%d][%d]=%d",row,col,max);
ret=1;
}
}
if(ret==0)
printf("None");
return 0;
}