当前位置:首页 >> 其它课程 >> C语言实验题目()

C语言实验题目()


求两个数之和。在两种情况下完成: ① 数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。 ② 数据通过 scanf( )函数输入。 静态输入: #include <stdio.h> void main() { int a=1,b=2,s; s=a+b; printf("这两个数的和是%d\n",s); } 动态输入: #include <

stdio.h> void main() { int a,b,s; printf("请您输入两个数:"); scanf("%d,%d",&a,&b); s=a+b; printf("这两个数的和是%d\n",s); } 设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。要求用 scanf 输 入数据,输出计算结果。 #include <stdio.h> 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.2f\n",l); printf("圆的面积为 s=%6.2f\n",s); printf("圆柱的表面积为 sq=%6.2f\n",sq); printf("圆柱的体积为 vz=%6.2f\n",vz); } 输入 a、b、c 三个整数,求出其中最大者,并连同三个源数据一起输出。 #include <stdio.h> 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,%d\n",a,b,c); w=max(a,b,c); printf("这三个数中最大的是:%d\n",w); } 给出一个百分制成绩,要求输出成绩等级 A、B、C、D、E。90 分以上为 A,80-89 分为 B, 70-79 分为 C,60-69 分为 D,60 分以下为 E。要求输入一个成绩并打印出对应的等级制 成绩。要求用 switch 语句完成。 #include <stdio.h> void main() { int grade,c; printf("请您输入一个成绩:"); scanf("%d",&grade); while(grade>100||grade<0) { 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("您输入的成绩的等级为:%C\n",grade); } 计算当 n 为何值时,不等式 sum=1 + 1/2 + 1/3 +… + 1/n >limit 成立,输出 n 对应的 sum(limit 从键盘输入,要求用 while、或 do... while 语句,limit=10) 。 #include <stdio.h> void main() { float n=0,sum=0,limit=0; printf("请输入一个 limit 的值:"); scanf("%f",&limit); while (sum<=limit) { n++; sum=sum+1/n; } printf("此时 sum 的值是:%f\n",sum); printf("此时 n 的值为%f\n",n); } 计算 M=11+ 22+ 33+…+ NN,直到 N 等于 15 为止,输出 N 和对应的 M。 (要求用 for 语句 做) #include <stdio.h> void main() { int n; float M; M=0.0; for(n=1;n<10;n++) { M=M+(n+10*n); } for(n=10;n<=15;n++) { M=M+(n+100*n);

} n--; printf("当 n 是%d 时,M 的值为%f\n",n,M); } 100 匹马驮 100 担货,大马一匹驮 3 担,中马一匹驮 2 担,小马一匹驮 0.5 担,计算大、中、 小马数目并输出。 #include <stdio.h> void main() { int big,mid,small,sum=0; for(big=0;big<33;big++) for(small=0;small<100;small+=2) for(mid=0;mid<50;mid++) { if(3*big+2*mid+small/2==100&&big+mid+small==100) { printf("big:%d\t,mid:%d\t,small:%d\n",big,mid,small); sum++; } } printf("一共有%d 种组合方式\n",sum); } 求 sum=1!+2!+3!+...+10! ,并输出结果。 #include <stdio.h> void main() { float s=0,t=1; int n; for(n=1;n<=10;n++) { t=t*n; s=s+t; } printf("1!+2!+3!+...+10!的和是:%e\n",s); } 注意该程序的结果为:1!+2!+3!+...+10!的和是:4.037913e+006 是以科学计数法表示的结果,因为 int 的定义范围只能以此表示,如果用 long int 来输出, 则可以得到正常表示的结果 #include <stdio.h> void main() { long s=0,t=1;

int n; for(n=1;n<=10;n++) { t=t*n; s=s+t; } printf("1!+2!+3!+...+10!的和是:%ld\n",s); } 1!+2!+3!+...+10!的和是:4037913 设数列为 1,3,5,7,9,11,13,15,17,19,动态输入在数组 array 中,然后顺序打印 输出该数列,再逆序打印输出该数列。 #include <stdio.h> #define N 10 void main() { int array[10]; printf("请您输入 10 个整数:\n"); int i=0; for(i=0;i<N;i++) scanf("%d",&array[i]); printf("您输入的 10 个整数的顺序排列是:\n"); for(i=0;i<N;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 <stdio.h> 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<3;i++) { for(j=0;j<3;j++) printf("%5d",array[i][j]); printf("\n");

} for(i=1;i<3;i++) for(j=0;j<i;j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } printf("After Exchanged:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",array[i][j]); printf("\n"); } } 定义两个字符数组 s1、s2,并用赋初值的方法把两个字符串"Computer"和"Language” 分别 存放到 s1、s2 中,要求不用库函数 strcat( ),把 s2 连接到 s1 的尾部,然后以%s 格式输出连 接后的字符串 s1。 #include <stdio.h> 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]!='\0') i++; s1[i]=' '; i++; while(s2[j]!='\0') s1[i++]=s2[j++]; s1[i] = '\0'; printf("The new string is:%s\n",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 <stdio.h>

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]<='Z')upper++; if(s[i]>='a'&&s[i]<='z')lower++; if(s[i]>='0'&&s[i]<='9')digit++; if(s[i]==' ')space++; if(s[i]==',')comma++; i++; } printf("这串字符串有大写字母%d 个, 小写字母%d 个, 数字%d 个, 空格%d 个, 逗号%d 个\n",upper,lower,digit,space,comma); } 试从主函数输入 10 个数据到数组中,编写对偶数项求和的子函数,它将计算结果返回给主 函数,由主函数输出。 #include <stdio.h> int oqh(int a[], int x) { int i,s; s=0; for(i=1;i<x;i+=2) s=s+a[i]; return(s); } void main() { int a[10]; int i,s; printf("请您在数组内输入 10 个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); s=oqh(a,10); printf("这个数组的偶数项的和是:%d\n",s); } 注意:oqh 并无其他含义,是本人定义的一个函数名,偶数项求和的缩写。

编写一个判断素数的程序, 其中主函数用于完成输入一个整数并给出判断结果, 单独编写一 个函数用于判断其参数是否为素数,其返回值为 1 表示为素数,为 0 表示为非素数。 #include <stdio.h> #include <math.h> int prime(int n) { int m,i=2,t; t=(int)sqrt(n); for(;i<=t;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<=1) { printf("您输入了一个错误的数据,请重新输入:\n"); scanf("%d",&n); } if(prime(n)) printf("您输入的是一个素数\n"); else printf("您输入的不是一个素数\n"); } 输入三个整数,按由小到大的顺序输出。 (要求使用指针来排序输出) #include <stdio.h> 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 %d\n",a,b,c); } 或者是 #include <stdio.h> 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 %d\n",a,b,c); } void swap(int *p1,int *p2) { int p; p=*p1; *p1=*p2; *p2=p; } 输入十个整数,放在数组 list 中,然后用指针法从后向前输出该数组中的整数。 #include <stdio.h> void main() { int list[10],i,*p=list; printf("请您输入 10 个整数:\n"); for(i=0;i<10;i++) scanf("%d",&list[i]); printf("这 10 个整数的逆序序列是:\n"); for(i=9; i>=0;i--) printf("%-4d",*(p+i)); } 如果输入的数字个数不定的情况,下面的代码可行 #include <stdio.h> 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<n;i++) scanf("%d",&list[i]); p=&list[0]; sort(p,n); printf("这%d 个整数的逆序序列是:\n",n); for(i=0;i<n;i++) printf("%-4d",list[i]); printf("\n"); } void sort(char *p,int m) {

int i; char t,*p1,*p2; for(i=0;i<m/2;i++) { p1=p+i; p2=p+(m-1-i); t=*p1; *p1=*p2; *p2=t; } } 编写一个函数,它能对一个字符串(“I am a student”)测出长度,要求函数的形参是一个指 针变量,函数返回值是字符串的长度。 #include <stdio.h> 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!='\0') { n++; p++; } //*p='\0'; //n++; return(n); } 若要统计结果包含结束符,则启用*p='\0';n++;两条语句 编一个函数 cstrcmp 实现两个字符串的比较,具体为: int cstrcmp(char *p1, char *p2) p1,p2 分别指向字符串 s1,s2;若 s1=s2 则函数返回 0;若 s1>s2,则函数返回 1;若 s1<s2,则函 数返回-1。声明字符串 s1,s2 时对其进行初始化。

#include <stdio.h> #include <string.h> 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)<0) { return -1; } } void main() { char *a;char *b; input(); printf("这两个字符串比较的结果是:%d\n",cstrcmp(a,b)); } 如果要求返回的是不相同字母的 ASCII 码值: #include <stdio.h> 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("这两个字符串比较的结果是:%d\n",m); } int cstrcmp(char *p1,char *p2) { int i; i=0; while(*(p1+i)==*(p2+i)) if(*(p1+i++)=='\0')return(0); return(*(p1+i)-*(p2+i)); } 有 5 个学生,每个学生的数据包括学号、姓名、3 门课的成绩,用赋初值的方法输入 5 个学 生的数据到结构体数组中,输出每个学生 3 门课的平均成绩。 #include <stdio.h> 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<5;i++) { sum=0; for(j=0;j<3;j++) sum+=stu[i].score[j]; stu[i].avr=sum/3.0; } printf("number name score1 score2 score3 average\n"); for(i=0;i<5;i++) { printf("%3s%10s",stu[i].num,stu[i].name); for(j=0;j<3;j++) printf("%7d",stu[i].score[j]); printf("%10.2f\n",stu[i].avr); }

} 如果按平均成绩由高到低排序后,输出每个学生的成绩 #include <stdio.h> 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<5;i++) { sum=0; for(j=0;j<3;j++) sum+=stu[i].score[j]; stu[i].avr=sum/3.0; } for(i=0;i<4;i++) for(j=i;j<4;j++) if(stu[j].avr<stu[j+1].avr) { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } printf("number name score1 score2 score3 average\n"); for(i=0;i<5;i++) { printf("%3s%10s",stu[i].num,stu[i].name); for(j=0;j<3;j++) printf("%7d",stu[i].score[j]); printf("%10.2f\n",stu[i].avr); } }


更多相关文档:

c语言上机实验题

c语言上机实验题_其它_高等教育_教育专区。扬大上机实验题整理1.下列程序中,要求 main 函数实现如下功能:从键盘上输入三个正整数,求出它们中 的最大值。 请完善...

C语言实验题目及答案

C语言实验题目及答案 学C的朋友们加油学C的朋友们加油隐藏>> 1. 题目:企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%; 利润高于 ...

C语言实验题目()

C语言实验题目(上) 6页 1财富值 C语言实验题目 2010 4页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...

大一C语言上机实验试题及答案

大一C语言上机实验试题及答案_电脑基础知识_IT/计算机_专业资料。大一c语言基础实验一 上机操作初步(2 学时) 一、实验方式:一人一机 实验方式: 方式 实验目的: ...

c语言实验题目总结

c语言实验题目总结_学习总结_总结/汇报_应用文书 暂无评价|0人阅读|0次下载|举报文档 c语言实验题目总结_学习总结_总结/汇报_应用文书。1.编写 power 函数,该...

C语言常见、经典的上机实验题目

C语言常见、经典的上机实验题目_工学_高等教育_教育专区。C语言常见、经典的上机实验题目 3.3 常见、经典的上机实验题目 常见、 1、 /*功能:数组 x 有十个...

c语言实验习题及答案详解

2011_C语言实验与习题(答... 92页 免费 C语言入门至精通(全集) 533页 1下载券c​语​言​实​验​习​题​及​答​案​详​解 ...

C语言实验题目

“This is a C programn .\n”); printf(“***\n”); } 实验项目二 数据类型、运算符、表达式 题目 (1)程序填空:输入 1 个实数 x,计算并输出其平方...

2014湖南大学c语言实验题目及其答案 (5)

2014湖南大学c语言实验题目及其答案 (5)_IT认证_资格考试/认证_教育专区。第五章 文件 一.目的和要求 1、掌握文件的基本概念,如:文件的输入/输出的基本概念、文...

c语言学习上机实验题5

c语言学习上机实验题,比较简单适合初学者!c语言学习上机实验题,比较简单适合初学者!隐藏>> 实验五一.实验目的 函数程序设计(一) 1. 掌握程序中函数的基本操作方法...
更多相关标签:
c语言题目 | c语言编程题目 | c语言面试题目 | c语言课程设计题目 | c语言毕业设计题目 | c语言编程题目及答案 | c语言竞赛编程题目 | c语言基础题目 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com