注意:此页面搜索的是所有试题
中北大学-C语言程序设计
有定义:int a[][2]={1,2,3,4},*pa;若要使*pa的值为a[0][0],则令pa=a即可。( )
如:char a[]=”\t\r\\\0will\n”;则sizeof(a)的结果为10。 ( )
{ int a,b,c; a=2;b=7;c=5; switch(a>0) { case 1: switch(b<10) { case 1:printf("^");break; case 0:printf("!");break; } case 0: switch(c= =5) { case 0: printf("*");break; case 1: printf("#");break; default:printf("%%");break; } default: printf("&"); } printf("\n"); }
main() { int m=37,n=13; while(m!=n) { while(m>n) m=m-n; while(n>m) n-=m; } printf("m=%d\n",m); }
main() { int a[]={1,2,3,4,5}; int x,y,*p; p=&a[0]; x=*(p+2);y=*(p+4); printf("*p=%d,x=%d,y=%d",*p,x,y); }
main( ) { int s[6][6],j,k; for(j=0;j<6;j++) for(k=0;k<6;k++) *(*(s+j)+k)=j-k; for(j=0;j<6;j++) { for(k=0;k<6;k++) printf(“%4d”,*(*(s+j)+k)); printf(“\n”); } }
int a; main() { int i; i=a=1; sub(); printf("a=%d i=%d\n",a,i); } sub() { int i; i=a=2; }
在数组a中查找用户输入的某个数x。 #define N 10 main() { int a[N] = {23,56,11,87,91,35,41,44,60,6}; int p,x; printf ( "\nPlease Enter find number:" ); ; p = 0; while ( ) p ++ ; /* 不断查找的过程 */ if ( ) printf ( "%d Position is %d\n", x, p ); else printf ( "%d could not be found\n", x ); }
判断m是不是素数。算法:如m能被2~m-1中的任何一个数整除,则不是素数。 main( ) { int m,i; scanf("%d",&m); if(m<=2) {printf(“\n%d是素数!”,m);return;} for (i=2;i < m;i + +) if (m % i = = 0) ; if ( ) printf ("%d是素数\n",m,i); else printf ("%d不是素数,能被 %d 整除\n",m,i); }
下列程序将两个升序数组a、b合并到数组c中后,c仍为升序数组。 main() { int a[10]={1,2,5,8,9,10}, int b[10]={1,3,4,8,12,18}; int j,k,l,c[20],max=9999; a[6]=b[6]=max; j=k=l=0; while(a[j]!=max||b[k]!=max) if(a[j]<b[k]) { c[l]= ; l++; ; } else { c[l]= ; l++; ; } for(j=0;j<l;j++) printf("%4d",c[j]); }
下列程序用来创建一个学生数据的单向链表。创建中如输入的学号为零,则创建结束。#define LEN sizeof (struct student) struct student { long num; float score; struct student *next; }; int n; struct student *creat( ) /*此creat函数带回一个链表起始地址 */ { struct student *head, *p1, *p2; int n=0; p1 = p2 = (struct student *)malloc(LEN); / *开辟一个新单元*/ scanf ("%ld, %f", &p1->num, &p1->score); head = NULL; while(p1->num! = 0) { n++; if(n = = 1) ; else ; p2 = p1; p1 = ; scanf ("%ld,%f", &p1->num, &p1->score); } p2->next = ; return (head); }
1.用递归方法将一个整数N转换成字符串。例如,输入483,应输出字符串“483”。N的位数不确定,可以是任意位数的整数。
2.用选择法或冒泡法对输入的十个字符(按ASCII码由小到大)进行排序。
3.建立一个链表,每个结点包括:学号、姓名、年龄。数据从键盘上输入, 输入的学号为0时结束输入。链表建立后,将该链表中数据输出到屏幕上并存放到文件student.dat中。
如:char a[]=”\t\r\\\0will\n”;则sizeof(a)的结果为10。 ( )
{ int a,b,c; a=2;b=7;c=5; switch(a>0) { case 1: switch(b<10) { case 1:printf("^");break; case 0:printf("!");break; } case 0: switch(c= =5) { case 0: printf("*");break; case 1: printf("#");break; default:printf("%%");break; } default: printf("&"); } printf("\n"); }
main() { int m=37,n=13; while(m!=n) { while(m>n) m=m-n; while(n>m) n-=m; } printf("m=%d\n",m); }
main() { int a[]={1,2,3,4,5}; int x,y,*p; p=&a[0]; x=*(p+2);y=*(p+4); printf("*p=%d,x=%d,y=%d",*p,x,y); }
main( ) { int s[6][6],j,k; for(j=0;j<6;j++) for(k=0;k<6;k++) *(*(s+j)+k)=j-k; for(j=0;j<6;j++) { for(k=0;k<6;k++) printf(“%4d”,*(*(s+j)+k)); printf(“\n”); } }
int a; main() { int i; i=a=1; sub(); printf("a=%d i=%d\n",a,i); } sub() { int i; i=a=2; }
在数组a中查找用户输入的某个数x。 #define N 10 main() { int a[N] = {23,56,11,87,91,35,41,44,60,6}; int p,x; printf ( "\nPlease Enter find number:" ); ; p = 0; while ( ) p ++ ; /* 不断查找的过程 */ if ( ) printf ( "%d Position is %d\n", x, p ); else printf ( "%d could not be found\n", x ); }
判断m是不是素数。算法:如m能被2~m-1中的任何一个数整除,则不是素数。 main( ) { int m,i; scanf("%d",&m); if(m<=2) {printf(“\n%d是素数!”,m);return;} for (i=2;i < m;i + +) if (m % i = = 0) ; if ( ) printf ("%d是素数\n",m,i); else printf ("%d不是素数,能被 %d 整除\n",m,i); }
下列程序将两个升序数组a、b合并到数组c中后,c仍为升序数组。 main() { int a[10]={1,2,5,8,9,10}, int b[10]={1,3,4,8,12,18}; int j,k,l,c[20],max=9999; a[6]=b[6]=max; j=k=l=0; while(a[j]!=max||b[k]!=max) if(a[j]<b[k]) { c[l]= ; l++; ; } else { c[l]= ; l++; ; } for(j=0;j<l;j++) printf("%4d",c[j]); }
下列程序用来创建一个学生数据的单向链表。创建中如输入的学号为零,则创建结束。#define LEN sizeof (struct student) struct student { long num; float score; struct student *next; }; int n; struct student *creat( ) /*此creat函数带回一个链表起始地址 */ { struct student *head, *p1, *p2; int n=0; p1 = p2 = (struct student *)malloc(LEN); / *开辟一个新单元*/ scanf ("%ld, %f", &p1->num, &p1->score); head = NULL; while(p1->num! = 0) { n++; if(n = = 1) ; else ; p2 = p1; p1 = ; scanf ("%ld,%f", &p1->num, &p1->score); } p2->next = ; return (head); }
1.用递归方法将一个整数N转换成字符串。例如,输入483,应输出字符串“483”。N的位数不确定,可以是任意位数的整数。
2.用选择法或冒泡法对输入的十个字符(按ASCII码由小到大)进行排序。
3.建立一个链表,每个结点包括:学号、姓名、年龄。数据从键盘上输入, 输入的学号为0时结束输入。链表建立后,将该链表中数据输出到屏幕上并存放到文件student.dat中。