C实验报告7参考答案
c程序设计实验报告册参考答案

程序清单:1.// First c++ program#include<iostream>using namespace std; int main(){cout<<"Hello world!"<<endl; }2.#include<iostream>using namespace std ;int main(){cout<<”*”<<endl;cout<<”***”<<endl;cout<<”*****”<<endl;}3.#include<iostream> using namespace std;int main() {int i,j,k;cin>>i>>j;k=i*j;cout<<"i*j="<<k<<endl;}程序清单:3.#include <iostream> using namespace std; int main() { int x; cout<<"输入一个整数:"; cin>>x;cout<<"\n 此数的平方数是:"<<x*x<<endl;cout<<" 此数的立方数是:"<<x*x*x<<endl;cout<<endl;return 0;}4. #include <iostream>using namespace std; int main(){int n,x;cout<<"请输入一个三位以上的整数:"; cin>>n;x=(n/10)%10; cout<<"该数的十位数字为:"<<x<<endl;return 0;}5.#include <iostream> using namespace std; int main() {int n,a,b,c,d,e; cout<<"请输入一个三位正整数: "; cin>>n; a=n/100; // 得到百位b=(n/10)%10; // 得到十位c=n%10; // 得到个位cout<<c<<b<<a<<endl;return 0;}实验三程序清单1.方法一:#include <iostream>#include <iomanip>using namespace std;int main ( ){float h,r,l,s,sq,vq,vz;const float pi=3.1415926;cout<<"please enter r,h:";cin>>r>>h;l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r*r;vz=pi*r*r*h;cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);cout<<"l= "<<setw(10)<<l<<endl;cout<<"s= "<<setw(10)<<s<<endl;cout<<"sq="<<setw(10)<<sq<<endl;cout<<"vq="<<setw(10)<<vq<<endl;cout<<"vz="<<setw(10)<<vz<<endl;return 0;}方法二:#include <iostream>using namespace std;#define PI 3.14 void main(){ double xiaoshu(double x);double r=1.5,h=3,c,s,S,v,sv; cout<<"请输入圆半径,输入圆柱的高: "<<endl;cin>>r>>h;c=2.0*PI*r;s=2.0*PI*r*r;S=4.0*PI*r*r;v=4.0/3*PI*r*r*r;sv=PI*r*r*h;cout<<"圆的周长为:"<<xiaoshu(c)<<endl;cout<<"圆的面积为:"<<xiaoshu(s)<<endl;cout<<"圆球的表面积为:"<<xiaoshu(S)<<endl;cout<<"圆球的体积为:"<<xiaoshu(v)<<endl;cout<<"圆柱的体积"<<xiaoshu(sv)<<endl; } double xiaoshu(double x){ int a;a=x*100; x=a/100.0;return x; }2.#include <iostream> using namespace std; void main(){ double c,f;cout<<"请输入一个华氏温度"<<endl;cin>>f; c=5.0/9*(f-32);c=int(c*100+0.5)/100.0; //取2位小数,并对第3位四舍五入cout<<"华氏温度转化成摄氏温度为:"<<c<<endl; }3.#include <iostream>using namespace std;int main ( ){int x,y;cout<<"please enter x:";cin>>x;if (x<1){ y=x;cout<<"x="<<x<<", y=x="<<y;}else if (x<10) // 1≤x<10{ y=2*x-1;cout<<"x="<<x<<", y=2*x-1="<<y;}else // x≥10{ y=3*x-11;cout<<"x="<<x<<", y=3*x-11="<<y;}cout<<endl;return 0;}注:三组检验数据:-1,5,124.方法一:#include <iostream>using namespace std;int main (){float score;char grade;cout<<"please enter score of student:";cin>>score;while (score>100||score<0) //保证输入一个合理的数据{ cout<<"data error,enter data again.";cin>>score;}switch(int(score/10)){ case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;default:grade='E';}cout<<"score is "<<score<<", grade is "<<grade<<endl;return 0;}方法二:#include <iostream>using namespace std;int main (){float score;char grade;cout<<"请输入一个0到100之间的成绩:";cin>>score;while (score>100||score<0){ cout<<"data error,enter data again.";cin>>score;}if(score>=90) grade='A';else if(score>=80) grade='B';else if(score>=70) grade='C';else if( score>=60) grade='D';else grade='E';cout<<"score is "<<score<<", grade is "<<grade<<endl;return 0;}5. #include <iostream> using namespace std; void main(){ long i=1,sum=0;for(int j=1;j<=15;j++) { i=i*j;sum=sum+i; }cout<<"1!+2!+...+15!="<<sum<<endl; }6.#include <iostream>using namespace std;void main(){ int i,a,b,c; cout<<"100到999以内的\"水仙花数\"为:\n"; for(i=100;i<=999;i++) { a=i/100; //计算百位数字b=(i-a*100)/10; //计算十位数字c=i%10; //计算个位数字if (i==a*a*a+b*b*b+c*c*c)cout<<i<<endl;} } 7.#include <iostream>using namespace std;void main() {int i=0,x;bool key=false;cout<<"请输入一个6位数字的密码 : ";cin>>x;for(i=1;i<=3;i++){if(x==111111){ key=true;break;}cout<<"密码错,请重新输入 : ";cin>>x;}if(key)cout<<"欢迎使用财务报表软件!\n"; elsecout<<"拒绝使用财务报表软件!\n"; }8*************************方法一:#include <iostream>using namespace std;int main(){ int i,k;for (i=0;i<=3;i++) // 输出上面4行*号{ for (k=0;k<=2*i;k++)cout<<"*"; // 输出*号cout<<endl; //输出完一行*号后换行}for (i=0;i<=2;i++) // 输出下面3行*号{ for (k=0;k<=4-2*i;k++)cout<<"*"; // 输出*号cout<<endl; // 输出完一行*号后换行}return 0;}方法二:#include <iostream>#include <cmath>using namespace std;int main(){ int i,k;for (i=-3;i<=3;i++) // 控制行数{for (k=1;k<=7-2*abs(i);k++) // 控制*号个数cout<<"*";cout<<endl; //输出完一行*号后换行}return 0;}9.#include <iostream> using namespace std; void main(){ char x;float total=0,sum,m;int p=0;cout<<"请输入营业员的密码:";cin>>x;if(x=='1'||x=='2'||x=='3'||x=='4'||x=='5') //对输入的密码进行判断符合进入do //统计销售额{sum=0;cout<<"请分别输入用户购买商品的价格:"<<endl;for(int i=1;i<=10000;i++){ cout<<"第 "<<i<<" 商品价格为: ";cin>>m; //输入一个商品价格if(m>1000||m==0) //当价格为0或超过1000时结束统计break;sum=sum+m; //把输入的数(商品价格)进行相加运算}cout<<endl;cout<<" 请付款为:"<<sum;cout<<endl;p++; //对顾客(人数)进行累加total=total+sum; //把所有的顾客消费进行累加}while(m);else cout<<"请退出收银台,谢谢! ";cout<<"今天商店的营业额为: "<<total<<endl;cout<<"今天接待消费客人共: "<<p<<" 人 "<<endl;}实验四程序清单1.写一个判别素数的函数#include <iostream>using namespace std;int main(){ int prime(int); /* 函数原型声明*/int n;cout<<"input an integer:";cin>>n;if (prime(n))cout<<n<<" is a prime."<<endl;elsecout<<n<<" is not a prime."<<endl;return 0;}int prime(int n){ int flag=1,i;for (i=2;i<n/2 && flag==1;i++)if (n%i==0) flag=0;return(flag);}2. 编写一个函数divides,带两个整型参数,如果第二个整数能整除第一个整数(即余数为0),则返回true,否则返回false。
C实验报告答案

C程序设计初步一、实验目的(1) 熟悉C语言程序的运行环境(VC++ 。
(2) 掌握C语言程序的上机步骤,了解运行C程序的方法。
(3) 掌握C语言程序的书写格式和C语言程序的结构。
二、实验内容(均要求给出运行结果)1.程序改错题(1) 以下程序实现计算x×y的值并将结果输出。
请改正程序中的错误。
#include ""void main()/**********FOUND**********/{ int x=y=4;z=x*y;/**********FOUND**********/printf("z=%d/n", Z);}答案:=======(答案1)=======int x=,4,y=4,z;=======(答案2)=======printf("z=%d\n", z);(2) 以下程序实现输入圆的半径,求圆的周长。
请改正程序中的错误。
#include ""void main(){ int r;float l;printf("Enter r:");scanf("%d", &r);/**********FOUND**********/l=2πr/**********FOUND**********/printf("l=%d\n",l);}答案:=======(答案1)=======l=2**r;=======(答案2)=======printf("l=%f\n", l);2.程序填空题(1) 下面程序能对两个整型变量的值进行交换,请填空。
#include ""void main(){ int a=3,b=4,t;t=a;/***********SPACE***********/【】;/***********SPACE***********/【】;printf("a=%d,b=%d\n",a,b);}答案:=======(答案1)=======a=b=======(答案2)=======b=t(2) 下面程序不用第三个变量,实现两个数的对调操作。
C语言程序设计实验实验报告7

C语言程序设计实验实验报告7实验名称:链表实现学生信息管理系统实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。
实验内容:设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。
实现以下功能:1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。
2. 删除学生信息:从链表中删除指定学号的学生信息。
5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。
7. 退出程序:退出学生信息管理系统。
实验方法:1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。
2. 编写添加学生信息函数,新建链表节点并插入链表末尾。
3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。
4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。
6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。
7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。
8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。
实验结果:依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。
经测试,程序稳定运行,功能正常,符合需求。
本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。
虽然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高的可扩展性和更好的操作效率,可以更好的适应各种实际需求。
在实验中,还需要注意节点指针的正确使用、各个函数之间的调用关系和输入输出数据格式的合理选择等问题,以保证程序能够正常运行。
同时,还需要保持认真细致的态度,严格按照实验需求和要求来完成每个步骤,以达到更好的实验效果和运行效率。
c语言实验7数组实验报告

实验报告课程名称程序设计实验项目名称数组班级与班级代码14级计算机科学与技术1班实验室名称(或课室) SS1-332专业计算机科学与技术任课教师学号:姓名:实验日期:2014年月日广东商学院教务处制一.实验目的1.熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。
2.熟练掌握字符数组和字符串函数的使用。
3.熟练掌握一位数组以及一位数组元素的存储关系。
4.熟练掌握一位数组和二维数组的使用以及在函数中的传递。
5.通过上机实践掌握与数组有关的算法。
二、实验内容上机题1输入并运行以下程序。
实验内容:用2个数组对第3个数组进行赋值#include<stdio.h>main(){int i,a[5],b[5],c[5];a[0]=2,a[1]=6,a[2]=4,a[3]=8,a[4]=9;b[0]=2,b[1]=7,b[2]=9,b[3]=5,b[4]=3;for(i=0;i<=4;i++){c[i]=a[i]*b[i];printf("c[%d]=%d\n",i,c[i]);}}实验步骤○1int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。
a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。
○2数组赋值方法和一般变量一样。
例如,a[0]=2表示将2赋给a[0]。
运行结果上机题2 输入并运行以下程序。
实验内容:对不指明数组的数组进行赋值并用循环结构进行求和#include<stdio.h>main(){int sum,i;int a[]={5,8,4,6,4,3,8,2,4,5,6};sum=0;for(i=0;i<=10;i++)sum+=a[i];printf("sum=%d\n",sum);}实验结果实验小结○1对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。
C语言实验报告数组

实验七数组1.实验目的(1)熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;(2)熟练掌握字符数组和字符串函数的使用;(3)掌握与数组有关的常用算法如查找、排序等..2.实验指导(1)对任意一个一维型数组;从中找出数组元素的最大值和最小值并输出..要求:①数组有十个元素;②使用scanf函数实现数组元素的输入前给出必要的提示;③输出时;首先输出数组的十个元素;然后输出其最大值和最小值..分析指导:①算法分析:首先定义一个数组;通过循环从键盘输入十个数组元素的值;再通过另一个循环判断数组元素的最大只和最小值;②根据分析情况编写程序:include<stdio.h>mainint a10;i;max;min;printf"please input ten integers:";fori=0;i<=9;i++{scanf"%d";&ai;}max=a0;min=a0;fori=1;i<=9;i++{ifai>maxmax=ai;ifai<minmin=ai;}fori=0;i<=9;i++{printf"a%d=%d\n";i;ai;}printf"The maximum value is %d;and the minimum value is %d\n";max;min;运行程序;输入十个整数;如:21 37 6 17 9 12 89 76 35 59运行结果如下:(2)编写函数cmpStrchar s1;char s2比较两个字符串s1和 s2的大小..如果s1>s2;返回一个正数;s1=s2;返回0;s1<s2;返回一个负数;在主函数中调用该函数完成字符串的比较操作;并输出返回的值..要求:①不允许使用strcmp函数;②用gets函数在主函数中输入两个字符串;③实现触摸屏受托人函数;返回的正数或负数的绝对值应该是进行比较的两个字符传中相应字符的ASCII码的差值..分析指导:①算法分析:两个字符串从第一个字符开始一一对应进行比较;直到不相等的那个字符;从而求得它们的ASCII码的差值..比如;‘A’与‘C’相比;由于‘A’<‘C’;应输出负数;由于‘A’与‘C’的ASCII码的差值为2;因此;应输出“-2”..同理;“And”和“Aid”比较;根据第二个字符比较结果;‘n’比‘I’大5;因此应输出‘5’;②根据分析情况编写程序:include<stdio.h>int cmpstrchar s1;char s2{int i;diff;i=0;whiles1i==s2i&&s1i='\0'i++;ifs1i=='\0'&&s2i=='\0'diff=0;elsediff=s1i-s2i;return diff;}void main{int z;char s1100;s2100;printf"input the first string:";//输入字符串1gets s1;printf"input the second string:";//输入字符串2getss2;z=cmpstrs1;s2;//输出比较结果printf"the difference between two strings is %d\n";z;}查看运行结果如下:重新输入两个字符串meet;mood运行结果如下:(3)再给定的字符串中查找指定的字符..要求:①字符串采用直接初始化的方式处理;②通过scanf函数读入一个任意字符;③在字符串中查找该字符;如果存在该字符;输出该字符在字符串中的一次出现的位置;如果再给定的字符串中不存在该字符;则给出相应的说明信息..include<stdio.h>void main{int i;char ch;char s=" program";printf" 输入一个英文字母: ";scanf"%c";&ch;for i=0;si='\0';i++{if si==chbreak;}if i<7printf"s%d=%c\n";i;ch;elseprintf"No founded\n";}输入一个英文字母O运行程序如下:再次输入一个英文字母w运行程序如下:(4)首先输入一个大于二且小于十的整数n;然后定义一个二维整型数组nn;初始化该数组;讲述组中最大元素所在的行和最小元素所在的行对调..要求:①nn数组元素的值由scanf函数从键盘输入假定最大值最小值不在同一行上;然后输出该数组;②查找最大值最小值所在的行;将数组中最大元素所在的行和最小元素所在的行对调;并输出对调后的数组;③为直观起见;数组按n行n列的方式输出;④修改程序;对最大值与最小值可能出现在一行种的情况进行处理.. include<stdio.h>main{long matrix99;min;max;temp;int i;j;n;nMax=0;nMin=0;printf"\nplease inpute n of matrix:\n";scanf"%d";&n;printf"\nplease inpute elements of matrix%d%d:\n";n;n; fori=0;i<n;i++forj=0;j<n;j++scanf"%ld";&matrixij;min=max=matrix00;fori=0;i<n;i++forj=0;j<n;j++{ifmatrixij>max{max=matrixij;nMax=i;}else ifmatrixij<min{min=matrixij;nMin=j;}}forj=0;j<n;j++{temp=matrixnMaxj;matrixnMaxj=matrixnMinj;matrixnMinj=temp;}printf"\nResult matrix:\n";fori=0;i<n;i++{forj=0;j<n;j++printf"%5ld";matrixij;printf"\n";}}输入一个数4;输入一个44的数组1 3 6 72 4 5 81 3 5 72 6 9 7运行程序如下:再次输入一个数字3;输入一个33的数组1 2 32 4 537 8运行程序如下:3 实验结论通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用;还有就是掌握与数组有关的常用算法。
c 实验报告7

c 实验报告7实验报告7:C 语言程序设计实验摘要:本实验报告旨在介绍C语言程序设计实验的过程和结果。
在本次实验中,我们使用了C语言编程语言,通过编写程序来实现各种功能。
在实验过程中,我们学习了C语言的基本语法和编程技巧,掌握了如何使用C语言进行程序设计和开发。
通过本次实验,我们对C语言程序设计有了更深入的了解,并且提高了我们的编程能力。
引言:C语言是一种通用的高级编程语言,广泛应用于系统软件和应用软件的开发中。
它是一种结构化的语言,具有丰富的表达能力和灵活的特性。
在本次实验中,我们将运用C语言来实现一些基本的功能,以加深对C语言的理解和掌握。
实验目的:1.了解C语言的基本语法和编程技巧2.学习如何使用C语言进行程序设计和开发3.提高编程能力,加深对C语言程序设计的理解实验材料和方法:在本次实验中,我们使用了C语言编程语言,并且通过编写程序来实现各种功能。
我们使用了一台配备C语言编译器的计算机,以及相应的开发环境和工具。
在编写程序的过程中,我们遵循了C语言的基本语法规则,并且运用了各种编程技巧。
实验结果:在本次实验中,我们成功地编写了一些C语言程序,实现了一些基本的功能。
我们学会了如何定义变量、使用控制结构、编写函数等等。
我们还学会了如何调试程序,发现并解决程序中的错误。
通过实验,我们对C语言程序设计有了更深入的了解,并且提高了我们的编程能力。
讨论:通过本次实验,我们对C语言程序设计有了更深入的了解,掌握了C语言的基本语法和编程技巧。
我们学会了如何使用C语言进行程序设计和开发,提高了我们的编程能力。
在今后的学习和工作中,我们将继续加强对C语言的学习和应用,不断提高自己的编程水平。
结论:通过本次实验,我们对C语言程序设计有了更深入的了解,掌握了C语言的基本语法和编程技巧。
我们学会了如何使用C语言进行程序设计和开发,提高了我们的编程能力。
在今后的学习和工作中,我们将继续加强对C语言的学习和应用,不断提高自己的编程水平。
湖北理工学院c语言实验报告七答案(完整版)

湖北理工学院c语言实验报告七答案(完整版)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March实验七结构体和共用体实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:input(stu);print(stu);}运行结果:运行结果分析:首先定义的是结构体(其中要注意结构体中数组),在定义和引用结构体数组是要注意结构体数组的引用,定义函数和引用函数要注意括号内部的变量时结构体。
2、任务名称scanf("%d", &stu[i].score[j]);}}average=0;max=0;maxi=0;for(i=0;i<3;i++){sum=0;for(j=0;j<3;j++)sum+=stu[i].score[j];stu[i].avr=sum/3.0;average+=stu[i].avr;if(sum>max){max=sum;maxi=i;}}average/=N;printf("NO. name score1 score2 score3 average\n");for(i=0;i<N;i++){printf("%5s%10s",stu[i].num, stu[i].name);for(j=0;j<3;j++)printf("%9d",stu[i].score[j]);printf("%8.2f\n",stu[i].avr);}printf("average=%6.2f\n",average);printf("The highest score is:%s,score total:%d.",stu[maxi].name,max); }运行结果:运行结果分析:输入输出时要引用结构体数组中的各种变量,弄清输入输出时的格式,要把简单的排序、求和、求平均值运用于结构体时不能搞混乱了,思路要清晰。
《C语言程序开发》实验报告和参考答案

《C语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。
实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。
(二)有a个学生,每个学生有b门课程的成绩。
要求在用户输入学生序号以后,能输出该学生的全部成绩。
用指针函数来实现。
3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。
实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main()
{ char a[ARR_SIZE] ;
printf("Please enter a string: ");
gets(a);
Inverse(char a[]);
Inverse(a);
printf ("The inversed string is: ");
puts(a);
}
void Inverse(char str[])
字符串,如“deed”和“level”是回文。在主函数中对输入的 5 个字符串统计其中回文的个 数。程序以文件名存盘。
#include <> #include <> int function(char x[]) {
int i; int y=strlen(x); for(i=0;i<y/2;i++)
if(x[i]!=x[l-i-1]) return 0;
scanf( "%d", &x[i] );
scanf( "%d%d", &i1, &i2 );
result = sum( x+i1, i2-i1+1 );
printf( "Sum=%d\n", result );
} (2)下列程序的功能为:输入一个字符数小于 100 的字符串 string,然后将 string 所存
b[n]=number%2; number=number/2; n++; } } void main(void) { int inumber; int a[20],i; printf("please input nunber: "); scanf("%d",&inumber); printf("\n"); tentotwo(inumber,a ); for(i=n-1;i>=0;i--) printf("%d",a[i]); printf("\n"); }
t[d+i]=s[i] ;
t[2*d]='/0' ;
t[2*d]='\0'
}
main( )
{
char s[100], t[100];
printf( " Please enter string s : " );
scanf("%s" , s );
sub(s,t) ;
printf( " \n The result is : %s \n ", t );
}
}
srcStr[i] = '\0';
void Insert(char srcStr[])
}
(3)下列程序的功能为:输出如下图形,补充完善程序,以实现其功能。程序以文件
名保存。
#include<>
void a(int i)
{
int j,k;
for(j=1;j<=30-i;j++) printf("%c",' ');
} (2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误, 以实现其功能。程序以文件名存盘。
#include<>
#include<>
#define ARR_SIZE = 80;
#define ARR_SIZE 80
void Inverse(char str[])
void Inverse(char str[]);
《高级语言程序设计》实验报告
班级:
学号:
姓名:
成绩:
实验 7 函数程序设计
一、实验目的
1.掌握函数定义的方法。 2. 掌握函数实参与形参的传递方式。 3. 掌握函数的嵌套调用和递归调用的方法。 4. 了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、实验内容
1.改错题(在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。) (1)下列 sub 函数的功能为:将 s 所指字符串的反序和正序进行连接形成一个新串放 在 t 所指的数组中。例如,当 s 所指字符串的内容为“ABCD”时,t 所指数组中的内容为 “DCBAABCD”。纠正程序中存在的错误,以实现其功能。程序以文件名存盘。
{ int len, i = 0, j;
char temp;
len = strlen(str);
for (j=len-1; i<j; i++, j--)
{ temp = str[i];
str[j] = str[i];
str[i] = str[j];
str[j] = temp;
}
} (3)下列程序的功能为:求整数 n 的阶乘。纠正程序中存在的错误,以实现其功能。 程序以文件名存盘。
return 1;
} void main() {
char s[100]; int count=0,i; for(i=1;i<=5;i++) { printf("输入第%d 个字符串:",i);
scanf("%s",s); if(function(s)) {printf("%s 是回文\n",s);count++;} else printf("%s 不是回文\n",s); } printf("共有回文%d 个\n",count); } (3)编写一函数,实现将一个十进制数转换成二进制数。程序以文件名存盘。 #include <> int n=0; void tentotwo(int number,int b[ ]) { while(number) {
盘字符串中的每个字符之间加一个空格。补充完善程序,以实现其功能。程序以文件名存盘。
#include<>
{ char strTemp[MAX];
#include<>
int i = 0, j = 0;
#define MAX 100
strcpy(strTemp, srcStr);
void Insert(char srcStr[]); main()
while ( j<MAX )
strTemp[j]!=’\0’
{ srcStr[i] = strTemp[j];
{Leabharlann i++;char string[MAX];
j++;
scanf("%s",string);
srcStr[i] = ' ';
Insert( string );
i++;
printf("%s",string);
#include<>
int fun(int n)
{ static int p=1;
int p=1;
p=p*n;
return p;
}
void main()
{ int n,i;
int f=0;
int f=1;
printf("input member: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
再输出调整后的数组。程序以文件名存盘。 #include<> #define N 10 void EXmaxmin(int a[],int n) //求最大数和最小数 { int i,j=0,k=0,t; int max,min; max=a[0]; min=a[0]; for(i=1;i<n;i++) if(max<a[i]) {max=a[i];j=i;} else if(min>a[i]) { min=a[i]; k=i;} t=a[j]; a[j]=a[k]; a[k]=t; } void main() { int i; int a[N]; printf("请输入%d 个整数:",N); for(i=0;i<N;i++) scanf("%d",&a[i]); printf("调整前的数组元素为:"); for(i=0;i<N;i++) printf("%5d",a[i]); printf("\n"); EXmaxmin(a,N); printf("调整后的数组元素为:"); for(i=0;i<N;i++) printf("%5d",a[i]); } (2)编写一函数,判断一字符串是否为回文。所谓“回文”是指顺读和倒读都一样的
#include <>
#include <>
void sub( char s[], char t[] )
{
int i, d;
d=strlen( s );
for( i=1; i< d ; i++ )
for( i=0; i< d ; i++ )
t[i]=s[d-1-i] ;
for( i=0; i<d; i++ )
#include <>
int sum( int x[], int n )
{
int i, s=0;
for ( i=0; i<n ; i++ )