您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C程序设计实验报告实验八 函数二
实验八函数(二)一.实验目的1.进一步熟悉怎样利用函数实现指定任务。2.熟悉函数的嵌套运用和递归调用的方法。3.熟悉全局变量和局部变量的概念和用法。二.实验内容1)写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列。1.输入程序,进行编译和运行,分析结果。#includestdio.h#includestring.h#defineN10charstr[N];intmain(){voidsort(char[]);inti,flag;for(flag=1;flag==1;){printf(inputstring:\n);scanf(%s,&str);if(strlen(str)N)printf(stringtoolong,inputagain!\n);elseflag=0;}sort(str);printf(stringsorted:\n);for(i=0;iN;i++)printf(%c,str[i]);printf(\n);return0;}voidsort(charstr[]){inti,j;chart;for(j=1;jN;j++)for(i=0;iN-j&&(str[i]!='\0');i++)if(str[i]str[i+1]){t=str[i];str[i]=str[i+1];str[i+1]=t;}}2.将要排列的字符串改成5个,按由大到小的顺序排列。2)用递归法将一个整数n转换成任意字符串,如,输入483,应输出字符串“483”。n的位数不确定,可以是任意的整数。1.输入程序,进行编译和运行,分析结果。#includestdio.hintmain(){voidconvert(intn);intnum;print(pleaseinputaninteger);scanf(%d,&num);print(output);if(num0){putchar('-');putchar('');num=-num;}convert(num);print(\n);return0;}voidconvert(intn){inti;if((i=n/10)!=0)convert(i);putchar(n%10+'0');putchar(32);}3)编写一个程序,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及上述的结果。#includestdio.hintmain(){chara[100];voidfun_char(chara[]);printf(请输入字符串:);gets(a);fun_char(a);}voidfun_char(chara[]){inti,letter=0,digit=0,space=0,other=0;for(i=0;a[i]!='\0';i++){if((a[i]='z'&&a[i]='a')||(a[i]='Z'&&a[i]='A'))letter++;elseif(a[i]='9'&&a[i]='0')digit++;elseif(a[i]=='')space++;elseother++;}printf(letter=%d;\tdigit=%d;\tspace=%d;\tother=%d\n,letter,digit,space,other);}4)求两个整数的最大公约数和最小公倍数,用一个函数求最小公约数,用另一个函数根据求出的最大公约数求最小公倍数。#includestdio.hintmain(){intm,n;intm_cup,n_cup,res;printf(请输入两个数:\n);scanf(%d%d,&m,&n);if(m0&&n0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf(最大公约数:%d\n,n_cup);printf(最小公倍数:%d\n,m*n/n_cup);}elseprintf(Error!\n);return0;}
本文标题:C程序设计实验报告实验八 函数二
链接地址:https://www.777doc.com/doc-4612965 .html