实验5分析和总结.docxVIP

  • 1
  • 0
  • 约3.93千字
  • 约 6页
  • 2022-06-30 发布于上海
  • 举报
- PAGE - PAGE 1 - C 语言程序设计实验报告 实验五 使用数组的程序设计 班级 vvvvvvvvv 学号 姓名一、实验目的 (1)掌握一维数组和二维数组的定义、赋值和输入输出方法。(2)掌握字符数组的使用。 (3)掌握与数组有关的算法。 二、实验内容及步骤 1、验证性实验 输入五个国家的名称按字典顺序排列输出。实验步骤: 建立新的项目文件。 在项目中建立新的 C 源程序文件。 在空白的源程序文件中输入程序代码。程序代码如下所示: void main() {char st[20],cs[5][20]; int i,j,p; printf(input countrys name:\n); for(i=0;i5;i++) gets(cs[i]); printf(\n); for(i=0;i5;i++) { p=i;strcpy(st,cs[i]); for(j=i+1;j5;j++) if(strcmp(cs[j],st)0) {p=j;strcpy(st,cs[j]);} if(p!=i) {strcpy(st,cs[i]); strcpy(cs[i],cs[p]); strcpy(cs[p],st); }puts(cs[i]);}printf(\n); }} 源程序编译连接,若有语法错误,则根据提示对程序相应代码进行修改,然后再一次编译连接,重复此过程直到程序无语法错误。 运行程序,如发现错误进行修改,直到运行出正确结果。 #include stdio.h #include string.h void main() { char st[20],cs[5][20]; int i,j,p; printf(input countrys name:\n); for(i=0;i5;i++) gets(cs[i]); printf(\n); for(i=0;i5;i++) { p=i;strcpy(st,cs[i]); for(j=i+1;j5;j++) if(strcmp(cs[j],st)0) {p=j;strcpy(st,cs[j]);} if(p!=i) { strcpy(st,cs[i]); strcpy(cs[i],cs[p]); strcpy(cs[p],st); }puts(cs[i]);}printf(\n);} 输出结果: (2)编写一个程序,利用字符数组实现两个字符串的比较。(注意不能使用字符串比较函数 strcmp()) 程 序 代 码 : #include stdio.h #include string.h #define arr 80 int strcmp1(char str1[],char str2[]); main() {char str1[arr],str2[arr]; printf(please input the first str: ); gets(str1); printf(please input the second str: ); gets(str2); strcmp1(str1,str2); if(strcmp10) {printf(小大顺序为:\n );puts(str2);puts(str1);} if(strcmp10) {printf(小大顺序为:\n );puts(str1);puts(str2);} if(strcmp1==0) {printf(大小相等!\n );} }/*定义 strmp1 函数实现字符串的比较*/ int strcmp1(char str1[],char str2[]) { int k; for(k=0;str1[k]==str2[k];k++) { if(str1[k]==str2[k]) return 0; } return(str1[k]-str2[k]); } (3)从键盘输入一个班(全班最多不超过 30 人)学生某门课的成绩,当输入成绩为负值 时,输入结束,分别统计下列内容: a)统计不及格人数并打印不及格学生名单; b)统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单; c)统计各分数段的学生人数及所占的百分比 程 序 代 码 : #include stdio.h #define ARR_SIZE 30 int lowaverage(int n,long num[],float score[]); /*a*/ int percent(int n,long num[],float score[]); /*C*/ void upverage(int n,long num[],float score[]); /*B

文档评论(0)

1亿VIP精品文档

相关文档