哈工大计算机考研复试C语言上机试题及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sum_a+=per_day_1; sum_b+=per_day_2; per_day_2 *= 2; }
printf("%d %ld\n",sum_a,sum_b); }
题目描述: 不用 strcat 函数,自己编写一个字符串链接函数 MyStrcat(char dstStr[],charsrcStr[]) 输入: 两个字符串,字符串由小写字母组成。 输出: 链接后的字符串 样例输入: hello world good morning 样例输出: helloworld goodmorning
dstStr[i++] = srcStr[j];
} dstStr[i] = 0;wk.baidu.com}
int main() {
char a[25],b[25];
while(scanf("%s",a)!=EOF&&scanf("%s",b)!=EOF) {
MyStrCat(a,b);
printf("%s\n",a);
a = a1*a2 + b1*c2 + c1*e2; b = a1*b2 + b1*d2 + c1*f2; c = d1*a2 + e1*c2 + f1*e2; d = d1*b2 + e1*d2 + f1*f2;
printf("%d %d \n%d %d \n",a ,b ,c ,d); } return 0; }
参考答案: #include<stdio.h> #include<string.h>
void MyStrCat(char dstStr[], char srcStr[]) {
int i,j; for(i=0; dstStr[i]!=0; i++); for(j=0; srcStr[j]!=0; j++) {
}
return 0; }
题目描述: 计算两个矩阵的乘积,第一个是 2*3,第二个是 3*2 输入: 输入为两个矩阵,其中一个为 2*3 的矩阵,另一个为 3*2 的矩阵 输出: 一个 2*2 的矩阵(每一个数字后都跟一个空格) 样例输入: 123 345
67 89 10 11 样例输出: 52 58 100 112
2012 年:
题目描述: 一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每 天给你 10 万元,你第一天给我 1 分钱,第二天 2 分钱, 第三天 4 分钱…… 这样交换 30 天后,百万富翁交出了多少钱?陌生人交出了多少钱?(注意一个是万 元,一个是分) 输入: 该题没有输入 输出: 输出两个整数,分别代表百万富翁交出的钱和陌生人交出的钱,富翁交出的钱以万元 作单位,陌生人交出的钱以分作单位。
参考答案: #include<stdio.h>
int main() {
int a1, b1, c1; int d1, e1, f1;
int a2, b2; int c2, d2; int e2, f2;
int a, b; int c, d;
while(scanf("%d%d%d%d%d%d",&a1,&b1,&c1,&d1,&e1,&f1)!=EOF&& scanf("%d%d%d%d%d%d",&a2,&b2,&c2,&d2,&e2,&f2)!=EOF) {
参考答案: #include<stdio.h> #include<math.h> void main() { int sum_a=0, per_day_1=10; //富人总共得到的 money long sum_b=0, per_day_2=1; int i ; for(i=0; i<30; i++) {
printf("%d %ld\n",sum_a,sum_b); }
题目描述: 不用 strcat 函数,自己编写一个字符串链接函数 MyStrcat(char dstStr[],charsrcStr[]) 输入: 两个字符串,字符串由小写字母组成。 输出: 链接后的字符串 样例输入: hello world good morning 样例输出: helloworld goodmorning
dstStr[i++] = srcStr[j];
} dstStr[i] = 0;wk.baidu.com}
int main() {
char a[25],b[25];
while(scanf("%s",a)!=EOF&&scanf("%s",b)!=EOF) {
MyStrCat(a,b);
printf("%s\n",a);
a = a1*a2 + b1*c2 + c1*e2; b = a1*b2 + b1*d2 + c1*f2; c = d1*a2 + e1*c2 + f1*e2; d = d1*b2 + e1*d2 + f1*f2;
printf("%d %d \n%d %d \n",a ,b ,c ,d); } return 0; }
参考答案: #include<stdio.h> #include<string.h>
void MyStrCat(char dstStr[], char srcStr[]) {
int i,j; for(i=0; dstStr[i]!=0; i++); for(j=0; srcStr[j]!=0; j++) {
}
return 0; }
题目描述: 计算两个矩阵的乘积,第一个是 2*3,第二个是 3*2 输入: 输入为两个矩阵,其中一个为 2*3 的矩阵,另一个为 3*2 的矩阵 输出: 一个 2*2 的矩阵(每一个数字后都跟一个空格) 样例输入: 123 345
67 89 10 11 样例输出: 52 58 100 112
2012 年:
题目描述: 一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每 天给你 10 万元,你第一天给我 1 分钱,第二天 2 分钱, 第三天 4 分钱…… 这样交换 30 天后,百万富翁交出了多少钱?陌生人交出了多少钱?(注意一个是万 元,一个是分) 输入: 该题没有输入 输出: 输出两个整数,分别代表百万富翁交出的钱和陌生人交出的钱,富翁交出的钱以万元 作单位,陌生人交出的钱以分作单位。
参考答案: #include<stdio.h>
int main() {
int a1, b1, c1; int d1, e1, f1;
int a2, b2; int c2, d2; int e2, f2;
int a, b; int c, d;
while(scanf("%d%d%d%d%d%d",&a1,&b1,&c1,&d1,&e1,&f1)!=EOF&& scanf("%d%d%d%d%d%d",&a2,&b2,&c2,&d2,&e2,&f2)!=EOF) {
参考答案: #include<stdio.h> #include<math.h> void main() { int sum_a=0, per_day_1=10; //富人总共得到的 money long sum_b=0, per_day_2=1; int i ; for(i=0; i<30; i++) {