出自:华北水利水电大学C 语言程序设计

编程:输出100以内的全部素数,每个素数占3列。部分程序如下: #include #include int IsPrime (int m); int main() { int m; for(m = 2; m <= 100; m++) { if ( ) printf("%3d", m ); } printf ("\n"); return 0; } int IsPrime (int m) { int i, k; if ( m == 1 ) return 0; k = (int)sqrt (m); for( i = 2; i <= k; i++) { if (m % i == 0) return 0; } return 1; }
编程:验证哥德巴赫猜想,任意输入一个不小于6的偶数,将其表示成两个素数的和,如:6=3+3;8=3+5;18=7+13。部分程序如下: #include #include int IsPrime (int m); int main() { int n, i; scanf("%d", &n); for(i = 3;i <= n/2;i = i+2) { if( ) printf("%d %d\n", i, n-i); } return 0; } int IsPrime (int m) { int i, k; if ( m == 1 ) return 0; k = (int)sqrt (m); for( i = 2; i <= k; i++) { if (m % i == 0) return 0; } return 1; }
编程:求组合数。组合数的公式如图所示: 部分程序如下: #include int fact( int n) { int i; int result = 1; for(i = 2; i <= n; i++) ( ) return result; } int main(void) { int m, n, p; scanf("%d%d", &m, &n); ( ) printf("p=%d\n", p); return 0; }
编程:使用比较交换法进行排序。部分程序如下: #include void Sort(int a[], int n); int main() { int i; int a[5]={ 8,3,9,2,1 }; Sort(a,5); for(i = 0; i <5; i++) printf("%d ", a[i]); printf("\n"); return 0; } void Sort(int a[], int n) { int i, j, t; for(i = 0; i < n-1; i++) { for(j = i+1; j < n; j++) if(a[i] > a[j]) {( ) ( ) ( ) } } }
编程:输入n(n ≤10)和n个整数,逆序输出这n个整数。部分程序如下: #include int main() { int a[100]; int n, i; scanf("%d", &n); for(i = 0; i < n; i++) scanf("%d", &a[i]); for( ) printf("%d ", a[i]); printf("\n"); return 0; }
共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。() A.正确 B.错误
文件指针和位置指针都是随着文件的读写操作在不断改变。() A.正确 B.错误
结构体变量可以作数组元素。() A.正确 B.错误
随机操作只适用于文本文件。() A.正确 B.错误
文件指针用于指向文件,文件只有被打开后才有对应的文件指针。() A.正确 B.错误
指向结构体变量的指针可以作函数参数,实现传址调用。() A.正确 B.错误
结构体成员的类型必须是基本数据类型。() A.正确 B.错误
随机操作只适用于二进制文件。() A.正确 B.错误
以“r”方式打开一个文件时,文件指针指向文件首。() A.正确 B.错误
C语言程序只能有一个文件。() A.正确 B.错误
编程:输入一个正整数n (1 #define N 50 int main() { int n, i, a[N] = {1, 1}; scanf("%d", &n); for(i = 2; i < n; i++) ( ) for(i = 0; i < n; i++) printf("%d ", a[i]); printf("\n"); return 0; }
编程:输出杨辉三角的前10行。每个元素占6列。杨辉三角形是形如 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行相邻两个数之和。部分程序如下: #include #define N 10 int main() { int i; int j; int a[N][N]; for(i=0;i
编程:输入一个int范围内的十进制整数,输出其对应的二进制数。部分程序如下: #include #include #define N 40 void DToB(int n, char str[]); int main(void) { char str[N]; int n; scanf("%d", &n); DToB(n, str); puts(str); return 0; } void DToB(int n, char str[]) { int len = 0; while( n>0) { ( ) len++; n /= 2; } str[len] = .\0.; strrev(str); }
编程:输入正整数n(0 < n <= 10),然后输入n个字符串,输出字典序最大的字符串。部分程序如下: #include #include #define N 40 int main(void) { int i,n; char max[N] = ""; char str[N]; scanf("%d", &n); getchar(); for(i = 1; i <= n; i++) { gets(str); if( strcmp(str, max) > 0 ) ( ) } puts(max); return 0; }
编程:输入n和n 个字符串,按升序排序输出所有字符串(按ASCII码)要求使用比较交换方法进行排序。部分程序如下: #include #include #define N 100 #define LEN 81 void Sort(char str[] [LEN],int n); int main(void) { int i,n; char str[N] [LEN]; scanf("%d",&n); getchar(); for(i=0;i0) { () () () } } }
编程:编写程序,建立同学通讯录。通讯录中包括同学的姓名和电话号码。部分程序如下: #include #define NUM 3 struct mem { char name[20]; char phone[11]; }; void main() { struct men man[NUM]; int i; for(i=0;i
编写程序,计算学生的平均成绩并统计不及格的人数。部分程序如下: #include struct stu { int num; char*name; char sex; float score; }student[5]={ {101,"Li ping",.M.,45}, {102,"Zhang ping",.M.,62.5}, {103,"He fang",.F.,92.5}, {104,"Cheng ling",.F.,87}, {105,"Wang ming",.M.,58}, }; void main() { int i,c=0; float ave,s=0; for(i=0;i<5;i++) { s+= ( ) ; if( ) c++; } ( ) printf("%.2f %d",ave,c); return 0; }
编程:要求在程序执行前创建文件D:\file.txt,文档的内容为“I am a student.”,在屏幕中显示该文件的内容。部分程序如下: #include void main() { FILE *fp; char ch; fp=fopen("d:\\file.txt","r"); ch=fgetc(fp); while(ch!=EOF) { putchar(ch); ( ) } fclose(fp); }
编程:对D:\file1.txt文件追加一个字符串。部分程序如下: #include main() { FILE *fp; char ch,st[20]; if((fp=fopen("D:\\file1.txt","a"))==NULL) { printf("不能打开文件"); getch(); exit(1); } printf("输入字符串:\n"); scanf("%s",st); ( ) fclose(fp); }
编程:将数字66以字符的形式写到磁盘文件中。部分程序如下: #include void main() { FILE *fp; int i=66; if((fp=fopen("d:\\C\\file2.txt","w"))==NULL) { printf("不能打开文件"); getch(); exit(1); } ( ) fclose(fp); }
文件是指()。
根据数据的组织形式,C语言将文件分为()和()。
现要求以读写方式打开一个文本文件stu,写出语句()。
现要求将上题中打开的文件关闭掉,写出语句()。
若执行fopen()函数时发生错误,则函数的返回值是()。
读下列程序,写出程序的运行结果。 #include int main() { int n=10; while (n>7) { n--; printf("%d\n",n); } return 0; } 输出:
读下列程序,写出程序的运行结果。 #include int main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } printf("%d\n",a); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include void Func(void); int main() { int i; for (i=0; i<5; i++) { Func(); } } void Func(void) { static int a = 1; int b = 2, c; c = a + b; a++; b++; printf("%d\n", c); } 输出:
读下列程序,写出程序的运行结果。 #include int main() { int n=0,fact=1,sum=0; do { n++; fact=fact*n; sum+=fact; } while (n<4); printf("%d\n",sum); return 0; } 输出:
读下列程序,写出程序的运行结果。 # include int main () { int a[5]={3, 2, 5, 4, 8}; int *p, *q; p = &a[0]; q = &a[4]; for( ; q >= p; q--) printf ("%d ", *q); printf ("\n"); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include int main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++) putchar(. .); for(j=1;j<=2*i-1;j++) printf("%c",.A.+j-1); putchar(.\n.); } return 0; } 输出:
读下列程序,写出程序的运行结果。 #include int main() { int x[3][3]={0,1,2, 0,1,2, 0,1,2}; int i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) printf("%d\n",t=t+x[i][x[j][j]]); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include #include int main() { char s1[101],s2[51]; int len1,len2,i; printf("请输入字符串1:"); gets(s1); printf("请输入字符串2:"); gets(s2); len1=strlen(s1); len2=strlen(s2); for(i=0;i
读下列程序,写出程序的运行结果。 #include int main() { int x, y, z; x = y = z = -1; ++x && ++y || ++z; printf ("x=%d y=%d z=%d\n", x, y, z); x = y = z = -1; ++x || y++ && z; printf ("x=%d y=%d z=%d\n", x, y, z); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include int main(void) { char ch; ch = getchar( ); if(ch >= .a. && ch <= .z. || ch >= .A. && ch <= .Z.) printf("字母\n"); else if (ch >= .0. && ch <= .9.) printf("数字\n"); else if(ch == . . || ch == .\n.) printf("分隔符\n"); else printf("其他\n"); return 0; } 输入: A 输出:
读下列程序,写出程序的运行结果。 #include void fun(int x, int y); int a=5, b=8; int main( ) { int a=15; fun(a, b); printf("a=%d, b=%d\n", a, b); } void fun(int x, int y) { int temp; if(a>b) { temp=a; x=y; y=temp; } } 输出:
读下列程序,写出程序的运行结果。 #include int main() { int a=2,b=3,c; c=a; if(a>b) c=1; else if(a==b) c=0; else c=-1; printf("%d\n",c); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include int main() { int i; int a[10],*p=a; for(i=0;i<10;i++) *p++=2*i; for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include void swap( int *pa, int *pb) { int t; t = *pa; *pa = *pb; *pb=t; } int main() { int a = 3, b = 5; swap( &a, &b ); printf("%d %d\n",a,b); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include int main() { char str[1000]; int i, count; count = 0; gets(str); for(i = 0; str[i] != .\0.; i++) { if(str[i] == . . && str[i+1] != . .) count++; } if(str[0] != ‘ ’) count++; printf("%d\n",count); } 输入: I love Zhengzhou Normal University! 输出:
读下列程序,写出程序的运行结果。 #include int main() { int x=2, y=3, m, n; m = x++*5; n = ++y*5; printf ("%d,%d,%d,%d\n", x, y, m, n); return 0; } 输出:
读下列程序,写出程序的运行结果。 #include void PrintStar (int m); int main (void) { int i, n; scanf("%d", &n); for(i = 1; i <= n; i++) PrintStar(i); return 0; } void PrintStar (int m) { int i; for (i = 1; i <= m; i++) putchar(.*.); putchar (.\n.); } 输出:
读下列程序,写出程序的运行结果。 #include double fact(int n); int main() { int n; scanf ("%d", &n); printf ("%.0f\n", fact (n) ); return 0; } double fact(int n) { double result; if (n==1 || n == 0) result = 1; else result = n * fact(n-1); return result; } 输入: 5 输出:
读下列程序,写出程序的运行结果。 #include int main() { int j , k , p, s; s=0; for (j=1; j<=3; j++) { p=1; for(k=1; k<=j; k++) p=p*k; s=s+p; } printf("s=%d\n",s); return 0; } 输出: