




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
难 度 1 1、 程 序 D1.c 的 功 能 是 从 键 盘 读 入 一 个 数 并 在 屏 幕 上 显 示 。 int main(void) int xy2; /*Found*/ scanf(“%s“, /改 为 : scanf(“%d“, /*Found*/ printf(“xy2=%5dn“, /改 为 : printf(“xy2=%5dn“,xy2); return 0; 2、 程 序 D2.c 的 功 能 是 调 用 函 数 , 显 示 两 个 实 数 间 最 大 的 一 个 。 #include float fmax(float x, float y); int main(void) /*Found*/ float l, 1; /i l = 3.0; i = 5.6f; /*Found*/ printf(“fmax(%5.2f, %5.2f)=%5.2fn“, i, l, fMax(i, l); / fmax return 0; /*Found*/ int fmax(float x, float y) /改 :float if (x #define PI 3.14 /*Found*/ #define S(bj) PI*bj*bj /改 : PI*(bj)*(bj) int main(void) /*Found*/ int mianJi; /改 为 :double mianJi = S(2+3); printf(“mian ji=%5.2fn“, mianJi); return 0; 4、 相 似 题 : D3.C, 程 序 D5.c 的 功 能 是 将 字 符 串 yy 显 示 在 屏 幕 上 。 #include int main(void) /*Found*/ char yy100 = “ok?n“, /改 为 :; /*Found*/ prntf(“%s“, yy); /改 :printf return 0; 5、 考 查 点 : D11 数 据 类 型 选 择 , /运 算 符 的 使 用 功 能 是 计 算 1/1 + 1/2 + + 1/N 之 和 并 显 示 。 #include #define N 10 int main(void) /*Found*/ long jieguo = 0; /改 :double int fm; for (fm = 1; fm int main(void) int a, b; /*Found*/ scanf(“%d%d“, /中 间 加 , while (b 0) /*Found*/ _ /括 号 printf(“%dn“, a); b-; /*Found*/ _ /括 号 printf(“bye bye!n“); return 0; 7 考 查 点 : 输 入 格 式 控 制 、 变 量 交 换 , 程 序 D1000.c 的 功 能 是 从 键 盘 输 入 3 个 浮 点 数 a,b,c(输 入 时 abc 之 间 以 空 格 相 隔 ), 首 先 按 照 输 入 顺 序 显 示 在 屏 幕 上 , 然 后 按 从 小 到 大 顺 序 把 它 们 输 出 到 屏 幕 上 。 #include int main(void) float a, b, c, t; printf(“please input three numbers:n“); /*Found*/ scanf(“%f%f“, /改 :%f%f%f printf(“before sort:a=%g,b=%g,c=%gn“, a, b, c); if (a b) t = a; a = b; /*Found*/ b = a; /改 :t if (a c) t = a; a = c; c = t; if (b c) t = b; b = c; c = t; printf(“after sort:a=%g,b=%g,c=%gn“, a, b, c); return 0; 8 考 查 点 : 格 式 化 输 出 、 数 据 类 型 的 正 确 使 用 , 程 序 D1001.c 的 功 能 是 求 分 数 序 列 : 2/1, 3/2, 5/3, 8/5, 13/8, 21/13, 前 20 项 之 和 , 要 求 显 示 的 结 果 中 小 数 部 分 有 4 位 。 #include #define T 20 int main(void) int n; /*Found*/ long i, j, temp, sum; /改 为 : float 或 double i = 2; j = 1; sum = 0; for (n=1; n int main(void) int x = 5, y = 9; x = x + y; y = x - y; /*Found*/ x = y - x; /改 :x y; printf(“x=%d, y=%dn“, x, y); return 0; 10 考 查 点 : 整 型 常 量 表 示 、 输 出 项 表 示 , 程 序 D1003.c 的 功 能 是 将 16 进 制 数 100 转 换 为 10 进 制 数 输 出 。 #include int main(void) /*Found*/ int i = 100; /0x100 /*Found*/ printf(“%dn“, /改 :去 掉 11、 程 序 D1004.c 的 功 能 是 输 入 姓 名 , 屏 幕 输 出 问 候 。 #include int main(void) char s10; printf(“please input your name:“); /*Found*/ scanf(“%c“, s); /改 %s printf(“hello “); /*Found*/ puts(s10); /改 :s return 0; 12 考 查 点 : 输 入 数 据 分 隔 , 输 出 项 表 示 , 程 序 D1005.c 的 功 能 是 从 键 盘 读 入 两 个 整 数 并 在 屏 幕 上 显 示 。 要 求 : 输 入 时 限 定 两 数 之 间 仅 以 逗 号 隔 开 。 #include int main(void) int a, b; /*Found*/ scanf(“%d%d“, /改 :中 间 加 , /*Found*/ printf(“a=%d,b=%dn“, /去 掉 13、 考 查 点 : 输 入 格 式 控 制 、 if 语 句 , 程 序 D1006.c 的 功 能 是 判 断 输 入 的 数 据 是 否 与 已 经 给 出 的 数 据 j 相 等 。 #include int main(void) long int i = 79870, j = 23; /*Found*/ scanf(“%f“, /改 :%ld /*Found*/ if (j = i); /改 :去 掉 后 面 的 ; printf(“Equal!“); else printf(“Not equal!“); return 0; 14、 考 查 点 : 字 符 输 入 函 数 使 用 , 分 支 条 件 表 示 , 程 序 D1007.c 的 功 能 是 使 用 getchar 方 式 从 键 盘 读 入 一 个 字 符 , 判 断 该 字 符 是 否 大 写 字 符 。 #include int main(void) char ch; /*Found*/ getchar(ch); / ch = getchar(); /*Found*/ if (A int main(void) int n; scanf(“%d“, /*Found*/ switch (n); /去 掉 ; /*Found*/ case0: /中 间 加 空 格 printf(“Zeron“); break; default: printf(“Non-Zero“); break; return 0; 16、 考 查 点 : switch 语 句 、 case 后 常 量 表 示 , 程 序 D1009.c 的 功 能 是 输 入 一 个 整 数 , 如 果 为 1 时 输 出 100, 为 2 时 输 出 200, 其 它 输 出 0。 #include int main(void) int x, y; scanf(“%d“, switch (x) /*Found*/ case x = 1: /改 :1 y = 100; break; /*Found*/ case x = 2: /改 :2 y = 200; break; default: /*Found*/ y = 500; /改 :0 break; printf(“%dn“, y); return 0; 17、 考 查 点 : switch 语 句 case 常 量 表 示 , 循 环 条 件 表 示 , 程 序 D1010.c 的 功 能 是 输 入 若 干 字 符 数 据 (回 车 表 示 输 入 结 束 ), 分 别 统 计 其 中 A、 B、 C的 个 数 。 #include int main(void) char c; int k1 = 0, k2 = 0, k3 = 0; /*Found*/ while (c = getchar() != n) /加 括 号 () switch (c) /*Found*/ case A: /加 k1+; break; case B: k2+; break; case C: k3+; break; default : ; printf(“A=%d,B=%d,C=%dn“, k1, k2, k3); return 0; 18、 考 查 点 : 一 维 数 组 定 义 、 数 组 元 素 引 用 、 输 入 和 输 出 , 程 序 D1016.c 的 功 能 是 从 键 盘 输 入 5 个 整 数 , 保 存 到 一 整 型 数 组 变 量 中 ( 此 数 组 只 能 保 存 5 个 数 ) , 并 在 屏 幕 上 按 逆 序 输 出 。 #include int main(void) /*Found*/ int n=5, i, an; /改 为 5 printf(“ninput 5 numbers:“); /*Found*/ for (i=1; i=0; i-) printf(“%dt“, ai); return 0; 19、 考 查 点 : 数 组 的 输 入 和 数 组 元 素 的 引 用 , 程 序 D1017.c 的 功 能 是 输 入 10 个 浮 点 数 ,并 输 出 这 组 数 中 的 最 大 值 和 最 小 值 。 #include int main(void) float a10, max, min; int i; printf(“Please input 10 floats“); for (i=0; i ai) min = ai; printf(“Max number is:%.2fnMin number is:%.2fn“, max, min); return 0; 20、 考 查 点 : 函 数 声 明 , 静 态 变 量 使 用 , 程 序 D1021.c 的 功 能 是 依 次 输 出 31 到 35。 #include /*Found*/ int f(n); /用 定 义 形 式 : int n int main(void) int i; for (i=1; i void outnum(void); int main(void) int i; for (i=0; i /*Found*/ int Average(x, y); /用 定 义 形 式 :int x, int y int main(void) int a = 12; int b = 24; int ave; /*Found*/ ave = Average(int a, int b); /用 使 用 形 式 : a, b printf(“Average of %d and %d is %d.n“, a, b, ave); return 0; /*Found*/ int Average(x, y) /int x, int y int result; result = (x + y) / 2; return result; 23、 考 查 点 : 函 数 一 般 调 用 和 静 态 变 量 , 程 序 D1025.c 的 功 能 是 输 入 一 整 数 n( n0) , main( ) 函 数 中 调 用 子 函 数 Func()n 次 , 并 在 屏 幕 上 打 印 出 每 次 调 用 该 子 函 数 的 次 数 。 #include void Func(void); int main(void) int i, n; printf(“ninput a data:“); scanf(“%d“, for (i=0; i int main(void) /*Found*/ char yy200 = “ok?n“; /改 为 : *yy /*Found*/ fol (; *yy; yy+) /改 为 : for putchar(*yy); return 0; 2、 考 查 点 : 字 符 数 组 定 义 , 字 符 串 输 出 控 制 , 标 准 字 符 串 函 数 的 使 用 , 程 序 D6.c 的 功 能 是 从 键 盘 读 入 一 行 字 符 (包 括 空 格 、 TAB 等 字 符 )并 在 屏 幕 上 显 示 。 #include int main(void) /*Found*/ char yy; /改 为 : yy128 /*Found*/ getchar(yy); /改 为 : gets /*Found*/ printf(“%y“, yy); /改 为 : %s return 0; 3、 考 查 点 : if-else 形 式 条 件 的 分 析 , 数 据 类 型 选 择 , 程 序 D7.c 的 功 能 是 判 断 x 和 y 是 否 相 等 , 相 等 则 显 示 x=y, 不 等 则 显 示 xyn“); return 0; 4、 考 查 点 : 文 件 路 径 名 表 示 , 文 件 打 开 方 式 选 择 , 文 件 打 开 成 功 判 断 , 程 序 D8.c 的 功 能 是 打 开 文 件 d:te.c 用 于 读 并 判 断 打 开 是 否 成 功 。 #include int main(void) FILE *fp; /*Found*/ char fileName = “d:te.c“; /改 为 : /*Found*/ fp = fopen(fileName, “w“); /改 为 : r /*Found*/ if (fp is NULL) /改 为 : = puts(“File Open Error!“); return 1; putchar(fgetc(fp); fclose(fp); return 0; 5、 考 查 点 : 指 针 ,内 存 分 配 、 内 存 释 放 函 数 的 使 用 , 程 序 D9.c 的 功 能 是 申 请 100 个 字 节 的 内 存 空 间 , 显 示 其 首 地 址 , 然 后 释 放 申 请 到 的 内 存 空 间 。 #include #include int main(void) /*Found*/ char pch2; /改 为 : *pch /*Found*/ if (pch = (char *)malloc(100) = NULL) /将 红 色 部 分 括 起 来 printf(“malloc memory fail!n“); return 1; printf(“%pn“, pch); /*Found*/ close(pch); /改 为 : free return 0; 6、 考 查 点 : 指 针 作 函 数 参 数 , 函 数 调 用 , 程 序 D14.c 的 功 能 是 调 用 函 数 swap, 将 a 和 b 的 值 交 换 , 最 后 在 屏 幕 上 显 示 交 换 后 的 a,b 之 值 。 #include /*Found*/ void swap(int x, int y); /改 为 : int *x, int *y int main(void) int a = 3, b = 4; /*Found*/ swap(a, b); /改 为 : return 0; /*Found*/ void swap(int x, int y) /改 为 : int *x, int *y int tmpX; /*Found*/ _ / tmpX =*x; *x = *y; /*Found*/ *y = x; /改 为 : *y = tmpX; 7、 考 查 点 : 结 构 体 变 量 定 义 , 结 构 体 成 员 的 输 入 、 输 出 , 程 序 D16.c 的 功 能 是 worker2 的 信 息 使 用 结 构 体 存 储 , 从 键 盘 读 入 其 各 项 信 息 并 显 示 。 #include int main(void) struct WKER long ID; long int num; char name20; char sex; /*Found*/ ; /改 为 : worker2; worker2.ID = 1L; /*Found*/ scanf(“%s %s %s“, /改 : %ld%s%c /*Found*/ printf(“workers info: num=%s name=%s sex=%sn“, worker2.num, , worker2.sex); /改 为 : %ld %c return 0; 8、 考 查 点 : 复 合 语 句 、 变 量 作 用 域 , 程 序 D18.c 的 功 能 是 从 键 盘 上 读 入 10 个 大 于 0 的 数 , 调 用 函 数 dispMaxNum 显 示 其 中 最 大 的 一 个 。 #include int maxiNum = 0; void dispMaxNum(); int main(void) int i, oneNumber, maxNumber = 0; printf(“Please input 10 int number:“); int maxNumber = 0; /*Found*/ _ / for (i = 0; i maxNumber) maxNumber = oneNumber; /*Found*/ _ / maxiNum = maxNumber /*Found*/ _ / dispMaxNum(); return 0; void dispMaxNum() /*Found*/ printf(“maxNumber=%dn“, maxNumber); /改 为 : maxiNum 9、 考 查 点 : 循 环 条 件 表 示 , 循 环 体 中 改 变 循 环 条 件 , 程 序 D1011.c 的 功 能 是 从 输 入 数 据 中 统 计 正 整 数 和 负 整 数 的 个 数 。 用 输 入 0 来 结 束 输 入 , 变 量 i 存 放 正 整 数 个 数 , 变 量 j 存 放 负 整 数 的 个 数 。 #include int main(void) int i = 0, j = 0, n; printf(“ninput numbers:“); scanf(“%d“, /*Found*/ while (_) / n 或 者 n != 0 if (n 0) i+; if (n int main(void) int i, j, k; /*Found*/ for (i=1; ; i+) /改 为 : i #define N 10 int main(void) int aN, i, temp; printf(“please input %d integer numbers:n“, N); for (i=0; i #include int main(void) int i, j, k; char a = “language“, t; k = strlen(a); for (i=0; i aj) /改 为 : ai void input(int a, int n); int main(void) int a10, i; /*Found*/ input(a10, 10); /改 为 : a for (i=0; i #include void vowel(char str1, char str2); int main(void) char str181, str281; printf(“please input the string:n“); gets(str1); /*Found*/ vowel(_); /改 为 : str1, str2 printf(“the vowel string is:n“); puts(str2); if (strlen(str2) = 0) printf(“NONE!n“); return 0; void vowel(char str1, char str2) int i, j = 0; /*Found*/ for (i=0; _; i+) /改 为 : str1i if (str1i=A | str1i=E | str1i=I | str1i=O | str1i=U | str1i=a | str1i=e | str1i=i | str1i=o | str1i=u) str2j = str1i; j+; str2j = 0; 15、 考 查 点 : 函 数 声 明 、 函 数 定 义 、 函 数 调 用 , 表 达 式 统 计 , 程 序 D1019.c 的 功 能 是 计 算 输 出 10 个 学 生 的 平 均 成 绩 。 #include /*Found*/ average(double x, y); /改 为 : double average 和 int y int main(void) int i; double score, total; double aver; printf(“Please enter the 1s graden“); scanf(“%lf“, for (i=2; i int f(int n); /*Found*/ int main(void); /改 为 : 去 掉 ; printf(“F(7)=%dn“, f(7); return 0; int f(int n) if (n /*Found*/ int add(float x, float y); /改 为 : float int main(void) float a, b; scanf(“%f%f“, /*Found*/ printf(“sum=%fn“, add(x, y); /改 为 : a, b return 0; /*Found*/ float add(float x, float y); /改 为 : 去 掉 ; return x + y; 18、 程 序 D1054.C 的 功 能 是 : 从 键 盘 读 入 两 个 整 数 , 对 它 们 进 行 按 位 异 或 操 作 , 把 操 作 结 果 按 二 进 制 位 放 在 字 符 数 组 str 中 , 最 后 输 出 该 字 符 串 。 提 示 : 第 2 个 空 建 议 使 用 条 件 表 达 式 (? 表 达 式 )实 现 ! Please input num1 and num2 : 127 0 127 0 = 00000000000000000000000001111111 图 1 程序运行效果示例 Please input num1 and num2 : 123 456 123 456 = 00000000000000000000000110110011 #include int main(void) unsigned long int number, num1, num2, mask; int i; char str33; printf(“Please input num1 and num2 : “); scanf(“%lu %lu“, /*Found*/ mask = _; /改 为 : 0x80000000 number = num1 num2; for(i=0; i= 1; str32 = 0; printf(“%lu %lu = %sn“, num1, num2, str); return 0; 难 度 3 1、 考 查 点 : 符 号 常 量 定 义 , const 常 量 的 使 用 , 指 针 变 量 的 移 位 操 作 , 程 序 D10.c 的 功 能 是 将 字 符 串 str2 显 示 在 屏 幕 上 。 #include /*Found*/ #define START /改 为 : #define START /*Found*/ #define NEXT /改 为 : #define NEXT int main(void) char *str2 = ; const int i = 0; for (printf(“n“); str2i; ) START putchar(str2i); /*Found*/ i+; /改 为 : str2+ NEXT return 0; 2、 考 查 点 : 字 符 数 组 下 标 控 制 , 字 符 串 结 束 标 志 , 条 件 表 达 , 程 序 D13.c 的 功 能 是 从 键 盘 输 入 最 多 10 个 字 符 (遇 换 行 则 停 止 输 入 )到 数 组 Buf 中 , 然 后 在 屏 幕 上 显 示 。 #include int main(void) char c, Buf11; int pos; /*Found*/ for (pos = 1; pos void swap(int *x, int *y); int main(void) int a = 3, b = 4; /*Found*/ swap(*a, *b); /改 为 : /去 掉 void swap(int *x, int *y) int *tmp, tsX; /*Found*/ *tmp = x; /改 为 : tsX = *x *x = *y; /*Found*/ *y = *tmp; /改 为 : tsX 4、 考 查 点 : 函 数 定 义 、 字 符 数 组 、 静 态 变 量 的 使 用 、 指 针 作 函 数 参 数 , 函 数 调 用 , 程 序 D17.c 的 功 能 是 函 数 userLogin 的 功 能 主 要 是 统 计 并 返 回 登 录 的 用 户 数 , 用 户 名 最 长 30 字 节 。 #include long userLogin(char *userName); int main(void) /*Found*/ char *userName31; /改 为 : userName3131 long curUserCnt = 0; while (1) printf(“user %ld, input your Name: “, curUserCnt+1); scanf(“%s“, userName31); curUserCnt = userLogin(userName31); return 0; long userLogin(char *userName) /*Found*/ long userNum = 0; /改 为 : static long userNum+; printf(“welcome user %s. There have %ld users in system.n“, userName, userNum); /*Found*/ return ; /改 为 : userNum; 5、 考 查 点 : 函 数 返 回 值 、 字 符 变 量 、 字 符 指 针 变 量 、 字 符 串 结 束 , 程 序 D19.c 的 功 能 是 将 inBuf 中 字 符 串 拆 分 成 一 个 个 的 单 词 。 程 序 说 明 : (1)单 词 之 间 的 分 隔 符 由 串 divChar, 程 序 中 定 义 为 “;?!,./”。 (2)函 数 getStrFromBuf 的 功 能 是 从 Buf 的 开 始 处 寻 找 第 一 个 单 词 , 将 找 到 的 单 词 作 为 一 个 字 符 串 复 制 到 Str 处 , divStr 指 明 单 词 间 的 分 隔 符 。 GetStrFromBuf 的 返 回 值 指 向 已 找 到 单 词 的 下 一 个 字 符 。 (3)函 数 charInStr 的 功 能 是 判 断 字 符 t 是 否 出 现 在 串 Str 中 。 (4)主 程 序 的 功 能 是 将 inBuf 中 的 所 有 单 词 在 屏 幕 上 显 示 出 来 。 #include #define Yes 1 #define No 0 char *getStrFromBuf(char *Buf, char *Str, char *divStr); int charInStr(char *Str, char t); int main(void) char inBuf100 = “how old are/ you?“, *point, oneWord20; char divChar = “ ;?!,./“; point = inBuf; while (*point) /*Found*/ getStrFromBuf(point, oneWord, divChar); /左 边 加 上 : point= if (*oneWord) puts(oneWord); return 0; int charInStr(char *Str, char t) for (; *Str; Str+) /*Found*/ if (*Str = *t) /改 为 : t /*Found*/ return No; /改 为 : Yes /*Found*/ return Yes; /改 为 : No char *getStrFromBuf(char *Buf, char *Str, char *divStr) for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = No) break; for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = Yes) break; /*Found*/ Str = *Buf; /改 为 : * Str Str+; /*Found*/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠州市惠东县平山街道招聘村党组织书记储备人选考试真题2024
- 2024年佛山科学技术学院招聘真题(行政管理岗)
- 宁波市高三三模数学试卷
- 萍乡中学期末数学试卷
- 培智学校期末数学试卷
- 2025广东广州市花都区新华街云山学校招聘笔试参考题库附答案解析
- 2025安康汉阴中学紧缺学科教师遴选(3人)笔试参考题库附答案解析
- 2025贵州盘州市教育系统考调教师48人笔试模拟试题及答案解析
- 黔南州中考数学试卷
- 七年级数学代数式单元练习试卷及答案
- GB/T 18051-2000潜油电泵振动试验方法
- 广告投放“冷启动期”及“ocpm起量”的底层逻辑
- 小学音乐《村晚》优质课件设计
- 竞选团支书幽默大气简短六篇
- 知名投资机构和投资人联系方式汇总
- (完整word版)教育部发布《3-6岁儿童学习与发展指南》(全文)
- 混凝土监理旁站记录
- 部门会签单模板
- G12《贷款质量迁徙情况表》填报说明
- 县城市管理领域集中行使行政处罚权工作衔接规范(试行)
- 结肠息肉的护理查房精编ppt
评论
0/150
提交评论