C语言实验题目_c语言实验题目
C语言实验题目由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实验题目”。
求两个数之和。在两种情况下完成:
①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。②数据通过scanf()函数输入。静态输入:
#include void main(){ int a=1,b=2,s;s=a+b;printf(“这两个数的和是%dn”,s);} 动态输入:
#include void main(){ int a,b,s;printf(“请您输入两个数:”);scanf(“%d,%d”,&a,&b);s=a+b;printf(“这两个数的和是%dn”,s);}
设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。要求用scanf 输入数据,输出计算结果。#include void main(){ float r,h,l,s,sq,vz;float pi=3.1415926;printf(“请输入圆的半径r,圆柱高h:”);scanf(“%f,%f”,&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vz=pi*r*r*h;printf(“圆的周长为
l=%6.2fn”,l);printf(“圆的面积为
s=%6.2fn”,s);printf(“圆柱的表面积为
sq=%6.2fn”,sq);printf(“圆柱的体积为
vz=%6.2fn”,vz);}
输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。#include int max(int x,int y,int z){ int max;if(x>y){
if(x>z)
max=x;
else
max=z;} else {
if(y>z)
max=y;
else
max=z;} return(max);} void main(){ int max(int x,int y,int z);
int a,b,c,w;
printf(“请您输入三个整数:”);
scanf(“%d,%d,%d”,&a,&b,&c);
printf(“您输入的三个数是:%d,%d,%dn”,a,b,c);
w=max(a,b,c);
printf(“这三个数中最大的是:%dn”,w);}
给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。要求输入一个成绩并打印出对应的等级制成绩。要求用switch语句完成。#include void main(){ int grade,c;printf(“请您输入一个成绩:”);scanf(“%d”,&grade);while(grade>100||grade
printf(“您输入了一个错误的成绩!请重新输入n”);
scanf(“%d”,&grade);} c=grade/10;switch(c){ 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';} printf(“您输入的成绩的等级为:%Cn”,grade);}
计算当n为何值时,不等式sum=1 + 1/2 + 1/3 +… + 1/n >limit成立,输出n对应的sum(limit从键盘输入,要求用while、或do...while 语句,limit=10)。#include void main(){ float n=0,sum=0,limit=0;printf(“请输入一个limit的值:”);scanf(“%f”,&limit);while(sum
n++;
sum=sum+1/n;} printf(“此时sum的值是:%fn”,sum);printf(“此时n的值为%fn”,n);}
计算M=11+ 22+ 33+…+ NN,直到N等于15为止,输出N和对应的M。(要求用for语句做)
#include void main(){ int n;float M;M=0.0;for(n=1;n
M=M+(n+10*n);} for(n=10;n
M=M+(n+100*n);} n--;printf(“当n是%d时,M的值为%fn”,n,M);}
100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马一匹驮0.5担,计算大、中、小马数目并输出。#include void main(){ int big,mid,small,sum=0;for(big=0;big
for(small=0;small
for(mid=0;mid
{
if(3*big+2*mid+small/2==100&&big+mid+small==100)
{
printf(“big:%dt,mid:%dt,small:%dn”,big,mid,small);
sum++;
}
}
printf(“一共有%d种组合方式n”,sum);}
求 sum=1!+2!+3!+...+10!,并输出结果。#include void main(){ float s=0,t=1;int n;for(n=1;n
t=t*n;
s=s+t;} printf(“1!+2!+3!+...+10!的和是:%en”,s);} 注意该程序的结果为:1!+2!+3!+...+10!的和是:4.037913e+006 是以科学计数法表示的结果,因为int的定义范围只能以此表示,如果用long int来输出,则可以得到正常表示的结果 #include void main(){ long s=0,t=1;int n;for(n=1;n
t=t*n;
s=s+t;} printf(“1!+2!+3!+...+10!的和是:%ldn”,s);}
1!+2!+3!+...+10!的和是:4037913
设数列为1,3,5,7,9,11,13,15,17,19,动态输入在数组array中,然后顺序打印输出该数列,再逆序打印输出该数列。#include #define N 10 void main(){ int array[10];printf(“请您输入10个整数:n”);int i=0;for(i=0;i
scanf(“%d”,&array[i]);printf(“您输入的10个整数的顺序排列是:n”);for(i=0;i
printf(“%-4d”,array[i]);printf(“n”);printf(“您输入的10个整数的逆序排列是:n”);for(i=N-1;i>=0;i--)
printf(“%-4d”,array[i]);printf(“n”);}
将3x3阶二维数组的关于主对角线对称的元素互换。二维数组的第1至3行元素分别为1、2、3、4、5、6、7、8、9。用矩阵形式分别输出互换前、后的数组元素值。#include void main(){ int i,j,t,array[3][3]={1,2,3,4,5,6,7,8,9};printf(“Before Exchanged:n”);for(i=0;i
for(j=0;j
printf(“%5d”,array[i][j]);
printf(“n”);} for(i=1;i
for(j=0;j
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
printf(“After Exchanged:n”);
for(i=0;i
{
for(j=0;j
printf(“%5d”,array[i][j]);
printf(“n”);
} }
定义两个字符数组s1、s2,并用赋初值的方法把两个字符串“Computer”和“Language” 分别存放到s
1、s2中,要求不用库函数strcat(),把s2连接到s1的尾部,然后以%s格式输出连接后的字符串s1。#include void main(){
char s1[80],s2[40];
int i=0,j=0;
printf(”input string1:“);
scanf(”%s“,&s1);
printf(”input string2:“);
scanf(”%s“,&s2);
while(s1[i]!=' ')
i++;
s1[i]=' ';
i++;
while(s2[j]!=' ')
s1[i++]=s2[j++];
s1[i] = ' ';
printf(”The new string is:%sn“,s1);}
用赋初值的方法把字符串”C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.“存放到字符数组s中,编程统计其中的大写字母、小写字母、数字、空格、逗号的个数。#include void main(){
char s[512] = ”C is a general purpose, procedural, imperative “
”computer programming language developed in 1972 by Dennis“
”Ritchie at the Bell Telephone Laboratories for use with “
”the Unix operating system.“;int upper=0,lower=0,digit=0,space=0,comma=0;int i=0;while(s[i])
{
if(s[i]>='A'&&s[i]
if(s[i]>='a'&&s[i]
if(s[i]>='0'&&s[i]
if(s[i]==' ')space++;
if(s[i]==',')comma++;
i++;
}
printf(”这串字符串有大写字母%d个,小写字母%d个,数字%d个,空格%d个,逗号%d个n“,upper,lower,digit,space,comma);}
试从主函数输入10个数据到数组中,编写对偶数项求和的子函数,它将计算结果返回给主函数,由主函数输出。#include int oqh(int a[], int x){
int i,s;s=0;
for(i=1;i
s=s+a[i];
return(s);}
void main(){ int a[10];int i,s;printf(”请您在数组内输入10个数:“);for(i=0;i
scanf(”%d“,&a[i]);s=oqh(a,10);printf(”这个数组的偶数项的和是:%dn“,s);} 注意:oqh并无其他含义,是本人定义的一个函数名,偶数项求和的缩写。编写一个判断素数的程序,其中主函数用于完成输入一个整数并给出判断结果,单独编写一个函数用于判断其参数是否为素数,其返回值为1表示为素数,为0表示为非素数。#include #include int prime(int n){ int m,i=2,t;t=(int)sqrt(n);for(;i
if(n%i==0)
{
m=0;
break;
}
if(i>t)
m=1;
else
continue;} return(m);} void main(){ int n;int i;printf(”请输入你要判断的数:n“);scanf(”%d“,&n);while(n
printf(”您输入了一个错误的数据,请重新输入:n“);
scanf(”%d“,&n);} if(prime(n))
printf(”您输入的是一个素数n“);else
printf(”您输入的不是一个素数n“);
}
输入三个整数,按由小到大的顺序输出。(要求使用指针来排序输出)#include void sort(int *a,int *b,int *c){ int t=0;if(*a>*b){
t=*a;
*a=*b;
*b=t;} if(*a>*c){
t=*a;
*a=*c;
*c=t;} if(*b>*c){
t=*b;
*b=*c;
*c=t;} } void main(){ int a,b,c;printf(”请您输入三个整数:“);scanf(”%d %d %d“,&a,&b,&c);sort(&a,&b,&c);printf(”它们由小到大的排列顺序是:%d %d %dn“,a,b,c);}
或者是
#include void main(){
void swap(int *p1,int *p2);
int a,b,c;
int *p1,*p2,*p3;
printf(”请您输入三个整数:“);
scanf(”%d %d %d“,&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(a>b)swap(p1,p2);
if(a>c)swap(p1,p3);
if(b>c)swap(p2,p3);
printf(”它们由小到大的排列顺序是:%d %d %dn“,a,b,c);} void swap(int *p1,int *p2){
int p;
p=*p1;
*p1=*p2;
*p2=p;}
输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。#include void main(){
int list[10],i,*p=list;
printf(”请您输入10个整数:n“);
for(i=0;i
scanf(”%d“,&list[i]);
printf(”这10个整数的逆序序列是:n“);
for(i=9;i>=0;i--)
printf(”%-4d“,*(p+i));}
如果输入的数字个数不定的情况,下面的代码可行 #include void main(){ void sort(char *p,int m);int i,n;char *p,list[30];printf(”请您输入n的值:“);scanf(”%d“,&n);printf(”请您输入%d个整数:n“,n);for(i=0;i
scanf(”%d“,&list[i]);p=&list[0];sort(p,n);printf(”这%d个整数的逆序序列是:n“,n);for(i=0;i
printf(”%-4d“,list[i]);printf(”n“);} void sort(char *p,int m){ int i;char t,*p1,*p2;for(i=0;i
p1=p+i;
p2=p+(m-1-i);
t=*p1;
*p1=*p2;
*p2=t;} }
编写一个函数,它能对一个字符串(“I am a student”)测出长度,要求函数的形参是一个指针变量,函数返回值是字符串的长度。#include void main(){ int length(char *p);int len;char str[20];printf(”input string:“);gets(str);len=length(str);printf(”The length of string is %d.n“,len);} int length(char *p){ int n;n=0;while(*p!=' '){
n++;
p++;} //*p=' ';//n++;return(n);} 若要统计结果包含结束符,则启用*p=' ';n++;两条语句
编一个函数cstrcmp实现两个字符串的比较,具体为:
int cstrcmp(char *p1, char *p2)p1,p2分别指向字符串s1,s2;若s1=s2则函数返回0;若s1>s2,则函数返回1;若s1 #include char s1[20];char s2[20];void input(){ printf(”输入第1个字符串:n“);scanf(”%s“,s1);printf(”输入第2个字符串:n“);scanf(”%s“,s2);} int cstrcmp(char *p1,char *p2){ p1=s1;p2=s2;if(strcmp(p1,p2)==0){
return 0;} if(strcmp(p1,p2)>0){
return 1;} if(strcmp(p1,p2)
return-1;} } void main(){ char *a;char *b;input();printf(”这两个字符串比较的结果是:%dn“,cstrcmp(a,b));}
如果要求返回的是不相同字母的ASCII码值: #include void main(){ int cstrcmp(char *p1,char *p2);int m;char str1[20],char str2[20],*p1,*p2;printf(”请在下面输入两个字符串:n“);gets(str1);gets(str2);p1=&str1[0];p2=&str2[0];m=cstrcmp(p1,p2);printf(”这两个字符串比较的结果是:%dn“,m);} int cstrcmp(char *p1,char *p2){ int i;i=0;while(*(p1+i)==*(p2+i))
if(*(p1+i++)==' ')return(0);
return(*(p1+i)-*(p2+i));}
有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,用赋初值的方法输入5个学生的数据到结构体数组中,输出每个学生3门课的平均成绩。#include struct student
{ char num[6];
char name[8];int score[3];float avr;}stu[5]={{”101“,”Zhou“,93,89,87},{”102“,”Yang“,85,80,78},{”103“,”Chen“, 77,70,83},{”104“,”Qian“,70,67,60},{”105“,”Li“,72,70,69}};void main(){ int i,j,sum;for(i=0;i
{
sum=0;
for(j=0;j
sum+=stu[i].score[j];
stu[i].avr=sum/3.0;} printf(”number
name score1 score2 score3 averagen“);for(i=0;i
printf(”%3s%10s“,stu[i].num,stu[i].name);
for(j=0;j
printf(”%7d“,stu[i].score[j]);
printf(”%10.2fn“,stu[i].avr);} }
如果按平均成绩由高到低排序后,输出每个学生的成绩 #include struct student
{ char num[6];
char name[8];
int score[3];float avr;
}stu[5]={{”101“,”Zhou“,93,89,87},{”102“,”Yang“,85,80,78},{”103“,”Chen“, 77,70,83},{”104“,”Qian“,70,67,60},{”105“,”Li“,72,70,69}},temp;void main(){ int i,j,sum;
for(i=0;i
sum=0;
for(j=0;j
sum+=stu[i].score[j];
stu[i].avr=sum/3.0;} for(i=0;i
for(j=i;j
if(stu[j].avr
{
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
printf(”number
name score1 score2 score3 averagen“);
for(i=0;i
{
printf(”%3s%10s“,stu[i].num,stu[i].name);
for(j=0;j
printf(”%7d“,stu[i].score[j]);
printf(”%10.2fn",stu[i].avr);
} }
( 三)年级【实验题目】研究根的作用时间:3月13日【实验目的】会设计观察实验;知道根有吸收作用。 【实验器材】带根的的植物、试管、花生油。 【实验过程】1、在试管中加入适量......
实验一 Java语言概述【实验目的】1.掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。 2.熟悉Java应用程序的基本结构,并能联合编译应用程序所需要的类。......
“学生管理系统的设计与实现”综合性实验实验名称:学生管理系统的设计与实现实验类型:综合性实验一、实验目的强化学生对C语言的基本语法和基本编程技能的熟练掌握,并在此基础......
实验题目本学期网络实验的内容写8次,分别为:1.压接线的制作与测试(跳线的制作与测试内容可省略); 2,RCMS系统的熟悉。(RCMS系统即锐捷控制管理系统); 3,交换机的基本配置;4,虚拟局域网(单......
大学生创业俱乐部VIP会员管理系统1.基于C/S模式的校园局域网网络聊天系统开发与设计2.计算机系考试综合题库管理系统的设计与实现3.《软件工程》精品课程网站的开发与实现4.......
