C语言实验题目_c语言实验题目

2020-02-27 其他范文 下载本文

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语言学生管理系统综合性实验题目

“学生管理系统的设计与实现”综合性实验实验名称:学生管理系统的设计与实现实验类型:综合性实验一、实验目的强化学生对C语言的基本语法和基本编程技能的熟练掌握,并在此基础......

计算机网络实验题目

实验题目本学期网络实验的内容写8次,分别为:1.压接线的制作与测试(跳线的制作与测试内容可省略); 2,RCMS系统的熟悉。(RCMS系统即锐捷控制管理系统); 3,交换机的基本配置;4,虚拟局域网(单......

实验课题题目

大学生创业俱乐部VIP会员管理系统1.基于C/S模式的校园局域网网络聊天系统开发与设计2.计算机系考试综合题库管理系统的设计与实现3.《软件工程》精品课程网站的开发与实现4.......

《C语言实验题目.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言实验题目
点击下载文档
相关专题 c语言实验题目 题目 语言 c语言实验题目 题目 语言
[其他范文]相关推荐
[其他范文]热门文章
下载全文