c语言实验五数组程序设计解答.doc
实验五数组应用(二)一、实验目的1(掌握二维数组的定义和初始化。2(掌握二维数组元素的引用及其应用。3(掌握字符数组的定义和初始化。4(掌握字符数组元素的引用及其应用。二、实验内容1.[目的]掌握二维数组的输出方法。[题目内容]已知有二维数组a的定义:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};编程序,以三行四列的形式输出a数组。[输入]无[输出]123456789101112[提示]利用二重for循环结构与printf()。#includevoidmain(){inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};inti,j;printf(“二维数组:\n“);for(i=0;ivoidmain(){inta[3][2];inti,j;printf(“请输入3行2列二维数组:\n“);for(i=0;ivoidmain(){inta[5][5];inti,j;for(i=0;ivoidmain(){inta[3][2],b[2][3];inti,j;printf(“请输入a数组:\n“);for(i=0;ivoidmain(){inta[3][2],b[2][3],c[3][3]={0};inti,j,k;printf(“请输入a数组:\n“);for(i=0;ivoidmain(){inta[5][5];inti,j,flag=0;printf(“请输入5*5数组:\n“);for(i=0;ivoidmain(){inta[3][5];inti,j,k,m,max,flag;printf(“请输入3*5数组:\n“);for(i=0;imax){max=a[i][j];k=j;}for(m=0;mvoidmain(){inta[5][4];inti,j;printf(“请输入4*3数组:\n“);for(i=0;ivoidmain(){inta[20][4];inti,j;printf(“请输入20*3数组:\n“);for(i=0;ivoidmain(){inta[10][10]={{1},{1,1}};inti,j;for(i=2;ivoidmain(){inta[5][5];inti,j;for(i=0;ivoidmain(){charch[15]={ H , a , p , p , y , , N , e , w , , y , e , a , r , ! };inti;for(i=0;ivoidmain(){charch[15]={ H , a , p , p , y , , N , e , w , , y , e , a , r , ! };inti;for(i=0;i= a printf(“%c“,ch[i]);}printf(“\n“);}13.[目的]掌握字符数组的定义、字符串的输入与输出。[题目内容]编写程序,定义一个字符数组,从键盘输入你姓名的全拼音字符串,存储到已经定义好的字符数组中,最后输出你姓名的全拼音字符串。[输入]你姓名的全拼音字符串[输出]你姓名的全拼音字符串[提示]使用标准库函数gets()、puts()。#includevoidmain(){charname[11];printf(“请输入你的姓名:“);gets(name);printf(“你输入的姓名是:“);puts(name);}14.[目的]掌握字符串的处理、输出。[题目内容]编写程序,定义两个字符串变量,使用输入函数为其赋值,将两个字符串连接起来并输出(不用strcat函数)。[输入]两个字符串[输出]连接后的字符串[提示]逐个字符进行处理,使用while循环结构以及字符串的结束标志’\0’。#includevoidmain(){chara[50],b[20];inti,j;printf(“输入第一个字符串:\n“);gets(a);printf(“输入第二个字符串:\n“);gets(b);i=0;while(a[i]!= \0 ){i++;}j=0;while(b[j]!= \0 ){a[i]=b[j];i++;j++;}a[i]= \0 ;printf(“所求:\n“);i=0;while(a[i]!= \0 ){printf(“%c“,a[i]);i++;}printf(“\n“);}15.[目的]掌握字符串的处理、输出。[题目内容]编写程序,输入一个字符串和一个单个字符,在输入的字符串中删除所有的单个字符。例如:从字符串nedtworkdtou中删除d的情况。删除前nedtworkdtou\0删除后networktou\0[输入]一个字符串和一个单个字符[输出]删除后的字符串[提示]逐个字符进行处理#includevoidmain(){chara[50],b;inti,j;printf(“输入一个字符串:\n“);gets(a);printf(“输入一个待删除的字符:\n“);scanf(“%c“,i=0;while(a[i]!= \0 ){printf(“%c%c\n“,a[i],b);if(a[i]==b){j=i;while(a[j]!= \0 ){a[j]=a[j+1];j++;}}i++;}a[i]= \0 ;printf(“所求:\n“);i=0;while(a[i]!= \0 ){printf(“%c“,a[i]);i++;}printf(“\n“);}16.[目的]掌握字符串的处理、输出。[题目内容]编写程序,从键盘输入5个学生的姓名,输出最长的学生姓名。[输入]5个学生的姓名[输出]最长的学生姓名[提示]定义charnames[5][30],max[30];利用求最大值算法,使用strlen(),strcpy()函数。#include#includevoidmain(){charnames[5][30],max[30];inti,length,length1,m;for(i=0;ilength){strcpy(max,names[i]);length=strlen(max);m=i;}}printf(“所求:\n“);puts(max);printf(“\n“);}17.[目的]掌握字符串的定义、输入、处理、输出。[题目内容]编写程序,输入一个字符串,对该字符串中的字符从小到大排序并输出。[输入]一个字符串[输出]排序后的字符串[提示]逐个字符进行处理#includevoidmain(){charstr[80],temp,mins;inti,j;printf(“输入字符串:\n“);gets(str);printf(“输入的字符串是:\n“);puts(str);for(i=0;str[i]!= \0 ;i++){mins=i;for(j=i+1;str[j]!= \0 ;j++)if(str[j]#includevoidmain(){charnames[5][30],search[30];inti,flag=0;for(i=0;i#includevoidmain(){charch[15];inti;pr