当前位置:
文档之家› 东北大学2014年C语言机考考试题库
东北大学2014年C语言机考考试题库
编写函数 charcount(char *s,char letter)记录一个字符在一个字符串中出现的次数, 如果没出现则返回 0,要求:在主函数中从键盘输入一个字符串,和对应的字符。
#include ".h" #include "string.h" charcount(char *s,char letter) { char *p=s; int count=0; while(*p!='\0') { if (*p==letter) count++; p++; } return count; } void main() { char s[100],letter; printf("请输入字符串:");
在物理实验中,获得 5 个数据{0.89,0.78,1.09,0.67,0.56},其中有一个数据大于 1, 此数据无效,将此无效数据删除。要求编制函数 cleandata(double *p)实现数据的清 理工作,并在主函数输出删除之前的数组和删除之后的数组。 编写函数 clear(char *p)将字符串 s1 中的非英文字母删除,要求:在主函数中对字符 串进行初始化,调用函数实现链接后,在主函数中输出删除前和删除后的字符串。 编写函数 clear(char *p)将字符串 s1 中的阿拉伯数字字符删除,要求:在主函数中对
主观题
题目 字符串进行初始化,调用函数实现链接后,在主函数中输出删除前和删除后的字符串。 编写函数 atoi(char *p)将一个 4 位的数字字符串转换成一个整数输出。要求:在主函 数从键盘读入一个数字字符串,输出转换后的整数。 (本题不允许使用字符串处理库函 数,字符 0 的 ASCII 为 48)
主观题
题目 现此功能,在主函数调用此函数。 提示:例如输入整数位 7,首先要找到 7 在整个序列中的位置,然后将 7 插入到当前位 置。 编写函数 mstrcat(char *t,char *s)将字符串 s1 中的全部英文字符连接到字符串 s2 的尾部。 从键盘读入一字符 c,判断其在字符串"English"中是否存在,假设此数组中不存在重 复的字符。 若存在, 则删除此数据; 否则, 提示此数据不存在。 要求: 编制函数 del(char *p,char c)实现数据的清理工作,并输出原始字符串和删除后的字符串。 编写函数 fun(char *p)判断一个字符串是否是回文字符串(提示:回文字符串是指正 读和反读都一样的字符串) , 要求: 从键盘上读入一个字符串, 字符长度可以自己定义。 如果是回文字符串,输出该串,否则输出 no。(本题不允许使用字符串处理库函数)
主观题
题目
scanf("%s",s); printf("请输入字符:"); scanf("%s",&letter); printf("%c 出现次数:%d\n",letter,charcount(s,letter)); }
在跳水比赛中,有 7 个评委共同打分,评分规则是去除一个最高分和一个最低分,然后 计算剩余 5 个评委分数的平均分作为最终成绩。要求:编制打分函数 pscore(double *p),在主函数中从键盘上读入 7 个评委打出的成绩(成绩为 0~10 之间的任意数,小数 点后保留一位有效数字,如 8.5 分),计算该动作的最终成绩。在主函数中调用此函数 计算本次动作的分数。
#include<stdio.h> fun(char *p) { int i=0,j; while(p[i]!=0) { i++; } for(j=0;j<i/2;j++) { if(p[j]!=p[i-1-j]) { printf("no"); return; } } puts(p); } main() { char str[1000]; gets(str); fun(str); }
#include<stdio.h> atoi(char *p) { int i=0,a=0; while(p[i]!=0) { a=a*10+(p[i]-48); i++; } printf("%d\n",a); } main() { char str[100]; gets(str); atoi(str); }
主观题
题目 从键盘输入一个数据(1~12),表示 2014 年的某个月份,输出该月份对应的天数。 从键盘输入一个数据(1~12),表示 2000 年的某个月份,输出该月份对应的天数。 从键盘输入一个数据(1~12),表示 1900 年的某个月份,输出该月份对应的天数。 从键盘输入一个四位整数,计算其上下边界,例如 2345,其下边界为 2000,上边界为 3000,依此类推 从键盘输入一个三位整数, 计算其上下边界, 例如 234, 其下边界为 200, 上边界为 300, 依此类推 从键盘输入一个字母表示的成绩,将其转换为分数。规则是'A'对应 95、'B'对应 85、 'C'对应 75、'D'对应 65、'E'对应 55。要求输入字母后,输出对应的成绩 从键盘输入一个百分制分数,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。 转换规则为:90 分以上为'A';80~89 分为'B';70~79 分为'C';60~69 分为'D'; 60 分以下为'E'。 从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母, 请转换为大写字母;其他情况保持不变,计算并输出。 从键盘输入任意一个字母或者是数字,如果其为字母,则输出“A letter”;如果其为 数字,则输出“A number”。 从键盘输入任意一个字母,如果其为大写字母,则输出“capital letter”;如果其为 小写字母,则输出“lower case letter”;其他情况,则输出“other case”。 初始化一个 5X5 的二维矩阵,计算主对角线上的元素之和。要求输出此矩阵,并输出主 对角线之和。提示 a[0][0],a[1][1]之类的元素为主对角线元素。 利用公式π/4≈1-1/3+1/5-1/7+1/9-… 计算π的近似值,当最后一项的绝对值小于 0.000001 为止。 计算并输出多项式 1-1/3+1/5-1/7+…+1/99-1/101 的结果值。 找出矩阵(5×5)的最大值和最小值,然后把最大值加 99,把最小值减 99。要求初始 化一个原始矩阵,输出原始矩阵以及转换后的矩阵。 初始化一个 5X5 的二维矩阵,计算次对角线上的元素之积。要求输出此矩阵,并输出次 对角线之积。提示 a[4][0],a[3][1],a[2][2],a[1][3],a[0][4]之类的元素为次对角 线元素。(不允许用 5 个数直接相乘,否则得零分) 初始化一矩阵 a[5][5],计算每行的最大元素之和,要求输出原始矩阵以及每行的最大 元素值之和。 计算分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…,的前 20 项之和并输出。 计算 1/1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…n)的值,n 的值由键盘输入,要求小数 点后保留 6 位。 计算 1-1/2+1/3-1/4+…+1/n 的和,在主函数输入 n,计算输出结果。 计算矩阵(5×5)的最大值和最小值,然后互换最大值与最小值的位置。要求初始化一 个原始矩阵,输出原始矩阵以及互换最大值与最小值位置后的矩阵。 已知一有序序列 1,3,4,8,15,17,要求从键盘输入一个整数,将此整数插入到此有序序 列中。要求输出原始数组和插入之后的数组。要求编制函数 insert(int *p,int d)实