第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序 选择 循环 第二章 一. 选择题
2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2
2.16 { } 定义 执行语句 2.17 关键字 用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5
2.22 (a*b)/c a*b/c a/c*b 2.23 把常量10赋给变量s 2.24 位 1或0 2.25 8 127 -128 2.26 32767 -32768 00000 2.27 10 8 16 三. 上机改错题 2.28
#include \"stdio.h\"; 删除行尾的\";\"
main(); / * main function * / 删除\")\"后的\";\注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{”
float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ;
s = 3.14159 * r * r ;
printf(\"%f\\n\行尾遗失了“;” 函数结束处遗失了一个“}” 2.29
#include \"stdio.h\"
main /* main function */ main后遗失了“()” {
float a,b,c,v; /*a,b,c are sides, v is volume of cube */ a=2.0; b=3.0; c=4.0 行尾遗失了“;”
v=a*b*c;
printf(\"%f\\n\行尾遗失了“;” } 第三章 一. 选择题
3.1 C 3.2 C 3.3 D 3.4 C 3.5 D 3.6 B 3.7 C 3.8 D 3.9 A 3.10 B
3.11 C 3.12 D 3.13 D 3.14 A 3.15 C 3.16 C 3.17 C 3.18 无答案 3.19 C 3.20 B
二. 填空题
3.21 (1)-(2)i=-200,j=2500 (3)i=-200 j=2500 3.22 12 0 0 3.23 一条语句 ; 3.24 ;
3.25 100,25.81,1.89234 100 25.81 1.89234 100 25.81 1.89234 3.26 x=127,x= 127,x= 177,x= 7f,x= 127 3.27 x=127,x=127 ,x=$127 ,x=$,x=%06d 3.28 a=513.,a= 513.79,a= 513.,a= 513.
三. 编程题和改错题 3.29 修改后的程序如下: main() {
double a,b,c,s,v; printf(\"input a,b,c:\");
scanf(\"%lf%lf%lf\ s =a*b; v=a*b*c;
printf(\"a=%f,b=%f,c=%f\\n\ printf(\"s=%f,v=%f\\n\ } 3.30 #include main() {
int a=560,b=60;
printf(\"560 minute is %d hour and %d minute.\\n\ } 3.31 #include main() {
int a,b; a=1500;b=350;
printf(\"a div b is : %d\\n\ printf(\"a mod b is : %d\\n\ } 3.32 #include main() {
double a,b,c,ave;
printf (\"input 3 double number : \\n\"); scanf (\"%lf%lf%lf\ printf (\"%.1f\\n\ } 3.33 #include void main() {
int a,b,c,t;
printf(\"请依次输入整数a,b,c:\"); scanf(\"%d%d%d\
printf(\"\\n你输入的值是: a=%d,b=%d,c=%d\\n\ t=b;b=a;a=c;c=t;
printf(\"交换之后的值是:a=%d,b=%d,c=%d\\n\ } 第四章 一. 选择题
4.1 A 4.2 A 4.3 A 4.4 D 4.5 C 4.6 A 4.7 B 4.8 C 4.9 D 4.10 C 二. 填空题 4.11 非0 0
4.12 < > >= <=同级 == !=同级 4.13 ! && || 4.15 !
4.16 a == b || a < c x > 4 || x < -4 4.17 1
4.18 x <= 0 1 > 0 4.19 3 2 2 4.20 *#
三. 编程题 4.21 略 4.22
#include
/* 检查日期的合法性 */
int checkdate(int year, int month, int day) {
if(year < 1900 || year > 2005) {
printf(\"输入的年份无效!\\n\"); return 0; }
else if(month < 0 && month > 12) {
printf(\"输入的月份无效!\\n\"); return 0; }
else if(day <= 0 && day > 31) {
printf(\"输入的日期无效!\\n\"); return 0; } else {
switch(month) { case 4: case 6: case 9: case 11: if(day > 30) {
printf(\"输入的日期无效!\\n\"); return 0; } break; case 2:
if((year%4 == 0 && year%100 != 0) || year%400 == 0) {
if(day > 29) {
printf(\"输入的日期无效!\\n\"); return 0; } } else
{
if(day > 28) {
printf(\"输入的出生日期无效!\\n\"); return 0; } } break;
}/* end of switch(m0)*/ } return 1; }
void main() {
int y0, m0, d0; /* 生日 */ int y1, m1, d1; /* 当前日期 */ int years, months, days; /* 实足年龄*/
printf(\"请输入学生的生日:\"); scanf(\"%d%d%d\
if(checkdate(y0, m0, d0)) {
printf(\"请输入当前日期:\"); scanf(\"%d%d%d\ /*当前日期合法性检查*/ if(!checkdate(y1, m1, d1)) { return; }
else if(y0 > y1) {
printf(\"出生年份比当前年份晚!\\n\"); return; }
else if(y0 == y1) {
if(m0 > m1) {
printf(\"出生年月比当前年月晚!\\n\"); return; }
else if(m0 == m1)
{
if(d0 > d1) {
printf(\"出生年月日比当前年月日晚!\\n\"); return; } } } }
/* 计算实足年龄 */ years = y1 - y0; months = m1 - m0; days = d1 - d0;
/* 修正实足年龄天数*/ if(days < 0) { months--; switch(m1) { case 1: case 5: case 7: case 10: case 12: days += 30; break; case 2: case 4: case 6: case 8: case 9: case 11: days += 31; break; case 3:
if((y1%4 == 0 && y1%100 != 0) || y1%400 == 0) {
days += 29; } else {
days += 28;
} break;
}/* end of switch(m1) */
}/* end of if(days < 0) */
/* 修正实足年龄月数*/ if(months < 0) {
months += 12; years--;
}/* end of if(months < 0) */
printf(\"出生日期: %d年%d月%d日\\n\ printf(\"当前日期: %d年%d月%d日\\n\
printf(\"实足年龄: %d年%d月%d日\\n\ return; } 4.23 #include
void main() { int a;
printf (\"请输入一个整数 :\"); scanf (\"%d\ if (a%2==0) {
printf (\"%d 是偶数\\n\ } else {
printf (\"%d 是奇数\\n\ } } 4.24 #include
void main() {
int a,b,c,temp,max;
printf (\"请输入三个整数 :\"); scanf (\"%d %d %d\ temp=(a>b)? a:b; max=(temp>c)? temp:c; printf (\"\\n\");
printf (\"你输入的数中最大的是 %d.\\n\ } 4.25
(1)不嵌套的if语句 #include
void main() { int x,y;
printf(\"input x :\"); scanf(\"%d\ if ( x>-5 && x<0 ) {
printf(\"y is %d\\n\ }
if ( x==0 ) {
printf(\"y is %d\\n\ }
if ( x>0 && x<10 ) {
printf(\"y is %d\\n\ }
if ( x>=10 || x<=-5) {
printf(\"error\\n\"); } }
(2)嵌套的if语句 #include
void main() { int x,y;
printf(\"input x :\"); scanf(\"%d\ printf(\"\\n\"); if(x < 0)
{ if(x > -5) {
printf(\"y is %d.\\n\ } else {
printf(\"error!\\n\"); } } if(0 == x) {
printf(\"y is %d.\\n\ } if(x > 0) { if(x < 10) {
printf(\"y is %d.\\n\ } else {
printf(\"error!\\n\"); } } }
(3)if_else语句 #include
void main() { int x,y;
printf(\"input x :\"); scanf(\"%d\ if( x>-5 && x<0 ) {
printf(\"y is %d.\\n\ }
else if( x==0 ) {
printf(\"y is %d.\\n\ }
else if( x>0 && x<10 ) {
printf(\"y is %d.\\n\ } else {
printf(\"error!\\n\"); } }
(4)switch语句 #include
void main() { int x,y;
printf(\"input x : \"); scanf(\"%d\ switch (x) { case -4: case -3: case -2: case -1:
printf(\"y is %d.\\n\ break; case 0:
printf(\"y is %d.\\n\ break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
printf(\"y is %d.\\n\ break; default:
printf(\"error!\\n\"); } } 第五章
一. 选择题
5.1 D 5.2 C 5.3 B 5.4 C 5.5 C 5.6 B 5.7 D 5.8 A 5.9 D 5.10 D
二. 填空题 5.11 5 4 6 5.12 死循环 5.13 -1 5.14 11
5.15 d=1.0 k++ k<=n 5.16 x>=0 x 三. 编程题 5.17 #include void main() { int i; int sig = 1; int sum = 0;
for(i=1; i<=101; i++,i++) {
sum += sig*i; sig *= -1; }
printf(\"sum=%d\\n\ } 5.18 (1) #include
void main() { int i;
double m=1.0; double e = 1.0; for(i=1; i<50; i++) { m *= i; e += 1/m; }
printf(\"e=%f\\n\ } (2)
#include
void main() { int i=1; double m=1.0; double e = 1.0; while(1/m >= 0.0004) { m *= i; e += 1/m; i++; }
printf(\"e=%f\\n\ } 5.19 #include
void main() { int year; int col = 0;
for(year=1600; year<=2000; year++) {
if((year%4 == 0 && year%100 != 0) || year%400 == 0) {
printf(\"%d\\ col++; if(col%5 == 0) {
printf(\"\\n\"); } } }
printf(\"\\n\"); } 5.20 #include #define N 7
void main()
{ int i; int j; int m; int k = N/2; for(i=0; i { m = i-k; if(m < 0) { m *= -1; }
for(j=0; j { printf(\" \"); }
for(j=0; j<2*(k-m)+1; j++) {
printf(\"*\"); }
printf(\"\\n\"); } } 第六章
一. 选择题
6.1 B 6.2 D 6.3 A 6.4 A 6.5 B 6.6 D 6.7 D 6.8 B 6.9 A 6.10 A 6.11 C
二. 填空题 6.12 -1 6.13 1 6.14 ctype.h 6.15 1
6.16 10A 20B 30C 40D 6.17 7.29 101.298AB 6.18 A7.29B101.298
6.19 A B C (每个字符后有三个空格)
三. 编程题 6.20 #include #define N 80
void main() {
char str[N]; int iLoop = 0; gets(str); while(str[iLoop]) {
printf(\"%c-%d\\ iLoop++; if(iLoop%3 == 0) {
printf(\"\\n\"); } }
printf(\"\\n\"); } 6.21 #include #define N 80
void main() {
char str[N]; int num = 0; int iLoop = 0; gets(str); while(str[iLoop]) {
if(str[iLoop] >= '0' && str[iLoop] <= '9') {
num = 10*num + (str[iLoop] - '0'); } iLoop++; }
printf(\"%d\\n\ } 6.22 #include #include #define N 80
void main() {
char str[N];
int num = -1; do { gets(str); num++;
}while(strcmp(str, \"EOF\"));
printf(\"您输入了%d行字符!\\n\ } 6.23 #include #define N 80
void main() {
char str[N]; int iLoop = 0; int num = 0; gets(str);
while(str[iLoop] && iLoop < N) {
if(str[iLoop] >= 'a' && str[iLoop] <= 'z') { num++; } iLoop++; }
printf(\"您输入了字符中有%d个小写字母!\\n\ } 6.24 #include
void main() { int line; int iLoop1; int iLoop2;
printf(\"请输入图案的行数(不大于26):\"); scanf(\"%d\
for(iLoop1 = 0; iLoop1 < line; iLoop1++) {
for(iLoop2 = 0; iLoop2 < line - iLoop1; iLoop2++)
{
printf(\" \"); }
for(iLoop2 = 0; iLoop2 < 2*iLoop1+1; iLoop2++) {
printf(\"%c\ }
printf(\"\\n\"); } } 第七章
一. 选择题
7.1 C 7.2 C 7.3 B 7.4 C 7.5 A 7.6 D 7.7 A
二. 填空题 7.8 12 7.9 9. 7.10 4 7.11 n=1 s 7.12 <=y z*x 7.13 1 s*i 0 f(k)
三. 程序调试和编程题 7.14 fun(int n) { int k,yes;
for(k=2; k<=n/2; k++) {
if(n%k == 0) { yes = 0; break;} else yes = 1; }
return yes; } 7.15
int mymod(int a, int b) {
return a%b; } 7.16
double fun(int n) {
double sum = 0; int iLoop; int sig = -1;
for(iLoop=1; iLoop<=n; iLoop++) { sig *= -1;
sum += sig*1.0/iLoop; }
return sum; } 7.17
double fun(int n) {
double t = 1.0; int iLoop; long tmp;
for(iLoop=2; iLoop<=n; iLoop++) {
tmp = iLoop*iLoop; t -= 1.0/tmp; } return t; } 7.18 #include #include
double fun(double x) {
return x*x + 5*x + 4; }
void main() { int x = 2;
printf(\"y1=%f\\n\ printf(\"y2=%f\\n\ printf(\"y3=%f\\n\ } 第八章 一. 选择题
8.1 A 8.2 B 8.3 B 8.4 C 8.5 B 8.6 B 8.7 C 8.8 D 8.9 B 8.10 C 8.11 C 8.12 C
二. 填空题 8.13 110 8.14 7 1
8.15 (1)char *p=&ch; (2) p=&ch; (3)scanf(\"%c\ 8.16 (1)s=p+3; (2)s=s-2 (3)50 (4)*(s+1) (5)2 (6)10 20 30 40 50
三. 编程题 8.17
void fun(double x, double y, double *sum, double *div) {
*sum = x + y; *div = x - y; return; } 8.18
void fun(double x, double y, double z, double *max, double *min) {
*max = x; *min = x; if(*max < y) {
*max = y; }
if(*max < z) {
*max = z; }
if(*min > y) { *min = y; }
if(*min > z) { *min = z; } return; } 第九章 一. 选择题
9.1 D 9.2 A 9.3 A 9.4 C 9.5 C 9.6 A 9.7 B 9.8 D 9.9 C 9.10 C 9.11 C 9.12 D 9.13 D 9.14 A 9.15 A 9.16 A 9.17 C 9.18 C
二. 填空题
9.19 9 0 9.20 6 9.21 12 9.22 3 9.23 2721 9.24 -850,2,0 9.25 k=p k
9.26 (c=getchar()) c-'A'
三. 编程题 9.27 #include #define N 81 int main() {
int counter[10] = {0}; int iLoop = 0; char str[N];
gets(str); while(str[iLoop]) {
if(str[iLoop] >= '0' && str[iLoop] <= '9') {
counter[str[iLoop] - '0']++; } iLoop++; }
for(iLoop=0; iLoop < 10; iLoop++) {
printf(\"%d - %d\\n\ } return 0; } 9.28
void fun(int array[], int arraysize, int start) { int iLoop;
if(start < arraysize-1) {
if(start <=0) { start = 1; }
for(iLoop = start; iLoop < arraysize; iLoop++) {
array[iLoop-1] = array[iLoop]; } }
for(iLoop = 0; iLoop < arraysize; iLoop++) {
printf(\"No.%d = %d\\n\ } } 9.29
int fun(int arry1[], int arry2[], int arrysize) { int iLoop; int counter = 0;
for(iLoop = 0; iLoop < arrysize; iLoop++) {
if(arry1[iLoop] % 2) {
arry2[counter++] = arry1[iLoop]; } }
return counter; } 9.30
void fun(char array[], int arraysize) {
int iLoop1; int iLoop2; char temp; /* 冒泡排序 */
for(iLoop1 = 0; iLoop1 < arraysize - 1; iLoop1++) {
for(iLoop2 = 0; iLoop2 < arraysize - 1 - iLoop1; iLoop2++) {
if(array[iLoop2] < array[iLoop2 + 1]) {
temp = array[iLoop2];
array[iLoop2] = array[iLoop2 + 1]; array[iLoop2 + 1] = temp; } } } }
9.31 #include
void fun(int array[], int arraysize, int inertNumber) { int iLoop; int iLoop2;
if(array[0] < array[arraysize-1]) {
for(iLoop = 0; iLoop< arraysize; iLoop++) {
if(array[iLoop] > inertNumber) {
for(iLoop2 = arraysize - 1; iLoop2 >= iLoop; iLoop2--) {
array[iLoop2 + 1] = array[iLoop2]; }
array[iLoop] = inertNumber; break; } }
if(iLoop >= arraysize) {
array[arraysize] = inertNumber; } } else {
for(iLoop = 0; iLoop< arraysize; iLoop++) {
if(array[iLoop] < inertNumber) {
for(iLoop2 = arraysize - 1; iLoop2 >= iLoop; iLoop2--) {
array[iLoop2 + 1] = array[iLoop2]; }
array[iLoop] = inertNumber; break; } }
if(iLoop >= arraysize) {
array[arraysize] = inertNumber; }
} }
int main() { int iLoop;
int a[20] = {7,6,5,3,2,1};
for(iLoop = 0; iLoop < 6; iLoop++) {
printf(\"%d \ }
printf(\"\\n\"); fun(a, 6, 0);
for(iLoop = 0; iLoop < 7; iLoop++) {
printf(\"%d \ }
printf(\"\\n\"); fun(a, 7, 4);
for(iLoop = 0; iLoop < 8; iLoop++) {
printf(\"%d \ }
printf(\"\\n\"); fun(a, 8, 8);
for(iLoop = 0; iLoop < 9; iLoop++) {
printf(\"%d \ }
printf(\"\\n\"); return 0; } 9.32
int fun(int number, int array[]) {
int iLoop = 0; int iLoop2; int binLen; int midNumber; int div; int remain;
midNumber = number; do
{
div = midNumber/2; remain = midNumber%2; midNumber = div; array[iLoop++] = remain; }while(midNumber);
binLen = iLoop;
for(iLoop2 = 0, iLoop = binLen - 1; iLoop2 < iLoop; iLoop2++, iLoop--) {
midNumber = array[iLoop2]; array[iLoop2] = array[iLoop]; array[iLoop] = midNumber; }
return binLen; } 9.33 #include #include #define N 15
void fun(int array[], int arraysize) { int x; int iLoop; int iLoop2;
for(iLoop = 0; iLoop < arraysize; iLoop++) {
iLoop2 = 0; x = rand()%20; do {
if(x == array[iLoop2] && iLoop > 0) {
x = rand()%20; iLoop2 = 0; }
iLoop2++;
}while(iLoop2 < iLoop); array[iLoop] = x; } }
int main() { int a[N]; int iLoop;
fun(a, N);
for(iLoop = 0; iLoop < N; iLoop++) {
printf(\"%d\\n\ } return 0; } 第十章 一. 选择题
10.1 C 10.2 B 10.3 C 10.4 B 10.5 C 10.6 A 10.7 C 10.8 A 10.9 C 10.10 C
二. 填空题 10.11 GFEDCB 10.12 XYZ 10.13 SO 10.14 10 10.15 Itis
10.16 strlen(str)-1 j-- 10.17 3
10.18 goodgood!
三. 编程题 10.19
char* mygets(char *str) {
int iLoop = 0; char ch;
while((ch=getchar()) != '\\n') {
str[iLoop++] = ch; }
str[iLoop] = '\\0'; return str; }
char * myputs(char *str)
{
int iLoop = 0; while(str[iLoop]) {
putchar(str[iLoop++]); }
putchar('\\n'); return str; } 10.20 #include #include
int fun(char *str) { int len; int iLoop1; int iLoop2; int result = 1;
len = strlen(str);
for(iLoop1 = 0, iLoop2 = len - 1; iLoop1 < iLoop2; iLoop1++, iLoop2--) {
if(str[iLoop1] != str[iLoop2]) {
result = 0; break; } }
return result; }
int main() {
char a[20] = \"ABCDCBA\"; char b[20] = \"ABCDEBA\";
printf(\"%d\\n\ printf(\"%d\\n\
return 0; } 10.21
char fun(char *str, int pos) { int len; int iLoop; char ch;
len = strlen(str); if(pos > len) {
return NULL; }
ch = str[pos];
for(iLoop = pos; iLoop < len - 1; iLoop++) {
str[iLoop] = str[iLoop + 1]; }
str[len-1] = '\\0'; return ch; }
第十一章 一. 选择题
11.1 D 11.2 B 11.3 A 11.4 C
二. 填空题
11.5 IJKLEFGHABCD 11.6 7 11.7 8
11.8 *(s+j) i+1 i 11.9 17
11.10 (*fun)() (*fun)(a+i*h)/h mypoly
三. 编程题 11.11 #include #include #define N 81
int main(int argc, char **argv) { char sig; int dig; int pos;
char str[N] = {'\\0'}; char outStr[N] = {'\\0'};
if(argc < 2) { sig = '-'; dig = 10; } else {
sig = argv[1][0]; dig = argv[1][1] - '0'; }
printf(\"请输入一个字符串:\"); gets(str);
if(sig == '-') {
pos = strlen(str) - dig; if(pos <= 0) { pos = 0; }
strcpy(outStr, str + pos); }
else if(sig == '+') {
strcpy(outStr, str); pos = strlen(outStr); if(pos > dig) {
pos = dig; }
outStr[pos] = '\\0'; }
printf(\"处理后的字串为:\"); printf(\"%s\\n\
return 0; } 11.12 #include #include
void movebin(char *bin) { int len; int iLoop; len = strlen(bin);
for(iLoop = len; iLoop > 0; iLoop--) {
bin[iLoop] = bin[iLoop - 1]; } return; }
void fun(int n, char *bin) { int pos;
pos = strlen(bin); if(n == 0) { return; }
if(n == 1) {
movebin(bin); bin[0] = '1'; return; }
movebin(bin); bin[0] = (n%2) + '0'; n /= 2; fun(n, bin); return; }
int main() { int a = 4;
char bin[50] = {\"\
fun(a, bin); printf(\"%s\\n\
return 0; } 11.13
#include
long fun(int n) {
if(n == 1) { return n; } else {
return fun(n-1) + n; } }
int main() { int num; int sum;
printf(\"请输入一个自然数:\"); scanf(\"%d\ sum = fun(num);
printf(\"结果是:%d\\n\
return 0; } 11.14 #include
int fun(int n) {
if(n == 0 || n == 1) { return 1; } else {
return fun(n-1) + fun(n-2); } }
int main() {
int num; int result;
printf(\"请输入一个自然数:\"); scanf(\"%d\
result = fun(num);
printf(\"斐波拉契级数为:%d\\n\
return 0; }
第十二章 一. 选择题
12.1 B 12.2 B 12.3 A 12.4 C 12.5 D 12.6 B 12.7 A 12.8 A
二. 填空题 12.9 2,5,1,2,3,-2 12.10 2468
第十三章 一. 选择题
13.1 A 13.2 C 13.3 B 13.4 C 13.5 D 13.6 D 13.7 D
二. 填空题
13.8 ar=9 ar=9 ar=11 13.9 int* s *b
三. 编程题 13.10
#define MYALPHA(C) ((C>='A' && C<='Z') || (C>='a' && C<='z')) ? 1 : 0 13.11
#define SWAP(t,x,y) {t tmp; tmp=x; x=y; y=tmp;} 13.12 #include #include
int main() { int *p; int tmp; int iLoop; int iLoop2;
p = (int *)malloc(sizeof(int)*3);
scanf(\"%d%d%d\ for(iLoop = 0; iLoop < 2; iLoop++) {
for(iLoop2 = 0; iLoop2 < 2 - iLoop; iLoop2++) {
if(*(p + iLoop2) > *(p + iLoop2 + 1)) {
tmp = *(p + iLoop2);
*(p + iLoop2) = *(p + iLoop2 + 1); *(p + iLoop2 + 1) = tmp; } } }
printf(\"%d %d %d\\n\ free(p); p = NULL; return 0; }
第十四章 一. 选择题
14.1 D 14.2 D 14.3 D 14.4 A 14.5 C 14.6 C 14.7 C 14.8 B
二. 填空题
14.9 struct link *next 14.10 p->next m>p->data
14.11 (struct list*) struct list struct list* struct list return h
三. 编程题 14.12 #include #define N 3
struct stud {
char num[5], name[10]; int s[4]; double ave; };
void readrec(struct stud array[], int size)
{ int iLoop;
for(iLoop=0; iLoop {
scanf(\"%s%s%d%d%d%d\ &array[iLoop].s[0], &array[iLoop].s[1], &array[iLoop].s[2], &array[iLoop].s[3]);
array[iLoop].ave = (array[iLoop].s[0] + array[iLoop].s[1] + array[iLoop].s[2] + array[iLoop].s[3])/4.0; } return; }
void writerec(struct stud array[], int size) { int iLoop;
for(iLoop=0; iLoop{
printf(\"%s\%s\%d\%d\%d\%d\%f\\n\
array[iLoop].num,array[iLoop].name,array[iLoop].s[0], array[iLoop].s[1],array[iLoop].s[2],array[iLoop].s[3], array[iLoop].ave); } return; }
int main() {
struct stud stu[N]; readrec(stu, N); writerec(stu, N);
return 0; } 14.13 #include #include
#define N 100
struct node { int data;
struct node* next;
};
int seekMaxValue(struct node *pNode) { int max;
struct node* pMove;
pMove = pNode; max = pMove->data; pMove = pMove->next; while(pMove) {
if(max < pMove->data) {
max = pMove->data; }
pMove = pMove->next; }
return max; }
struct node* seekMaxValueAddress(struct node *pNode) { int max;
struct node* maxAddress; struct node* pMove;
pMove = pNode; max = pMove->data; maxAddress = pMove; pMove = pMove->next; while(pMove) {
if(max < pMove->data) {
max = pMove->data; maxAddress = pMove; }
pMove = pMove->next; }
return maxAddress; }
int main()
{
struct node* head; struct node* pNode; int iLoop;
head = (struct node*)malloc(sizeof(struct node)); pNode = head; pNode->next = NULL; for(iLoop=0; iLoop {
pNode->next = (struct node*)malloc(sizeof(struct node)); pNode = pNode->next; pNode->next = NULL; pNode->data = iLoop; }
printf(\"%d\\n\ printf(\"%d\\n\
return 0; }
第十五章 一. 选择题
15.1 D 15.2 A 15.3 B 15.4 A
二. 填空题 15.5 15.6 a^a 15.7 a|0xffff 15.8 x|0xff00 15.9 a=(>>2) 15.10 ch|0x20
第十六章 一. 选择题 16.1 B 16.2 C
二. 填空题
16.3 3 !feof(f1) f2 fclose(f1) fclose(f2) 16.4 fopen(fname,\"w\") ch 16.5 \"r\" !feof(fp) fgetc(fp) 16.6 CCCCBBBBAAAA
三. 编程题 16.7 #include #define N 10 #define LEN 81
int main() {
char *str[N] = {\"AAAAAAAAA\ \"BBBBBBBBB\ \"CCCCCCCCC\ \"DDDDDDDDD\ \"EEEEEEEEE\ \"FFFFFFFFF\ \"GGGGGGGGG\ \"HHHHHHHHH\ \"IIIIIIIII\ \"JJJJJJJJJ\ char str2[N][LEN]; FILE *fp; int iLoop;
fp = fopen(\"str.txt\ if(fp == NULL) {
printf(\"创建文件失败!\\n\"); return 1; } else {
for(iLoop = 0; iLoop < N; iLoop++) {
fputs(str[iLoop], fp); fputs(\"\\n\ } }
fclose(fp);
fp = fopen(\"str.txt\ if(fp == NULL) {
printf(\"打开文件失败!\\n\"); return 1; }
else {
for(iLoop = 0; iLoop < N; iLoop++) {
fgets(str2[iLoop], LEN - 1, fp); } }
fclose(fp);
for(iLoop = 0; iLoop < N; iLoop++) {
printf(\"%s\ } return 0; } 16.8 #include #define N 10
int main() {
float num; int iLoop; FILE *fp;
fp = fopen(\"num.bin\ if(fp == NULL) {
printf(\"创建文件失败!\\n\"); return 1; }
/* 从键盘读入10个数并写文件 */ printf(\"请输入%d个数:\ for(iLoop = 0; iLoop < N; iLoop++) {
scanf(\"%f\
fwrite(&num, sizeof(num), 1, fp); }
/* 文件指针回到开始处 */ rewind(fp);
/* 从文件读出10个数并显示 */ for(iLoop = 0; iLoop < N; iLoop++) {
fread(&num, sizeof(num), 1, fp); printf(\"%f\\n\ }
/* 移文件指针到第四个数开始处 */ fseek(fp, 3L*sizeof(num), SEEK_SET); /* 读入一个新数据 */ printf(\"请输入一个新数据:\"); scanf(\"%f\
fwrite(&num, sizeof(num), 1, fp); /* 文件指针回到开始处 */ rewind(fp);
/* 从文件读出10个数并显示 */ for(iLoop = 0; iLoop < N; iLoop++) {
fread(&num, sizeof(num), 1, fp); printf(\"%f\\n\ }
/* 关闭文件 */ fclose(fp); return 0; }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务