一 设计一个猜数字游戏,即系统随机出一个0-100的整数,用户输入数字,提示输出大还是小,超过4次则为用户失败,游戏结束后询问用户是否下一轮。
#include#include #include void game() { int x,n,i=0; n=rand()%100+1; for(i=0;i<4;i++) { scanf("%d",&x); if(x n) printf("大n"); if(x==n) { printf("正确n"); break; } } if(i>3) { printf("失败n"); } } int main() { int m; do { game(); printf("是否继续:(1:继续,0:结束)n"); scanf("%d",&m); } while(m!=0); printf("游戏结束!"); }
四
1. 使用 C 语言编写十进制,二进制,八进制,十六进制之间的相互转换。(封装成函数, plus 版本:如果 传递字符串怎么转换)#include#include #include void fun1(int n) { if(n/2) fun1(n/2); putchar('0'+n%2); } void fun2(int n) { if(n/8) fun2(n/8); putchar('0'+n%8); } void fun3(int n) { if(n/16) fun3(n/16); int i = n%16; if(i<10) putchar('0'+i); else putchar('a'+i-10); } int fun4(char *str) { int num = 0; while(*str != ' ') { int i = *str-'0'; if(i>=0 && i<=1) num = num*2+i; str++; } return num; } int fun5(char *str) { int num = 0; while(*str != ' ') { int i = *str-'0'; if(i>=0 && i<8) num = num*8+i; str++; } return num; } int fun6(char *str) { int num = 0; while(*str != ' ') { char ch = *str; if(ch>='0' && ch<='9') num = num*16+ch-'0'; if(ch>='a' && ch<='f') num = num*16+10+ch-'a'; str++; } return num; } int main() { int i,j,num; char ch,*s; scanf("输入%d进制";&i); if(i==2) { scanf("%s",ch); *s=&ch; num=fun4(*s); } if(i==8) { scanf("%s",ch); *s=&ch; num=fun5(*s); } if(i==16) { scanf("%s",ch); *s=&ch; num=fun6(*s); } scanf("输出%d",&j); if(i==2) { scanf("%s",ch); *s=&ch; fun1(num); } if(i==6) { scanf("%s",ch); *s=&ch; fun2(num); } if(i==16) { scanf("%s",ch); *s=&ch; fun3(num); } if(i==10) { printf(%d,num); } }
五
1. 给两个相同大小的 n*n 二维矩阵,计算矩阵相加相减相乘,并且计算出每个矩阵中的鞍点,也就是行为 最大值,列为最小值。#includeint main() { int a[n][n] = { }; int b[n][n] = { }; int c[n][n] = { 0 }; int i = 0; int j = 0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d %d",&a[i][j],&b[i][j]) } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { c[i][j]=a[i][j]+b[i][j]; } if(i==n-1&&j=0) printf("%d",c[i][j]); } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { c[i][j]=a[i][j]-b[i][j]; } if(i==n-1&&j=0) printf("%d",c[i][j]); } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { c[i][j]=a[i][j]*b[i][j]; } if(i==n-1&&j=0) printf("%d",c[i][j]); } }



