解:adepsxy
6.
#include <> void main() {
char h[11]; int d[10];
int i,n=0,x=1;
gets(h); 统计在一个字符串中各元音字母(a、e、i、o、u)出现的次数。
#include <> void main() {
char s[80];
int i, ;
printf(\
gets(s); for(i=0; ;i++) if( )
a[0]++; else if(s[i]=='e'||s[i]=='E')
a[1]++; else if(s[i]=='i'||s[i]=='I')
a[2]++; else if(s[i]=='o'||s[i]=='O')
a[3]++; else if(s[i]=='u'||s[i]=='U')
a[4]++;
printf(\ A E I O U\\n\ for(i=0;i<5;i++)
}
解:① a[5] ②s[i]!= '\\0' ③s[i]== 'a'|| s[i]== 'A' ④ printf(“]”,i)
五、编程题
1.在数组x的10个数中求平均值v,找出与v相差最小的数组元素。 解:#include <>
#include <> void main()
{ double x[10],v,d; int i;
for(i=0,v=0;i<10;i++) { scanf(\ v+=x[i]; }
v=v/10; d=x[0];
for(i=1;i<10;i++)
if(fabs(d-v)>fabs(x[i]-v)) d=x[i];
printf(\平均值:%-8.2f,与平均值最近元素:%-8.2f\\n\ }
2.输入n(n≤20)个数放在一维数组中,找出其中最小的数,将它与数组最前面的元素交换后输出这些数。 解:#include <>
void main()
{ int i,k,temp,n,a[20]; printf(\ scanf(\ for(i=0;i scanf(\ for(k=0,i=1;i temp=a[0];a[0]=a[k];a[k]=temp; for(i=0;i 3.输入一个字符串,统计其中数字字符出现的次数。 解:#include <> void main() { char s[80]; int i,n=0; gets(s); for(i=0;s[i]!='\\0';i++) if(s[i]>='0'&&s[i]<='9') n++; printf(\中包含%d个字符\\n\ } 4.设有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问在第20年时,共有多少头牛分别输出从第1年至第20年每年的母牛数。 解:#include <> #define N 20 void main() { int x[N+1]={1},i; 0’0’0’0’0’0’0’.2f0’0’4.1f12 deldeldel++.2f.2f8.2f-8.2f-8.2f0’0’deldel8.2f.0f,\ \ puts(p[m-1]); } void main() { int no; printf(\请输入月份(1--12)\\n\ scanf(\ if (no>=1&&no<=12) findmonth(no); else printf(\数据输入错误!\\n\ } 15.输入5个字符串,输出其中最长的字符串。 解:#include \ #include \ void main() { char str[5][100],*p[5]; int i,k; ame); B.printf(\,&stu[1].name); C.printf(\,stu[1].name[0]); D.printf(\,&stu[1].name[0]); *5.以下程序的输出结果是( )。 #include <> void main() { int x=1,y=2,z=3; struct aa { int a; int *p; } s[ ]={4,&x,5,&y,6,&z}; struct aa *q=s+1; printf(\–>p)++); } A.1 B.2 C.3 D.4 6.有以下定义语句: struct node { int n; struct node *next; } x,y,*p=&x,*q=&y; 则能将y节点链接到x节点之前的语句是( )。 A.=p B.=q C.=p D.=q *7.以下程序的输出结果为( )。 #include <> void main() { struct node{ int n; struct node *next; }a[4]; int i; for(i=0;i<3;i++){ (a+i)–>n=i+1; (a+i)->next=a+i+1; } (a+i)->next=a; printf(\ } A.1,2 B.2,1 C.1,3 D.3,1 8.已建立一单向链表,指针变量p1指向链表中某一节点,p2指向下一节点,将p2所指节点从链表中删除并释放的语句为( )。 A.p1=p2;free(p2); B.p1–>next=p2–>next;free(p2); C.*=*;free(p2); D.p1=p2–>next;free(p2); 9.已建立一单向链表,指针变量p1指向链表中某一节点,p2指向下一节点;指针变量p指向新申请节点,将p所指节点插入到链表中p1与p2之间的语句为( )。 A.p–>next=p2;p1–>next=p; B.p1–>next=p;p–>next=p2; C.p=p2;p1–>next=p; D.p1=p;p–>next=p2; 10.若要利用下面的程序片段使指针变量p指向一个整型变量的存储单元则括号中需填入的内容是( )。 int *p; p=( )malloc(sizeof(int)); A.int B.*int C.&int D.int * 解:(1)B (2)C (3)A (4)D (5)B (6)C (7)D (8)B (9)A (10)D 二、写出下列程序的输出结果 1. #include <> struct st { int num; char name[10]; int age; }x[3]={{1,\ void main() { printf(\ } 解:wang,19 *2. #include <> #include <> struct s { int a[4]; char *pa[4]; }x,*p=&x; void main() { int i; char y[4][8]={\ for(i=1;i<4;i++) [i]=y[i]; for(i=1;i<4;i++) [i]=strlen[i]); printf(\ } 解:2,4,BC *3. #include <> struct ks {int a;int *b;}s[4],*p;
相关推荐: