首页 安徽大学C语言实验平台作业答案汇总精选文档

安徽大学C语言实验平台作业答案汇总精选文档

举报
开通vip

安徽大学C语言实验平台作业答案汇总精选文档TTMSsystemofficeroom【TTMS16H-TTMS2A-TTMS8Q8-TTMSHHJ8】安徽大学C语言实验平台作业答案汇总精选文档实验三C基本数据类型及运算1.编程:根据需要定义相关变量,键盘输入10.0、20.6、5.0三个实数分别赋给相关三个变量,输出该3个变量的和s、乘积p和平均值a。2.编程:输入球的半径,计算球体表面积和球体积。3.编程:定义6个变量,通过键盘将“10,-10,40000,a,3.14,hello”这六个值分别赋给相应变量,然后在屏幕上输出变量的值(每行输出一个变量)。4...

安徽大学C语言实验平台作业答案汇总精选文档
TTMSsystemofficeroom【TTMS16H-TTMS2A-TTMS8Q8-TTMSHHJ8】安徽大学C语言实验平台作业答案汇总精选文档实验三C基本数据类型及运算1.编程:根据需要定义相关变量,键盘输入10.0、20.6、5.0三个实数分别赋给相关三个变量,输出该3个变量的和s、乘积p和平均值a。2.编程:输入球的半径,计算球体表面积和球体积。3.编程:定义6个变量,通过键盘将“10,-10,40000,a,3.14,hello”这六个值分别赋给相应变量,然后在屏幕上输出变量的值(每行输出一个变量)。4.编程:从键盘接收1个字符给变量s1,1个字符串(允许带有空格)给字符数组s2,输出字符变量s1的ASCII码值及字符数组s2中的字符串。5.编程:从键盘输入二个整数分别赋给整型变量a、b,将它们按由小到大的顺序输出。6.编程:调用标准库函数sin(x)计算6800的正弦值(此题为选做)。7.编程:键盘输入一个实数赋给变量x,计算y=x*x*x+x*x+x的值,分别输出y值、y值的整数部分和小数部分(此题为选做)。8.编程:键盘输入四个整数分别赋给整型变量a、b、c、d,用三目运算方法将它们按由大到小的顺序输出(此题为选做)。1.#includemain(){floatx,y,z,s,p,a;scanf("x=%fy=%fz=%f",&x,&y,&z);s=x+y+z;p=x*y*z;a=s/3;printf("s=%f,p=%f,a=%f",s,p,a);}2.#includemain(){floatr,s,v;printf("inputr");scanf("%f",&r);s=4*3.14*r*r;v=4/3*3.14*r*r*r;printf("s=%f,v=%f",s,v);}3.#includemain(){inta,b;longc;chard,st[6];floate;scanf("%d%d%ld%c%f%s",&a,&b,&c,&d,&e,st);printf("a=%d\n,b=%d\n,c=%d\n,d=%c\n,e=%f\n,ch=%s",a,b,c,d,e,st);}4.#includemain(){chars1,s2[6];scanf("%c%s",&s1,s2);printf("s1=%d,s2=%s",s1,s2);}5.#includemain(){inta,b;scanf("a=%db=%d",&a,&b);if(a#includemain(){floata,b;scanf("%f",&a);b=sin(a);printf("%f",b);}7.#includemain(){floatx,y,b;inta;scanf("%f",&x);y=x*x*x+x*x+x;a=(int)y;b=y-a;printf("%f\n%d\n%f\n",y,a,b);}实验四?C分支结构程序设计1.编程:从键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则原样输出;其它字符输出“Notletter!”。2.编程:判断输入的正整数是否既是3又是5的整数倍。若是,输出Yes,否则输出No。3.编程:从键盘输入三个整数,分别赋给变量a,b,c,输出其中的最大值(要求不改变a、b、c的值)。4.编程:用scanf输入任意两个数分别赋给变量a、b,若a大于等于b,则直接输出a、b,否则将a、b的值交换(即a的原值放入b中,b的原值放入a中)后再输出。5.编程:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。6.编程:从键盘输入三个整数,分别赋给变量a,b,c,请按从小到大的顺序依次输出a、b、c(要求不改变a、b、c的值)。7.编程:从键盘输入三个整数,分别赋给变量a,b,c,请按从小到大的顺序依次将这三个数存放于a、b、c中,最后输出a、b、c。    8.编程:由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。    注:随机数的生成必须包含头文件#include、#include,必须用初始化语句srand((unsigned)time(NULL));,表达式rand()%a+1的值为1~a内的随机整数1.#includemain(){charx;scanf("%c",&x);if(x>='a'&&x<='z')printf("%c",x);elseif(x>='A'&&x<='Z')printf("%c",x+32);elseprintf("Notletter!");}2.#includemain(){intx;scanf("%d",&x);if(x>0){if(x%3==0&&x%5==0)printf("Yes\n");elseprintf("No\n");}elseprintf("Error!");}3.#includemain(){inta,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a>b?a:b;max=max>c?max:c;printf("a=%d,b=%d,c=%d,max=%d",a,b,c,max);}4.#includemain(){floata,b;scanf("%f%f",&a,&b);if(amain(){inta,b,t,r,s;scanf("%d%d",&a,&b);s=a+b;r=a*a+b*b;t=r/100;if(r>100)printf("%d",t);elseprintf("%d",s);}6.#includeintmain(){inta,b,c,d,max,min;scanf("%d%d%d",&a,&b,&c);if(a>=b){max=a;min=b;}else{max=b;min=a;}if(c>=max)max=c;if(c<=min)min=c;d=a+b+c-min-max;printf("%d%d%d\n",min,d,max);}7.#includemain(){inta,b,c,d;scanf("%d%d%d",&a,&b,&c);if(a>=b){d=a;a=b;b=d;}elseif(b>=c){d=b;b=c;c=d;}printf("a=%db=%dc=%d",a,b,c);}8.#include#include#includemain(){inta,b;srand((unsigned)time(NULL));b=rand()%10+1;scanf("%d",&a);printf("a=%d,随机数b=%d\n",a,b);if(a==b)printf("OK!\n");elseprintf("ERROR!\n");}实验五 C多分支结构程序设计*1.编程:计算奖学金ss的值,已知奖学金ss与成绩s的关系为:            具体要求:               (1)用if语句实现分支结构的编程。             (2)s为整型,ss要求精确到小数点后二位。             (3)用scanf函数给s赋值,且输入前有相应提示。             (4)结果输出时采用以下形式:                  成绩s=具体值,奖学金ss=具体值    2. 设函数f(x)如下,求函数函数法f(x)的值。                                    具体要求:               (1)用条件表达式编程。             (2)用if语句编程。             (3)用scanf函数给自变量赋值,且输入前有相应提示。             (4)结果输出时采用以下形式:                  x=具体值,f(x)=具体值             (5)给出你所使用的测试用例。            提示:            按C的语法 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf ,标识符由字母、数字、下划线组成,不能将f(x)作为变量名,本题中,函数名可起为f或y等。但作为非格式控制字符,f(x)完全可以出现在printf函数的双引号内。    3.编程:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:             (1)能同时被3,5,7整除。             (2)能被其中两数整除(指出是哪两个数)。             (3)能被其中一个数(指出是哪一个数)整除。             (4)不能被3,5,7任一个数整除。    4.编程:用switch语句编写一个简单的计算器程序,输入格式为:data1opdata2。其中data1和data2为参加运算的两个数;op为运算符,取值只能是+、-、*、/。    5.编程:计算你的出生日期是星期几。             (1)通过键盘输入你出生那一年的元旦是星期几             (2)通过键盘输入你的出生日期             (3)输出结果1.#includemain(){ints;floatss;printf("Pleaseinputs\n");scanf("%d",&s);if(s<0||s>100)printf("ERROR!\n");else{if(s>=0&&s<80)ss=0;elseif(s>=80&&s<90)ss=100+s;elseif(s>=90&&s<=100)ss=200+s*3/2;printf("成绩s=%d,奖学金ss=%0.2f\n",s,ss);}}2.#includemain(){floatx;intf;printf("Pleaseinputx\n");scanf("%f",&x);if(x==0)f=0;elsef=(x>0)1:-1;printf("x=%f,f(x)=%d\n",x,f);}3.#includemain(){intx,a,b,c;printf("请输入一个整数x");scanf("%d",&x);a=x%3;b=x%5;c=x%7;if(a==0&&b==0&&c==0)printf("%d能同时被3,5,7整除\n",x);elseif(a==0&&b==0)printf("%d能被3,5整除\n",x);elseif(a==0&&c==0)printf("%d能被3,7整除\n",x);elseif(b==0&&c==0)printf("%d能被5,7整除\n",x);elseif(a==0)printf("%d能被3整除\n",x);elseif(b==0)printf("%d能被5整除\n",x);elseif(c==0)printf("%d能被7整除\n",x);elseprintf("%d不能被3,5,7任意一个数整除\n",x);}4.#includemain(){charop;floatd1,d2;printf("请输入算式");scanf("%f%c%f",&d1,&op,&d2);switch(op){case'+':printf("%g+%g=%g\n",d1,d2,d1+d2);break;case'-':printf("%g-%g=%g\n",d1,d2,d1-d2);break;case'*':printf("%g*%g=%g\n",d1,d2,d1*d2);break;case'/':printf("%g/%g=%g\n",d1,d2,d1/d2);break;}}5.#includemain(){intx,m,d;printf("请输入你出生那年元旦的星期(1至7):\n");printf("请输入你的出生日期(mm/dd):\n");scanf("%d,%d,%d",&x,&m,&d);switch((m*30+d)/7){case0:printf("你出生那天为星期%d",x);break;case1:printf("你出生那天为星期%d",x+1);break;case2:printf("你出生那天为星期%d",x+2);break;case3:printf("你出生那天为星期%d",x+3);break;case4:printf("你出生那天为星期%d",x+4);break;case5:printf("你出生那天为星期%d",x+5);break;case6:printf("你出生那天为星期%d",x+6);break;}}实验六 C循环结构程序设计1.编程:输出200以内所有能被7整除的数。      2.编程:求出1~1000之间能被13整除的最大的那个数。      3.编程:找出若干个非零数中的最小值m以及它们的平均值a。         要求:若干个数由键盘输入,每次输入一个赋给变量x,x为零时,结束输入。      4.编程:求两个正整数m、n之间所有奇数之和x与偶数之和y。         要求:               (1)m、n的值由键盘输入。             (2)输入时,允许用户随意先输入大的或小的整数。      5.编程:计算函数y的值。要求键盘接收自变量x的值,若x的值不为零,计算函数y的值并输出,再从键盘接收下一个x的值,……,直到x的值为零,显示“ThankYou,Bye!”,尔后结束程序,已知函数y与自变量x的关系为:      6.编程:计算π的近似值,π的 计算公式 六西格玛计算公式下载结构力学静力计算公式下载重复性计算公式下载六西格玛计算公式下载年假计算公式 为:         要求:               (1)n值由键盘输入。             (2)分别输出当n为10、100、1000时的计算结果。             (3)输出时要求每行显示一组n、π的值,每行形式如下:                  n=具体值,π=具体值                    7.我国现有人口13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。      8.求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯最少共有多少阶?      9.每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。编程:求每天平均花多少钱?(此题为选做)      1.#includemain(){inti;for(i=1;i<=200;i++){if(i%7!=0)continue;printf("%d",i);}}2.#includemain(){inti,max=0;for(i=0;i<=1000;i++){if(i%13!=0)continue;if(maxmain(){inti;floatx,m,s,a;scanf("%f",&x);if(x!=0){m=x;s=x;}for(i=1;;i++){scanf("%f",&x);if(x==0)break;s=s+x;if(m>x)m=x;}a=s/i;printf("最小值m=%f,平均值a=%f",m,a);}4.#includevoidmain(){inti,m,n,t,x=0,y=0;scanf("%d%d",&m,&n);if(m>n){t=m;m=n;n=t;}for(i=m;i<=n;i++)if(i%2)x+=i;elsey+=i;printf("x=%d\n",x);printf("y=%d\n",y);}5.#includemain(){floatx,y;printf("inputx:");scanf("%f",&x);for(;x>=0;){if(x>0&&x<100){y=3*x+1;printf("%f",y);}elseif(x>=100){y=x*x-1;printf("%f",y);}else{printf("thankyoubey!");break;}scanf("%f",&x);}}6.#includemain(){intn,i;doublet,sum;printf("请输入n的值\n");scanf("%d",&n);sum=2;i=1;t=2;while(imain(){doublet=13,s=0;while(t<=20){t=t*(1+0.01);s++;}printf("需要经过%lf年",s);}8.#includemain(){intx=7;while(!(x%2==1&&x%3==2&&x%5==4&&x%6==5)){x=x+7;}printf("%d\n",x);}9.#includemain(){floats=0;intn=1,p=0,d=0;do{d++;n=n*2;p=p+n;}while(p+n*2<=100);s=p*0.8/d;printf("每天平均花%g元钱!\n",s);}实验七 C多重循环结构程序设计1.编程:输出100以内个位数为6且能被3整除的所有数。    2.编程:键盘输入6位学生的5门课成绩,分别统计出每个学生的平均成绩。    3.编程:输入一个正整数,统计该数的各位数字中零的个数,并求各位数字中的最大者。    4.编程:分别用dowhile、while、for三种循环结构求:1!+2!+3!+...+n!,要求n的值由键盘输入。    5.编程:计算100至1000之间有多少个数其各位数字之和是5。    6.编程:从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,输出此数后退出;若未找到,输出“notexist”。    7.编程:输出1至100之间满足如下条件的数:各位数的乘积大于各位数的和。    8.编程:将整数316表示为两个加数的和,使这两个加数分别能被13和11整除。    9.编程:打印出所有的"水仙花数"。所谓的"水仙花数"是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个"水仙花数",因为有153=1*1*1+5*5*5+3*3*3。    10.编程:一条有10个车站的铁路线,共需要准备多少种车票?1.#includemain(){inti;for(i=1;i<=100;i++){if(i%10==6&&i%3==0)printf("%d",i);}}2.#includemain(){inti,j,a[6][5];floats;for(i=0;i<6;i++){s=0;for(j=0;j<5;j++){printf("请输入第%d个学生的第%d门成绩",i+1,j+1);scanf("%d",&a[i][j]);s=s+a[i][j];}s=s/5;printf("第%d个学生平均成绩为%f\n",i+1,s);}}3.#includemain(){intx,i,max,t;i=0;max=0;scanf("%d",&x);do{t=x%10;if(t==0)++i;elseif(maxmain(){intn,i,a,s=0;printf("请输入n:");scanf("%d",&n);a=1;for(i=1;i<=n;i++){a=a*i;s=s+a;}printf("s=%d\n",s);}#includemain(){intn,i=1,a=1,s=0;printf("请输入n:");scanf("%d",&n);while(i<=n){a=a*i;s=s+a;i++;}print("s=%d",s);}#includemain(){intn,i=1,a=1,s=0;printf("请输入n:");scanf("%d",&n);do{a=a*i;s=s+a;i++;}while(i<=n);printf("s=%d",s);}5.voidmain(){inti,s,k,count=0;for(i=100;i<1000;i++){s=0;k=i;while(k){s=s+k%10;k=k/10;}if(s!=5)continue;elsecount++;}printf("%d\n",count);}6.#includemain(){intx,i;printf("请输入10个整数:");for(i=1;i<=10;i++){scanf("%d",&x);if(x%7==0){printf("firstnumberis%d",x);break;}}if(i>10)printf("notexist!");}7.#includemain(){intn,k=1,s=0,m;for(n=1;n<=100;n++){k=1;s=0;m=n;while(m>=1){k*=m%10;s+=m%10;m=m/10;}if(k>s)printf("%d\n",n);}}8.#includemain(){inti=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d\n",i,j);}9.#includemain(){inti,j,k,n;for(n=100;n<1000;n++){i=n/100;j=(n-i*100)/10;k=n%10;if(i*i*i+j*j*j+k*k*k==n)printf("%d\n",n);}}实验八 C程序控制结构综合应用1.编程计算:        s=1+12+123+1234+12345+123456+1234567。    2.编程:找出1至99之间的全部同构数。所谓同构数是这样一组数:它出现在其平方数的右边。例如:5是25右边的数,25是625右边的数,5和25都是同构数。    3.若用0至9之间不同的三个数构成一个三位数,编程统计共有多少种方法。    4.编程:键盘输入一个不多于5位的正整数,要求:(此题为选做)        (1) 求它是几位数        (2) 逆序打印出各位数字。如原数为123,输出则为321。    5.编程:找出以下疑案的作案人(此题为选做)        已知该案涉及6个嫌疑人A、B、C、D、E、F,并且:        (1) A、B至少有一人作案。        (2) A、E、F这3人中至少有2人参与作案。        (3) A、D不可能是同案犯。        (4) B、C或同时作案,或与本案无关。        (5) C、D中有且仅有一人作案。        (6) 如果D没有作案,则E也不可能参与作案。    6.编程:输出下列形式的杨辉三角形的前10行(此题为选做)        1        11        121        1331        14641        ……1.#includemain(){ints=0,i=1,t=0;while(i<10){t=t*10+i;s+=t;i++;}printf("s=%d\n",s);}2.#includemain(){inti;for(i=1;i<=99;i++)if(i*i%10==i||i*i%100==i)printf("%d\n",i);}3.#includemain(){inti,j,k,count=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)if(i==j)continue;elsefor(k=0;k<=9;k++)if(k!=i&&k!=j)count++;printf("%d\n",count);}实验九 C的数组1.编程实现:输入一个正整数n(1main(){inta[10],n,i;scanf("%d",&n);for(i=n-1;i>=0;i--)scanf("%d",&a[i]);for(i=0;imain(){intn,i,a[10],max,min,t,r,p;scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);min=a[1];for(i=1;i<=n;i++){if(a[i]a[n]){max=a[i];p=i;}}t=a[n],a[n]=max,a[p]=t;for(i=1;i<=n;i++)printf("%d",&a[i]);}3.#includevoidmain(){inta[21],i;for(i=1;i<=20;i++){a[i]=i*i+1;printf("%d",a[i]);if(i%5==0)printf("\n");}}4.#includemain(){inta[10]={1,3,5,7,9,11,13,15,17},i,j,n;printf("请输入1个整数");scanf("%d",&n);for(i=0;i<9;i++)if(a[i]>n){for(j=9;j>i;j--)a[j]=a[j-1];a[i]=n;break;}if(n>=a[8])a[9]=n;for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");}6.#includemain(){inta[4][4],i,j,t=0;floats1=0,s2=0,ave;for(i=0;i<=3;i++){for(j=0;j<=3;j++){printf("input16ints:");scanf("%d",&a[i][j]);}}for(i=0;i<=3;i++){for(j=3;j>=0;j--){if(i+j==3){if(a[i][j]%2!=0){s1=s1+a[i][j];}else{t++;s2=s2+a[i][j];ave=s2/t;}}}}printf("s=%0.2f\nave=%0.2f\n",s1,ave);}7.#includemain(){inti,j,k=1,s=0;inta[5][5];for(i=0;i<5;i++){for(j=0;j<5;j++){a[i][j]=k;k++;}}putchar(10);for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d\t",a[i][j]);printf("\n");}putchar(10);for(i=0;i<5;i++){for(j=0;j<=i;j++)printf("%d\t",a[i][j]);printf("\n");s=s+a[i][j];}printf("s=%d",s);}实验十 C字符数组和字符串函数*1.编写字符串拷贝程序,并要求拷贝过程中将字符串中的小写字母转换成大写字母。      2.从键盘输入两个字符串a和b,要求不使用库函数strcat,把串b的前5个字符连接到串a中;如果b中的长度小于5,则把b的所有元素都连接到a中。      3.输入一个以回车结束的字符串(少于80个字符),再输入一个字符,统计并输出该字符在字符串中出现的次数,然后输出该字符串。      4.编程:输入一个字符串,输出该字符串中出现次数最多的字符以及出现的次数。      5.编程:键盘接收一个字符串(只含大、小写英文字母),将该字符串加密后输出。         加密规则为:若为小写字母则不变,若为大写字母则将其转换为小写后再后移一个字母,例如“A”应转换为“b”,“B”应转换为“c”,“Y”应转换为“z”,而“Z”应转换为“a”。      6.编程:输入一个以回车结束的字符串a(少于80个字符),再输入一个字符串b,统计并输出b在a中出现的次数,然后再输出这两个字符串。        7.编程:输入一个以回车结束的字符串(少于80个字符),将该字符串倒序存放后按顺序输出。         例如:如数组中开始时元素为“abcd”,程序执行后数组中为“dcba”,并输出“dcba”      8.编程:实现对字符串的加密,要求从键盘输入一个字符串,输出加密之后的字符串。(此题为选做)         加密规则为:             对于串中第奇数个字符,若是字母,则把该字母变为它后面的字母(若为Z则变为A),不是字母则不变;             对于串中第偶数个字符,若是字母,则把该字母变为它前面的字母(若为A则变为Z),不是字母则不变;             大小写字母都遵循此规则。         例如:         若原字符串是:AbbaZGHa-MnnKYzx         加密字符串为:BaczAFGb-NmojXaw         9.编程:输入一行英文字符串,统计单词的个数(单词和单词以空格分隔)。(此题为选做)1.#include#includemain(){charstr1[40],str2[20];inti,k;printf("请输入第一个字符串\n");scanf("%s",str1);printf("请输入第二个字符串\n");scanf("%s",str2);for(i=0;str1[i]!='\0';i++);for(k=0;str2[k]!='\0';k++){str1[i]=str2[k];i++;}str1[i]='\0';for(i=0;str1[i]!='\0';i++){if(str1[i]>='a'&&str1[i]<='z'){str1[i]=str1[i]-32;}}printf("%s\n",str1);}2.#include"stdio.h"main(){chara[80],b[40],*q=a,*p=b;inti=0;printf("字符串a:");gets(a);printf("字符串b:");gets(b);while(*q++);q--;while(*p++)i++;p=b;if(i<5)while(i--)*q++=*p++;elsefor(i=0;i<5;i++)*q++=b[i];*q='\0';puts(a);}3.#includemain(){charc[80],ch;inti,num=0;printf("请输入字符串及字符:");gets(c);ch=getchar();for(i=0;c[i]!='\0';i++)if(c[i]==ch)num++;printf("num(%c)=%d\n",ch,num);puts(c);}4.#include#include#includemain(){charstr[100],str_sort[100],c;inti,j,len,m;printf("请输入字符串:");gets(str);strcpy(str_sort,str);len=strlen(str_sort);for(i=0;istr_sort[j+1]){c=str_sort[j];str_sort[j]=str_sort[j+1];str_sort[j+1]=c;}for(i=1,j=1,m=0;im){m=j;c=str_sort[i-1];}j=1;}elsej++;printf("出现最多的是:%c%d\n",c,m);getch();}5.#includemain(){chari;intc=0;inta=0,sum;scanf("%c",&i);while(i!='\n'){{if('a'<=i&&i<='z')printf("%c",i);if('A'<=i&&i<='Y')i=i+33,printf("%c",i);}if(i=='Z')i=i+32-25,printf("%c",i);scanf("%c",&i);}printf("\n");}7.#include#includemain(){charc[80],ch;inti,l;gets(c);l=strlen(c);for(i=0;ivoidmain(){intn,c=1,i,j;inta[10];while(c){printf("请输入n:\n");scanf("%d",&n);if(n>1&&n<=10)c=0;elseprintf("ERROE!\n");}printf("请输入这%d个数:",n);for(i=0;i#includeintmain(void){charstr1[500]={0},str2[256]={0};inti;gets(str1);for(i=0;str1[i];i++){str2[str1[i]]=1;}for(i=0;i!=256;i++)if(str2[i]==1)printf("%c",i);putchar('\n');return0;}实验十二 C函数的基本操作1.编写函数:计算三角形的面积。已知三角形三条边长,公式为:                         其中x、y、z为边长,c=(x+y+z)/2。      2.编写函数:用来判断一个整数是否满足“用4除余1,用5除余3,用7除余4”,满足则返回1,不满足返回0,然后编写main函数,通过调用该函数显示出200~500之间满足该条件的数。      3.编写函数isprime(),用来判断一个整数a是否为素数。再编写main函数,通过调用该函数打印出100~300之间所有的素数,要求一行打印10个。      4.编写函数:判断一个整数是否为水仙花数,并编写主程序调用该函数求出所有的水仙花数。      5.用迭代法求。迭代公式为:                           迭代到为止,为方程的近似解。      6.所谓完数就是它所有因子的和等于其自身自然数,如6=1+2+3,6就是一个完数。编写两个函数:函数factor(n)用来判断n是否是完数,函数PriFac(n)用来显示完数n的所有因子,在主函数中调用这两个函数,显示1~30000间的所有完数。      7.以下函数p的功能是用递归方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);请编写p函数。递归公式如下:(此题为选做)                 floatp(intn,intx)                 {                 }1.#include#includeintmain(void){doublea,b,c,p,s;printf("请输入a,b和c:");scanf("%lf%lf%lf",&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("此三角形的面积为:%lf\n",s);return0;}2.#includevoidfun(intm,intn){while(m<=n){if(m%4==1&&m%5==3&&m%7==4){printf("%4d",m);m++;}}voidmain(){fun(200,500);}3.#includeintisprime(intx){inty;for(y=x-1;y>=1;y--){if(x%y==0){returny;break;}}}main(){inti,j=0,m;for(i=100;i<=300;i++){m=isprime(i);if(m==1){printf("%5d",i);j++;if(j%10==0)printf("\n");}}}4.#includefun(intx){inta,b,c;for(x=100;x<1000;x++){a=(x/100)%10;b=(x/10)%10;c=x%10;if(x==a*a*a+b*b*b+c*c*c)printf("%d\n",x);}}main(){inty;fun(y);}5.#include#includevoidmain(void){doublea,b,c,d,e;printf("Enteranumber:");scanf("%lf",&a);b=a;e=pow(a,1.0/3);do{c=b*2/3+a/(3*b*b);d=c-b;b=c;}while((d<=-0.00001)||(d>=0.00001));printf("Theresultis%lf.\n",e);}6.#includeintfactor(intn);voidprifac(intn);intw[10],k;main(){intm,n;for(n=2;n<=3000;n++){m=factor(n);if(m==1)prifac(n);}}intfactor(intn){ints,i;k=-1;s=n;for(i=1;ivoidswap(int*,int*);main(){inta,b;printf("input2number:a,b\n");scanf("%d,%d",&a,&b);swap(&a,&b);printf("交换后:a=%d,b=%d\n",a,b);}voidswap(int*p1,int*p2){intt;t=*p1,*p1=*p2,*p2=t;}2.#includeintx,y;voidSwap();voidmain(){printf("Inputxandy:");scanf("%d,%d",&x,&y);Swap(x,y);printf("main:x=%d,y=%d\n",x,y);}voidSwap(){inttemp;temp=x;x=y;y=temp;return;}3.#includevoidfun(charc[80],charx[1]){inti=0;intbit=0;for(i=0;c[i];i++){if(c[i]!=x[0]){c[bit]=c[i];bit++;}}c[bit]='\0';}voidmain(){charc[80];chara[1];printf("请输入一串字符:");scanf("%s",&c);printf("请输入要删除的数:");scanf("%s",&a);fun(c,a);printf("%s\n",&c);}实验十五 C的指针1.用指针方法,编写一个函数,求矩阵主对角线所有偶数元素之和Sum。      2.编程:用字符指针实现函数strcat(s,t),将字符串t复制到字符串s的未端,并且返回字符串s的首地址。      3.用指针编程:输入一个字符串,计算该字符串的长度,并统计该串中所含小写字母、大写字母和其他字符的个数。      4.用指针编程:将字符串a赋给一个字符数组,然后从第一个字母开始间隔地输出该串。例如,输入的是abcdefghijkl,则输出为acegik。      5.用指针编程:有一个数列,含有20个整数,编写函数,要求能够对从指定位置开始的n个数按相反顺序重新排列,并在main中输出新的数列。         例如,原数列为:                   1,2,3,4,5,6,7,8,9,10         若要求对从3个数开始的5个数进行逆序处理,则处理后的新数列为:                   1,2,7,6,5,4,3,8,9,10      6.用指针编程:输入一个4×5的二维整型数组,输出其中最大值、最小值以及它们所在行和列的下标。      7.用指针编程:从键盘输入15个整数存入一维数组,按逆序存放后再输出。1.#includemain(){inta[4][4]={1,2,3,4,2,3,4,5,3,4,6,6,4,5,6,8},*p[4],i,j,sum=0;for(i=0;i<4;i++)p[i]=&a[i];for(i=0;i<4;i++){if(*(p[i]+i)%2==0)sum+=*(p[i]+i);}printf("%d\n",sum);}2.#include#includeintmain(){charstra[20];charstrb[20];char*str1=stra;char*str2=strb;gets(str1);gets(str2);strcat(str1,str2);puts(str1);
本文档为【安徽大学C语言实验平台作业答案汇总精选文档】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥18.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_372338
暂无简介~
格式:doc
大小:61KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-09-26
浏览量:73