C语言编程文库所有题答案_第1页
C语言编程文库所有题答案_第2页
免费预览已结束,剩余48页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 从键盘上先后读入两个字符串, 假定存储在字符数组 s1 和 s2 中。注意, 这两个字符 串最长均可达到 127 个字符、最短均可为 0 个字符。 将字符串 s2 插入字符串 s1 中,插入方法为 :s2 的第 i 个字符插入到原 s1 的第 i 个 字符后,如果 s2 比 s1(假定 si 的长度为 L1)长,则 s2 的第 L1 个字符开始到 s2 结尾的所有 字符按在 s2 中的顺序放在新生成的 s1 后。提示,合并时可使用中间数组。例如: s1 输入为 9 , S2 输入为 abcdefghijk ,则输出的 s1 为: 1a2b3c4d5e6f7g8h9ijk 在屏幕上输出新生成的

2、 s1 。 程序的运行效果应类似地如图 1 所示,其中的 9 和 abcdefghijk 是从键盘输入的内容。 */ #include #include int main(void) char str1127, str2127; int i, tem; int len1 = 0, len2 = 0; printf(please input string1:); gets(str1); printf(Please input string2:); gets(str2); len1 = strlen(str1); len2 = strlen(str2); if (len1 len2) tem =

3、len1; printf(nstring1:); for (i = 0; i tem; i+) printf(%c, str1i); if (i len2) printf(%c, str2i); else tem = len2; printf(nstring1:); for (i = 0; i tem; i+) if (i len1) printf(%c, str1i); printf(%c, str2i); printf(n); return 0; /* 编写一程序实现以下功能 程序运行时先显示 Please input numbers: ,再从键盘上读入一组整数 ( 只考虑 int 型)

4、,数与数之间只使用空格或回车作分隔。数可正可负,最多 10000 个,但若读入的数为 -222 时,则表示输入结束且 -222 不算在该组数内。 对这一组数按从小到大的顺序进行排序。 将排序后的这一组数输出到屏幕上, 输出格式为每行 6 个数,数与数之间使用逗号 (,) 分隔,两个逗号之间的宽度 (不算逗号 )为 6 且使用左对齐格式。注意,行尾没有逗号。 程序的运行效果应类似地如图 1 所示,其中的 100 120 89 72 -19 200 500 210 235 6 24 1234 78 234 -234 -2342 346 23524 7823 -3411 23423 -222 是从键

5、盘输入的内容。 */ #include int main(void) int dat10000, len; int i, j, tmp; printf(Please input numbers:); len = 0; do scanf(%d, &i); if ( i = -222) break; datlen = i; len+; while (1); for ( i = 0 ; i len - 1; i+) for ( j = i + 1; j datj ) tmp = dati; dati = datj; datj = tmp; printf(nOutput:n); for (i

6、= 0; i len; i+) printf(%-6d, dati); if ( i % 6 != 5 & i != len - 1) printf(,); else printf(n); return 0; /* 编写一程序实现以下功能 从键盘上输入 5 个字符串(约定:每个字符串中字符数w 并 输 出 。 编 程 可 用 素 材 : printf(Input printf( n). 。 程序的运行效果应类似地如图 1 所示,图 1 中的 hello my dear friend Are you ready? 是从键盘输入的内容。 */ #include #include int m

7、ain(void) char aa590, kk5 90; int i, j; printf(input 5 stringn); for (i = 0; i 5; i+)80 字节 ) ,对其进行升序排序 5 strings:n). gets(aai); for (i = 0; i 4; i+) for (j = 0; j 0) strcpy(kkj, aaj); strcpy(aaj, aaj + 1); strcpy(aaj + 1, kkj); printf( - n); for (i = 0; i 5; i+) puts(aai); return(0); /* 根据要求编写程序的指定部

8、分: 程序已编写部分代码 ( 单击此处下载 ) ,请根据程序中的要求编写函数 注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序, 分处理。Move 的代码 否则作 0 使其前面各数顺序向后移 m(O=m=n)个位置,最后 m 个数变成最前面的 m 个数,编写该函 数。 程序的运行效果应类似地如图 1 所示,图 1 中的 10、3 和 1 2 3 4 5 6 7 8 9 10 是从 键盘输入的内容。 */ /*P7-761*.C/ #include #include /* User Code Begin( 考生可在本行后添加代码,例如全局变量的定义、函数原型声明等, 行数不限

9、 ) */ void move(int array, int n, int m); /* User Code End( 考生添加代码结束 ) */ int main(void) int *number, n, m, i; printf(the total numbers is:); scanf(%d, &n); printf(back m:); scanf(%d, &m); number = (int *)malloc(n * sizeof(int); printf(input %d integers:, n);函数 void move(int array, int n, in

10、t m) 的功能为:在数组 array 中有 n 个整数, for (i=0; in; i+) scanf(%d, &numberi); move(number, n, m); printf(after move %d: n, m); for (i=0; in; i+) printf(%d , numberi); printf(n); return 0; /* User Code Begin( 考生在此后根据设计需要完成程序的其它部分,如函数 move,行数不 限) */ void move(int array, int n, int m) int i = 0, flag = m; i

11、nt *shuzu; shuzu = (int *)malloc(n * sizeof(int); for (i = 0; i n; i+) shuzui = arrayi; for (i = 0; i n; i+) if (i flag) arrayi = shuzun - m; m-; else arrayi = shuzui - flag; /* 根据要求编写程序的指定部分: 程序已编写部分代码 ( 单击此处下载 ) ,请根据程序中的要求完善程序注意, 除指定 位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作 0 分处理。 程序的功能是:有五个学生,每个学生的数据包括学号

12、、姓名 (最长 19 字节 )、三门课 的成绩,从键盘输入五个学生的数据, 计算每个学生的平均成绩并按平均成绩由高到低排序, 并将排序结果显示。 要求用结构体编程, 变量数据类型的选择应适当, 在保证满足设计要求 精度的情况下, 养成不浪费内存空间和计算时间的好习惯。 编程可用素材: printf(Please input info of students:No Name Math English Computern). 。 程序的运行效果应类似地如图 1 所示,图 1 中的: 2001 wanghai 78 83 90 2003 zhangzhong 82 80 98 2005 liumei

13、 95 81 90 2006 sunqian 70 77 90 2009 jiansansa 63 87 90 是从键盘输入的内容。 */ #include #include /* User Code Begin( 考生可在本行后添加代码,行数不限 ) */ struct STUDENT int num; char name20; int math; int english; int computer; float average; ; typedef struct STUDENT STUDENT; /* User Code End( 考生添加代码结束 ) */ int main(void)

14、STUDENT myclass5, *pStu = myclass; int i; const int N = 5; /* User Code Begin( 考生可在本行后添加代码,行数不限 ) */ int j , n = 0; STUDENT myclass11; printf(Please input info of students:No Name Math English Computern); for (i = 0 ; i 5 ; i+) printf(%d: , i+1); scanf(%d , &myclassi.num); scanf(%s , myclassi.na

15、me); scanf(%d , &myclassi.math); scanf(%d , &myclassi.english); scanf(%d , &myclassiputer); for (i = 0 ; i 5 ; i+) myclassi.average = (float)(myclassi.math myclassiputer) / ; for (i = 0 ; i 4 ; i+) for (j = 0; j myclassj.average) myclass1n = myclassj+1; myclassj+1 = myclassj; myclassj =

16、myclass1n; /* User Code End( 考生添加代码结束 ) */ printf(nResult of sort:n); printf(Num Name Math English Computer Averagen); for (i=0; inum, (pStu+i)-name, + myclassi.english + (pStu+i)-math, (pStu+i)-english, (pStu+i)-computer, (pStu+i)-average); return 0; /* 根据要求编写程序的指定部分: 程序已编写部分代码 ( 单击此处下载 ) ,请根据程序中的要

17、求完善程序注意, 除指定 位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作 0 分处理。 程序的功能是: 将从键盘读入的一个十六进制字符串转换成一个十进制数后输出。 注意: (1) 可以只考虑转换成的十进制大小不会超过 long int 型所能表示的最大数。 (2) 只需处理正数,不处理负数。 (3) 输入的字母可以是大写也可以小写。 (4) 程序中不能使用库函数 isxdigit 、 sscanf 或使用同名的变量、函数、单词。 程序的运行效果应类似地如图 1、图 2 和图 3 所示,图 1 中的 7fAa23Bf、图 2 中的 12F 和图 3 中的 39fg 是从键盘输入

18、的内容。if (i != 0) */ /*/ #include /* User Code Begin( 考生可在本行后添加代码,例如全局变量的定义、函数原型声明等, 行数不限 ) */ #include int i, sw, wei, len; /* User Code End( 考生添加代码结束 ) */ int main(void) int flag; /* 标志输入数据是否合法, 0 表示不合法 */ long int result10; /* 转换结果 */ char str20; printf(input a data:); gets(str); /* User Code Begin

19、( 考生可在本行后添加代码,行数不限 ) */ result10 = 0; flag = 1; wei = 1; len = strlen(str) - 1; for (i = 0; i = 0 & strlen - i = A & strlen - i = a & strlen - i = f) sw = (strlen - i - a + 10) * wei); result10 = result10 + sw; else flag = 0; break; /* User Code End( 考生添加代码结束 ) */ printf(ndata is error.n

20、); else printf(nThe result is: %ldn, result10); return 0; /* 编写一程序实现以下功能 输出 m 和 n之间的回文素数, m 和 n从键盘读入(假定满足 5=m=*=100000), 指正向与反向的字符都一样, 例如 1、11、101、131 等。编程可用素材: printf(please m, n(5=m=n=100000): ). 、printf(Result(%d-%d):n. 、 prin tf(%d . 程序的运行效果应类似地如图 1 所示,图 1 中的 5,1000 是从键盘输入的内容。 */ #include int ma

21、in(void) int m, n; int i, j, k, x, num, wei6; printf(please input m, n(5=m=n=100000): ); scanf(%d,%d, &m, &n); printf(Result(%d-%d):n, m, n); for (i=m; i=n; i+) for (x=2; x= j/2) if (i%x = 0) break; if (x = i/2) num = i; j = 0; while (num) weij = num % 10; j+; num = num / 10; for (k=0; kj/2;

22、 k+) if (weik != weij-1-k) break; if (sri = n) printf(%d , i); printf(n); return 0; /* 编写一程序实现以下功能 对从键盘输入的一行字符(约定: 字符数W 127 字节)进行排序(按每个字符的 ASCII 码 由小到大 )并输出。注意:程序中不能使用库函数 gets 、fgets 或使用同名的变量、函数、 单词,编程可用素材: printf(input the string: n). 、 printf(nResult:). 。 程序的运行效果应类似地如图 1 所示,图 1 中的 32679 dsg j7u6k

23、dsvs346r23v5h#sfsaf 是从键盘输入的内容。 */ #include #include int main(void) int i, j, tt; char tem, sr128; printf(input the string: n); for (i = 0; i 127; i+) scanf(%c, &sri); tt = i; break; . 、 printf(to the date(*/*/*):n) 、 printf(nsum=%dn. 程序的运行效果应类似地如图 1 和图 2 所示,图 1 中的 2008/02/13 2 中的 2010/04/24 、 20

24、08/02/13 是从键盘输入的内容。 */ #include int panduan(unsigned int y); if (y = y2) M2 = m2; else M2 = 12; . 、 printf(Please input a juZhen(. hang, . lie):n. you an dian.n). 、 printf(nyou an dian, wei: juZhen.=.n. 程序的运行效果应类似地如图 1 和图 2 所示,图 1 中的 5 6 和 31 42 36 74 2358 88 32 57 37 43 47 1447 97 51 257 7 445 459

25、33 65 44 3 425 43 68 3425 82 789 123 2134o 2010/04/24 和图 、 printf(nmei 及图 2 中的 5 6 和 31 42 1136 74 2358 88 32 57 4137 43 47 1447 97 51 1257 7 445 459 33 65 744 3 425 43 68 3425 2182 789 123 2134 是从键盘输入的内容。 */ #include #define M 20 #define N 20 int main(void) int i, j, k, max, maxj, flag2 = 0, flag1;

26、 int aaMN, m, n; printf(Please input m and n:); scanf(%d%d, &m, &n); for (i=0; im; i+) for (j=0; jn; j+) scanf(%d, &aaij); for (i=0; im; i+) max = aai0; for (j=1; j max) max = aaij; maxj = j; for (k=0, flag1=1; k aakmaxj) /* 判断行中的最大值是否也是列中的是大值 */ flag1 = 0; if (flag1) printf(nyou an dian

27、, wei: a%d%d=%dn, i, maxj, max); flag2 = 1; /*flag2 作为是否有鞍点的标志 */ if (!flag2) printf(nmei you an dian.n); return 0; /* 编写一程序实现以下功能 程序运行时,先从键盘输入一个文本文件的文件名 (约定:字符数W 127 字节,可含路 径)和一个字符串(约定:字符数w 20 字节,其中不含空格、 TAB 等,后面称之为 Str),再 在屏幕上显示该文件的内容。 要求显示完内容后, 在屏幕上输出文件的行数 (行之间以 n 为分隔、每行的长度不定但均w 200 个字节)、字符串 Str

28、在文件中第 1 次出现的行号和最 后一次出现的行号 (查找时不分区大小写、 不跨行查找, 若未找到, 则行号显示为 -1) 。注意, 程序中不能使用库函数 fgets 或使用同名的变量、函数、单词,行的编号从 1 开始计。 单击此处下载程序运行时测试用的文件。编程可用素材: printf(input the files name and the string: ). 、 printf(nfile open error!). 、 printf( -File content: - n). 、 printf(n- File summary: -n). 、 printf(. lines, first

29、line: ., last line: .n. 。 程序的运行效果应类似地如图 1 所示,图 1 中的“ input the files name and the string: C:Temp Value ”中的“ C:Temp Value ”是从键盘输入的内容 (“ ”是文件名, “Value ”是需查找的字符串 )。图 1 中的“ 11 lines, first line: 6, last line: 11 ”表 示文件一共有 11 行,字符串“ Value ”在文件中第一次出现的行号为 6、最后一次出现的行 号为 11。 */ #include #include #include int

30、 main(void) char filename128, str21, hang200, ch; FILE *fp; int sum = 0, i = 0, first = -1, last = -1; printf(input the files name and the string: ); scanf(%s %s, filename, str); printf( - File content: - n); fp=fopen(filename, r); if (fp = NULL) /* 打开文件 */ printf(cannot open file!n); exit(1); while

31、 (!feof(fp) ch = fgetc(fp); if (ch = n | ch = EOF | i = 199) sum+; hangi = 0; putchar(n); i = 0; if (strstr(strupr(hang), strupr(str) if (first = -1) first = sum; last = sum; else hangi = ch; putchar(ch); i+; printf( - File summary: - n); printf(%d lines, first line: %d, last line: %dn, sum, first,

32、last); fclose(fp); return 0; /* 根据要求编写程序的指定部分: 程序已编写部分代码 ( 单击此处下载 ) ,请根据程序中的要求编写相应部分的代码注 意,除指定位置外, 不能对程序中已有部分作任何修改或重新编写一个程序, 否则作 0 分处 理。 程序的运行效果应类似地如图 1 所示,图 1 中每行“ : ”后的内容 af2346asfkl7123vdsg#sdf e3gerg67823;5562vrweg gsd124kl63g512jk57463sdgkdlgh5135fwesdvg#safsa 均为从键盘输入的内容,注意,在“ input string-2: ”

33、处输入时直接按了回车键,这 是题目所允许的。 */ #include #include /* GetString 的功能是从键盘读入最多 n 个字符 ( 遇到由 endFlag 指定的字符或回车则结束 读并且该字符和回车 均视为有效字符 ) 存放在 buf 所指向的内存中并加上字符串结束符 0 函数返回值为读入的字符个数 */ int GetString(char *buf, char endFlag, int n); /* CompDigit 的功能是分别统计指针 s1 、s2、s3、s4 所指向的字符串中数字字符的个数, 将包含最多数字字符 ( 不考虑存在包含相同个数数字字符的情况 ) 的

34、字符串的长度放在 指针 mLen所指向的 内存单元中,并通过函数返回值返回该字符串中第 1 个数字字符的地址 */ char *CompDigit(char *s1, char *s2, char *s3, char *s4, int *mLen); /* clearRestInput 的功能是将前一次读字符后到回车 (含回车 )之间的字符废弃 */ void clearRestInput(char lastInput); int main(void) char str430, strM30, endChar, lastChar; int totalLen = 0, maxLen = -1,

35、i; const int N = 29; printf(ninput endFlag char: ); scanf(%c, &endChar); for (i=0, lastChar=endChar; i4; i+) clearRestInput(lastChar); printf(input string-%d: , i+1); totalLen += GetString(stri, endChar, N); lastChar = stristrlen(stri) - 1; strcpy(strM, CompDigit(str0, str1, str2, str3, &max

36、Len); printf(n - n%s, 4Len=%d, mLen=%dn, strM, totalLen, maxLen); return 0; void clearRestInput(char lastInput) while (lastInput != n) lastInput = getchar(); /* User Code Begin( 考生在此后完成函数 GetString 和 CompDigit 的设计,在其中不要使 用 printf 函数,行数不限 ) */ int GetString(char *buf, char endFlag, int n) int i; char

37、 ch; for (i = 0; i n; i+) ch = getchar(); bufi = ch; if (ch = endFlag | ch = n) i+; break; bufi = 0; return i; char *CompDigit(char *s1, char *s2, char *s3, char *s4, int *mLen)int shuzinum4 = 0; int strlennum4 = 0; int i, j, max; char *pt4; pt0 = s1; pt1 = s2; pt2 = s3; pt3 = s4; for (i = 0; i 4; i

38、+) strlennumi = strlen(pti); for (j = 0; j = 0 & ptij = 9) shuzinumi+; max = 0; for (i = 1; i 4; i+) if (shuzinummax shuzinumi) max = i; *mLen = strlennummax; for (j = 0; j = 0 & ptmaxj = 9) break; return &ptmaxj; /* 编写一程序实现以下功能 设有 10 名歌手 (编号为 1-10) 参加歌咏比赛,另有 6 名评委打分,每位歌手的得分从键 盘输入:先提示“ P

39、lease input singers score: ”,再依次输入第 1 个歌手的 6 位评委打 分(10 分制,分数为整型,分数之间使用空格分隔 ),第 2 个歌手的 6 位评委打分 . 以此类 推。计算出每位歌手的最终得分 ( 扣除一个最高分和一个最低分后的平均分,最终得分保留 2 位小数 ) ,最后按最终得分由高到低的顺序输出每位歌手的编号及最终得分。 注意: 变量数据类型的选择应适当, 在保证满足设计要求精度的情况下, 养成不浪费内 存空间和计算时间的好习惯。编程可用素材: printf (Please input singers score: ). 、 printf(nscores

40、:n). 、printf(No :. 。 程序的运行效果应类似地如图 1 所示,其中的 1 4 7 3 6 3 4 6 8 3 5 8 7 3 6 8 4 2 7 4 7 4 6 4 7 4 4 7 3 8 9 4 3 7 3 6 4 8 3 7 2 8 5 1 6 7 8 7 是从键盘输入的内容。 */ #include #define NUM 10 /* 歌手个数 */ #define PNUM 6 /* 评委个数 */ struct STU int num; float scorePNUM; float aver; ; int main(void) int i, j, max, min;

41、 float tmp; struct STU sNUM, s1; printf (Please input:); for (i=0; iNUM; i+) si.num = i + 1; for (j=0; jPNUM; j+) scanf(%f, &tmp); si.scorej = tmp; for (i=0; iNUM; i+) tmp = 0; max = 0; min = 0; for (j=1; j si.scoremax) max = j; if (si.scorej si.scoremin) min = j; for (j=0; jPNUM; j+) if (j!=max

42、 & j!=min ) tmp += si.scorej; si.aver = tmp / (PNUM - 2); for (i=0; iNUM-1; i+) for (j=i; jNUM; j+) if (si.aver sj.aver) s1 = si; si = sj; sj = s1; printf(nscores:n); for (i=0; iNUM; i+) printf(No.%d:%.2fn, si.num, si.aver); return 0; /* 编写一程序实现以下功能 从键盘上读入一行字符(约定:字符数W 127 字节),判断其中的注释是否合法,不合法结束,通

43、常表现为/* . */。 注意事项: (1) 程序中不能使用库函数 strstr 或使用同名的变量、函数、单词。 (2) 只考虑行内最多只包含一个注释的情况。 (3) 不合法的注释情况有很多种,例如 */缺注释开始标记、/ */缺注释开始 标记、/* . 缺注释结束标记、/* . * /缺结束标记。 则报错,合法时则删除注释后再输出。合法注释是指 /* ”标记注释开始、 */ ”标记注释 (4) 编程可用素材: printf(input a string:). 、 printf(nThe result is :). 、 printf(ncomment is errorn). 。 程序的运行效果

44、应类似地如图 1、图 2、图 3 和图 4 所示,图 1 中的 int main(void)char ch;/*ding yi*/ int i 、图 2 中的 int main(void)char ch;ding yi*/ int i 、图 3 中 的 int main(void)char ch;/*ding yi* / int i 和图 4 中的 int main(void)char ch; int i 是从键盘输入的内容。 */ #include int main(void) char aa128, bb128; int i, tt, j, k128; tt = 0; printf(inp

45、ut a string:); for (i = 0; i 128; i+) scanf(%c, &aai); if (aai = / | aai = *) bbtt = aai; ktt = i; tt+; if (aai = n) aai = 0; break; if (tt != 4 & tt != 0) printf(ncomment is errorn); else if (tt = 0) printf(nThe result is :); puts(aa); else if ( bb0 = / & bb3 = / & bb1 =* & bb2

46、= * & k0 = k1 - 1 & k2 = k3 - 1) printf(nThe result is :); for (j = 0; j k1 - 1; j+) printf(%c, aaj); for (j = k3+1; j i; j+) printf(%c, aaj); printf(n); else printf(ncomment is errorn); return 0 ; /* 编写一程序实现以下功能 从键盘读入一行字符(约定:字符数W 127 字节,其中的空格不固定、有多有少 )和加密 间隔(假定只输入正整数 ) ,将加密后的文字输出。具体加密方法示例为:

47、对于输入“ 1 2 3 4 5 6 7 8 9abcd ef ghiA BCD EFG HI XYZ ”、加密间隔为 9,先去掉输入中的空格后输 出为:9abcdefghiABCDEFGHIXYZ 然后按间隔 9 分组: 9 abcdefghi ABCDEFGHI XYZ 输出密码的方法为: 从第 1 组开始, 依次从每组各取 1 字符输出, 每一轮取完后输出一 个空格,则以上输入的密码输出为: 1aAX 2bBY 3cCZ 4dD 5eE 6fF 7gG 8hH 9iI 。 编程可用素材: printf(Input a string:). 、 printf(nInput jiange:).

48、、 printf(nThe string of deleted space:).、 printf(nThe result is:). 程序的运行效果应类似地如图 1 所示,图 1 中的 1 2 3 4 5 6 7 8 9abcd ef ghiA BCD EFG HI XYZ 和 9 是从键盘输入的内容。 */ #include #include int main(void) char zhu128, zhu1128; char zhu2128128; int jiange, i, n, j, m; int s = 0, ww; printf(Input a string:); gets(zhu

49、); printf(nInput jiange:); scanf(%d, &jiange); n = strlen(zhu); for (i = 0; i n; i+) if (zhui = ) s+; continue; else zhu1i - s = zhui; zhu1n - s = 0; m = strlen(zhu1); printf(nThe string of deleted space:); puts(zhu1); printf(nThe result is:); ww = m / jiange + 1; for (i = 0; i jiange; i+) zhu1n

50、 - s + i = 0; for (j = 0; j ww; j+) for (i = 0; i jiange; i+) zhu2ji = zhu1i + j * jiange; for (i = 0; i jiange; i+) for (j = 0; j ww; j+) if (zhu2ji = 0) continue; else printf(%c, zhu2ji); printf( ); return 0; /* 编写一程序实现以下功能 从键盘上输入 5 个字符串(约定:每个字符串中字符数w 并输出。 (1) 程序中不能使用库函数 stpcpy 、 strcat 、 strncat

51、memicmp、memcm、p stricmp 、strncmp 、strncmpi 、 strnicmp 名的变量、函数、单词。 (2) 编 程 可 用 素 材 : printf(Input printf( n). - 。 程序的运行效果应类似地如图 1 所示,图 1 中的 hello my80 字节 ) ,对其进行升序排序 strncpy 、 memcpy、 strcpy 、 、 strcmp 和 strcmpi 或使用同 dear friend Are you ready? 是从键盘输入的内容。 */ #include #include int bijiao(char s1, char

52、s2) int n1, n2, i, flag; n1 = strlen(s1); n2 = strlen(s2); for (i=0; in1 & in2; i+) if (s1i != s2i) break; if (in1 & i s2i) flag = 1; else flag = -1; else if (i = n1 & i = n2) flag = 0; else if (i = n1) flag = -1; else if (i = n2) flag = 1; return flag; /*/ /* 编写一程序实现以下功能 x(x 只考虑整数 int 且

53、必须定义为 int 、但 F(x) 完全可能超过 int 的表示范围 ) 通过键 盘输入 ( 输入前给出提示 Please input x:) ,然后计算并在屏幕上输出函数值。注意,图 1 中的括号不是 而是 () ,编程可用素材: printf(Please input x: ). 。 -5x+27 (x0) 程序的运行效果应类似地如图 1 所示,图 1 中的 3 是从键盘输入的内容。 */ #include int main(void) int x; double y; printf(Please input x:); scanf(%d, &x); if (x 0) y = * x

54、 - 1; printf(nF(%d)=%.0lfn, x, y); if (x = 0) y = 7909; printf(nF(%d)=7909n, x, y); if (x 0) y = * x + 27; printf(nF(%d)=%.0lfn, x, y); return 0; /*/ /* 编写一程序实现以下功能 已知某银行整存整取存款不同期限的年息利率分别为: %期限一年, %期限二年, 三年, %期限五年, %期限八年。从键盘上输入存钱的本金 ( 以元为单位,必须定义为 应考虑金额很大的情况 )和存款期限 ( 只考虑 1,2,3,5,8) ,求到期时能从银行得到的利息 元为单

55、位,应考虑有小数,不计复利 )。编程可用素材 : printf(nPlease benjin,cunqi:). 、 printf(nlixi = . yuan. 。 程序的运行效果应类似地如图 1 所示,图 1 中的 10000,8 是从键盘输入的内容。 */ #include #include int main(void) int cunqi; long int benjin; double lixi; printf(Please input benjin,cunqi:); scanf(%ld,%d, &benjin, &cunqi); printf(n);%期限 int 且

56、 (以 input if (cunqi = 1) lixi = (double) * benjin * / 100); printf(lixi = %.2lf yuan, lixi); if (cunqi = 2) lixi = (double) * benjin * / 100); printf(lixi = %.2lf yuan, lixi); if (cunqi = 3) lixi = (double) * benjin * / 100); printf(lixi = %.2lf yuan, lixi); if (cunqi = 5) lixi = (double) * benjin *

57、 / 100); printf(lixi = %.2lf yuan, lixi); if (cunqi = 8) lixi = (double) * benjin * / 100); printf(lixi = %.2lf yuan, lixi); return 0; /*/ /* 编写一程序实现以下功能 编写一个简单计算器程序,输入格式为: data1 op data2 。其中 data1 和 data2 是参加 运算的两个数 (data1 、data2 必须定义为 int ,但二者相加可能超出 int 能表示的范围 ) ,op 为运算符,它break; 的取值只能是 +、-、*、/ 、%。

58、 程序的运行效果应类似地如图 1、 图 2、 图 3、 图 4 所示, 图 1 中的 3000 + 2000 、 图 2 中的 3000 % 2000 、图 3 中的 3000 % 0 和图 4 中的 3000 / 0 是从键盘输入的内容。 */ #include int main(void) int data1, data2; char op; double y; printf(Please input data1 op date2:); scanf(%d %c %d, &data1, &op, &data2); switch (op) case +: y = + d

59、ata1 + data2; printf(n%d+%d=%.0lf n, data1, data2, y);break; case -: printf(n%d-%d=%d n, data1, data2, data1 - data2); break; case *: y = * data1 * data2; printf(n%d*%d=%.0lf n, data1, data2, y); break; case /: if (0 = data2) printf(nError! chu shu wei 0.n); else printf(n%d/%d=%d n, data1, data2, da

60、ta1 / data2); break; case %: if (0 = data2) printf(nError! chu shu wei 0.n); else printf(n%d%d=%d n, data1, data2, data1 % data2); default: break; return 0; /*/ /* 编写一程序实现以下功能 输入月份,打印 2003 年该月有几天。当输入的月份超范围时,应显示“ Invalid month input ”。 程序的运行效果应类似地如图 1 和图 2 所示,图 1 中的 4 和图 2 中的 13 是从键盘输入 的内容。 */ #include int main(void) int mon; printf(please input the month number:); scanf(%d, &mon); if (mon 12) printf(Invalid month input!n); else switch (mon) case 1: case 3: case 5: case 7:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论