@caelumtian
2017-09-08T17:20:46.000000Z
字数 2985
阅读 648
胡杨考研试题
(n >= 100 && n <= 999)
(n - a * 100) / 10
data[i - 1][j - 1] + data[i - 1][j]
1
j <= i
#include <stdio.h>
int main(void) {
int i, j, k;
for(i = 9; i >= 1; i--) {
for(k = 0; k < 9 - i; k++) {
printf("\t");
}
for(j = i;j >= 1; j--) {
printf("%d\t ", i * j);
}
printf("\n");
}
return 0;
}
#include <stdio.h>
#include <math.h>
//阶乘计算函数
int fac(n) {
int sum = 1;
for(; n >= 1; n--) {
sum *= n;
}
return sum;
}
int main(void) {
double sum = sin(1);
int i = 2;
while(abs(sin(1 / fac(i)) - sin(1 / fac(i - 1))) > 0.0001) {
sum += sin(1 / fac(i));
i++;
}
printf("%d", i); //结果是 i= 9
printf("%f", sum); //和是:1.53839260710135
return 0;
}
这破题,简直了,sin函数不能用,还得重新下载编译,操蛋。判卷老师绝对没有在自己电脑上跑过。
//接收文件名为输入,把_file0文件拷贝到_file1
int file_copy(char *_file0, char *_file1) {
FILE *fold, *fnew;
int c;
//打开源文件
if ((fold = fopen(_file0, "rb")) == NULL) {
return 0;
}
//打开目标文件
if ((fnew = fopen(_file1, "wb")) == NULL) {
fclose(fold); //如果目标文件空,关闭并返回
return 0;
}
while (1) {
c= fgetc(fold);
if (!feof(fold)) {
fputc(c, fnew);
}else {
break;
}
}
fclose(fold);
fclose(fnew);
return 1;
}
c语言是没有 bool类型的,所以我用1和0代替。如果应按照题目来,你就bool 作为函数返回值类型 1 改成 true 0 改成 false就好了。
<img />
(2)src
(3) alt
<br />
(2)<p></p>
<meta http-equiv="refresh" content="10;url=http://www.njnu.edu.cn">
该标签的含义为,页面在10秒后,跳转到http://www.njnu.edu.cn 这里。答案如下:
这里onload事件,表示页面加载完毕后触发,refresh函数
<body onload="refresh()">
</body>
refresh函数如下:
function refresh() {
setTimeout(function() {
window.location.href = "http://www.njnu.edu.cn";
}, 1000 * 10)
}
本题主要考察 setTimeout(单位为毫秒,所以要乘以10)函数 window.location.href重定向,还有事件处理方法。
先来个完美方案,主要思路是对array进行随机乱序,然后输出前三项就是答案。
乱序思路:
例如数组长度为len,那么Math.random() * len 就是一个区间为[0, len)中的一个值,parseInt后就是[0, len - 1]区间中的一个值, 将这个选择的值j所在位置元素与数组最后一项交换,第二次同理随机选择一个元素,与数组倒数第二项交换。这样循环便完成数组的重新排序。
function getThreeNum() {
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var len = array.length - 1,
temp, j;
for (; len > 0; len--) {
j = parseInt(Math.random() * len); //生成区间
temp = array[len];
array[len] = array[j];
array[j] = temp;
}
return [array[0], array[1], array[2]];
}
再来个,不完美但是好懂的方案
Math.random() * 9 为[0, 9)之间的数。Math.ceil向上取证,后为[0, 9]之间的整数
function getThreeNum() {
var result = [];
//循环是,知道找到三个这样的数,才停止
while(result.length < 3) {
var num = Math.ceil(Math.random() * 9);
//当num不为0,且不在result中出现过(不重复)
if(num !== 0 && result.indexOf(num) === -1) {
result.push(num);
}
}
return result;
}