C补强阶段作业

上传人:索**** 文档编号:142138515 上传时间:2020-08-17 格式:PDF 页数:14 大小:63.90KB
返回 下载 相关 举报
C补强阶段作业_第1页
第1页 / 共14页
C补强阶段作业_第2页
第2页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C补强阶段作业》由会员分享,可在线阅读,更多相关《C补强阶段作业(14页珍藏版)》请在金锄头文库上搜索。

1、1 编写一个函数。函数的三个参数是一个字符和两个整数。字符参数是需要输出的字符。 第 1 个整数说明了在每行中该字符输出的个数,而第二个整数指的是需要输出的行数。编写 一个调用该函数的程序。要求: 输入字符为回车时,作为未输入字符处理;输入行列值时若 不是数字,直接结束程序。 编程考点:循环基本语法;break 和 continue #include voidchLineRow ( char ch, int c, int r); intmain(void ) char ch; i nt col, row; printf(Enter a character (# to quit): ); whi

2、le ( (ch = getchar () != # ) if (ch = n) continue; printf( Enter number of columns and number of rows: ); if ( scanf (%d %d, chLineRow(ch, col, row); printf( nEnter next character (# to quit): ); printf(Bye!n); r eturn 0; voidchLineRow ( char ch, int c, int r) i nt col, row; f or (row = 0; row r; ro

3、w+) for (col = 0; col c; col+) putchar (ch); putchar (n); r eturn ; 编写一个函数计算double 类型数的某个整数次幂(不得调用系统的函数pow) , 注意 0 的任何次幂和任何数值的0 次幂以及负数次幂 并编写测试程序 2 编程考点: if-else的嵌套 #include doublepower( double a, int b); /* ANSI prototype */ intmain(void ) double x, xpow; i nt n; printf(Enter a number and the intege

4、r power); printf( to whichnthe number will be raised. Enter q); printf( to quit.n); while ( scanf ( %lf%d , /* function call */ printf( %.3g to the power %d is %.5gn, x, n, xpow); printf( Enter next pair of numbers or q to quit.n); printf(Hope you enjoyed this power trip - bye!n); r eturn 0; doublep

5、ower( double a, int b) /* function definition */ double pow = 1; i nt i; i f (b = 0) f inches.nn, total/YRS); printf(MONTHLY AVERAGES:nn); printf( Jan Feb Mar Apr May Jun Jul Aug Sep Oct ); printf( Nov Decn); f or (month = 0; month MONTHS; month+) /* for each month, sum rainfall over years */ for (y

6、ear = 0, subtot =0; year YRS; year+) subtot += *(*(rain + year) + month); printf( % , subtot/YRS); printf(n); r eturn 0; 编写一个程序,提示用户输入3 个数据集,每个数据集包括5 个 double 值。程序应当 实现下列所有功能: 3 A把输入信息存储到一个3*5 的数组中 B计算出每个数集( 包含 5 个值 ) 的平均值 C计算所有数值的平均数 D找出这 15 个数中的最大值 打印出结果 每个任务需要用一个单独的函数来实现。对于任务B需要编写计算并返回一维数组平均 值的函数

7、, 循环三次调用该函数来实现任务B。对于任务C、D,函数应当把整个数组做为参 数,并却完成任务B 、C和 D的函数应该向他的调用函数返回答案 ( 推荐使用变长数组,参考程序为变长数组实现) 编程考点:循环和二维数组的熟练应用,以及数组作为参数的传递 #include #define ROWS 3 #define COLS 5 voidstore ( double ar, int n); doubleaverage2d ( int rows, int cols, double arrowscols); doublemax2d( int rows, int cols, double arrowsc

8、ols); voidshowarr2 (int rows, int cols, double arrowscols); doubleaverage ( constdouble ar, int n); intmain(void ) double stuffROWSCOLS; i nt row; f or (row = 0; row ROWS; row+) printf( Enter %d numbers for row %dn, COLS, row + 1); store(stuffrow, COLS); printf(array contents:n); showarr2(ROWS, COLS

9、, stuff); for (row = 0; row ROWS; row+) printf( average value of row %d = %gn, row + 1, average(stuffrow, COLS); printf(average value of all rows = %gn, average2d(ROWS, COLS, stuff); printf(largest value = %gn, max2d(ROWS, COLS, stuff); printf(Bye!n); r eturn 0; voidstore ( double ar, int n) 4 i nt

10、i; f or (i = 0; i n; i+) printf( Enter value #%d: , i + 1); scanf (%lf, doubleaverage2d ( int rows, int cols, double arrowscols) i nt r, c; double sum = ; f or (r = 0; r rows; r+) for (c = 0; c 0) return sum / (rows * cols); else return ; doublemax2d( int rows, int cols, double arrowscols) i nt r, c

11、; double max = ar00; f or (r = 0; r rows; r+) for (c = 0; c cols; c+) if (max arrc) max = arrc; r eturn max; voidshowarr2 (int rows, int cols, double arrowscols) i nt row, col; f or (row = 0; row rows; row+) for (col = 0; col cols; col+) printf(%g , arrowcol); putchar (n); doubleaverage ( constdoubl

12、e ar, int n) i nt i; 5 double sum = ; f or (i = 0; i 0) return sum / n; else return ; 编写产生 100 个 1-10 的随机数的程序,并以降序排列 rand() 为 C的标准随机数产生函数 编程考点:一维数组实现选择排序,嵌套循环的基本使用 #include #include voidprint( constint array, int limit); voidsort ( int array, int limit); #define SIZE 100 intmain(void ) i nt i; i nt

13、arrSIZE; f or (i = 0; i SIZE; i+) arri = rand () % 10 + 1; puts ( initial array); print(arr, SIZE); sort(arr, SIZE); puts ( nsorted array); print(arr, SIZE); r eturn 0; /* - sorts an integer array in decreasing order */ voidsort ( int array, int limit) i nt top, search, temp; f or (top = 0; top limi

14、t -1; top+) for (search = top + 1; search arraytop) 6 temp = arraysearch; arraysearch = arraytop; arraytop = temp; /* - prints an array */ voidprint( constint array, int limit) i nt index; f or (index = 0; index limit; index+) printf( %2d , arrayindex); if (index % 10 = 9) putchar ( n); i f (index %

15、 10 != 0) putchar (n); 设计一个简单的结构用来存储月份的全称、缩写、月号(1-12) 、天数 写一个简单的程序输出从一月开始到用户选择的月份的总天数(2 月假设 28 天) 注意,用户输入不区分大小写 编程考点: C库字符及字符串函数的初步使用;结构的初步使用 #include #include #include struct month charname10; charabbrev 4; i ntdays; i ntmonumb ; ; conststruct month months12 = January, Jan , 31, 1 , February, Feb ,

16、 28, 2 , March , Mar , 31, 3 , April, Apr , 30, 4 , May , May , 31, 5 , June , Jun , 30, 6 , July, Jul, 31, 7 , August, Aug , 31, 8 , September , Sep , 30, 9 , October, Oct , 31, 10 , November , Nov , 30, 11 , December , Dec , 31, 12 ; 7 intdays(char * m); intmain(void ) char input20; i nt daytotal; printf(Enter the name of a month: ); while ( gets (inpu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 计算机等级考试

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号