1、d;若执行:printf(%s ,ch);结果为(B)。 A. abc B. abc C. abcd D. abc0d char c=对数组进行初始化char carr=stuen,barr=student;则正确的是(D)。 A. carr与barr长度相同 B. carr比barr C. carr与barr相同 D. carr比barr短 char carr=2阅读下列程序,写出运行结果。 int i,j,d44=1,2,3,4,5,6,7,8,4,3,2,1,1,2,3,4;4; for(j=0;jdji) dji=dij; n if(j=i) printf(%6d,dij);/显示主对
2、角线以上的元素 else%6c putchar(n运行结果:1 5 4 4 6 7 8 2 3 4若输入十进制数3291时,下列程序输出为:6333 int i,d,m,n; char s8; scanf(%d,&n); i=0; /存储字符数组下标 do m=n/8; d=n%8; si=0+d;/余数转换为数字字符 i+; n=m; /商作为下一轮行循环操作的被除数 while(n!=0); /商不为0,继续循环 for(i-;i=0;i-) putchar(si);3程序填空。从键盘输入 一个数,将其插入到一个升序数组中,保持数组仍然按升序排列。 int data,temp,k; sta
3、tic int a9=-10,2,4,8,10,15,25,50;nEnter adata:data); a8=data; for(k=8;kk-) if(akak-1) temp=ak; ak=ak-1; ak-1=data; else break; for(k=0;kak-1|k=0) ak=data; 运行该程序:Enter adata:9 -10 2 4 8 9 10 15 25 50从键盘输入一串英文字符(不含空格与其他字符),统计每个字符的个数,并输出字母及相应的个数。 int i=0,c52=0,m=0; char str80;Input a string:%s,str); wh
4、ile(stri) if(stri= & stritime.h int a10,i,sum=0; double average; srand(unsigned)time(NULL);10; ai=rand()%100; sum+=ai; average=sum/10;average=%lfn,average);运行:95 26 88 83 57 31 33 55 82 30average=58.0000005编写程序,输入一组整数,将它们排序后由小到大输出。起泡法思路:两个数比较,小者前移,大者后移。int main() int a10,i,j,t; srand(unsigned)time(
5、NULL);/初始化rand()函数 /用随机数为数组元素赋值Before sorted: for(j=0;9; for(i=0;10-j; if(aiai+1) t=ai;ai=ai+1;ai+1=t; After sorted: return 0;程序运行后输出:21 14 78 57 3 61 82 8 52 453 8 14 21 45 52 57 61 78 82选择法用一个变量k保存当前最小元素的下标,不进行交换,直到完成一次内循环的比较后,把a(k)交换到希望的位置a(i):令k=0,a(k)与a(1)比较,若a(k)a(1),令k=1,小者的下标存放在k中; a(k)又与a(2
6、),a(3),直到a(10),重复的工作,结束后,实现10个数中的最小者存放在a(k)中。a(1)与a(k)交换,把最小者存放在a(1)中。分别令k=1,2,3,.,9重复的操作。 int a10,i,j,t,k; k=i; for(j=i+1; if(akaj)k=j; t=ai;ai=ak;ak=t; 6从键盘输入一个44整数矩阵,以主对角线为对称轴,将左下角元素中较大元素代替右上角对应元素,并将右上角元素(含对角线元素)输出。本题与2题的操作相同。 int d44,i,j; dij=rand()%100; putchar(7通过键盘给34的二维数组输入数据,然后分别按行和列输出数组元素。
7、 int d34,i,j;3; 8编写程序,将两个字符串连接起来,不要用strcat函数。 char a80,b40; int i,j;,a);,b); while(ai)i+; /搜索串尾元素下标bj;j+,i+) ai=bj; ai= puts(a);9输入一行字符串,统计该字符串中字符对ab的个数。 char a80; int i,n=0;ai; if(ai= ai+1= n+;ab_number=%dn,n);10从键盘输入10个字符串,找出一最长的字符串。 char a580; int i,j,n,max=0; scanf( for(i=0,j=0;i+,j=0) while(aij
8、)j+; if(jmax) max=j; n=i;Max_string:%sn,an);11已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。void risesort(int a,int n)/升序排序 int i,j,k,t;n;void dropsort(int a,int n)/降序排序 if(akbj & i!=-1 & j!=10) ck+=ai-; else if(ai=bi) ck+=bj+; else if(j! else if(i!=-1) disp(c,20);实验七 数组2填空以下程序分别在a数组和b数组中放
9、入an+1和bn+1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并在c数组中。 int a10=1,2,5,8,9,10,an=5; int b10=1,3,4,8,12,18,bn=5; int i,j,k,c20,max=9999; aan+1=bbn+1=max; i=j=k=0; while(ai!=max) | (bj!=max) if(aibj) ck=ai;k+;i+; else ck=bj;j+;k;i+)printf(%4d以下程序以每行输出8个数据的形式输出a数组。 int a50,i; /for(i=0;50;i+)scanf(ai);i+)ai=rand()%100; if(i%8=0)printf(%3d以下程序将数组中的数据按逆序存放。#define SIZE 12 int aSIZE,i,j,t;SIZE;i+)ai=rand()%100;j=SIZE-1; while(i0) if(ai=ai-1) /删除相同元素 for(j=i;=n;j+)aj-1=aj; n-; /总元素个数减1 i-; if(i%5=0)printf(3. 编程题。用筛法求2-100以内的素数。 int i,j,k=0; int a
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1