C语言编程题目及答案分享

您所在的位置:网站首页 莆田养猪场出租电话 C语言编程题目及答案分享

C语言编程题目及答案分享

2024-07-05 08:15:29| 来源: 网络整理| 查看: 265

1.输入一个球的半径,计算这个球的表面积和体积,输出计算结果 #include const float PI=3.1415926; float mianji(float r){ float s; s = 4*PI*r*r; return s; } float tiji(float r){ float s; s = 4*PI*r*r*r/3; return s; } int main(){ float r,mianji_result,tiji_result; printf("请输入球的半径\n"); scanf("%f",&r); mianji_result= mianji(r); tiji_result= tiji(r); printf("球的面积为:%f\n",mianji_result); printf("球的体积为:%f\n",tiji_result); } 2.输入一个三角形的三条边长,判断这三条边能否构成直角三角形,输出计算结果 #include int main(){ printf("请输入三角形三条边长:"); int a,b,c; scanf("%d,%d,%d",&a,&b,&c); if((a+b>c) && (a+c>b) && (b+c)>a){ if((a*a == b*b + c*c) || (b*b == a*a +c*c) || (c*c == a*a + b*b)) { printf("可以构成直角三角形"); }else{ printf("不能构成直角三角形"); } } else { printf("不能构成三角形"); } return 0; } 3.根据公式pi/4 = 1-1/3+1/5-1/7+1/9-1/11+…,计算pi的近似值,当最后一项的绝对值小于0.000001为止

注意别丢精度

#include #include int main(){ int m=1; float f = 1.0f; double sum=0; while((f/m)>0.000001 || (f/m) char name[10]; int score; }; int main() { struct student a[n]; struct student buf; int i,j; for(i=0;i for(j=0;j buf = a[j]; a[j] = a[j+1]; a[j+1] = buf; } } } for(i=0;i int f=1; for(int i=2;i f=0; break; } } return f; } int main(){ int i; printf("输出2-1000之内的素数\n"); for(i=2;i printf("%d\n",i); } } // return 0; } 6.输入一个圆的半径r,输出这个圆的直径、周长、面积计算结果 #include #define pi 3.1415926 float diameter(float r) //直径 { float diameter ; diameter= 2*r; return diameter; } float perimeter(float r) //周长 { float perimeter; perimeter = 2*pi*r; return perimeter; } float area(float r) //面积 { float area; area = pi*r*r; return area; } int main(){ printf("请输入一个圆的半径:"); float r,diameter_result,perimeter_result,area_result; scanf("%f",&r); diameter_result = diameter(r); perimeter_result = perimeter(r); area_result = area(r); printf("直径为:%f",diameter_result); printf("周长为:%f",perimeter_result); printf("面积为:%f",area_result); return 0; } 7.判断输入的正整数是否既是5又是7的整倍数。如果是,输出“yes”;如果不是输出“no” #include int main(){ int num; printf("请输入一个正整数"); scanf("%d",&num); while(num printf("yes"); }else{ printf("no"); } return 0; } 8.键盘输入一个正整数,计算1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)的值 #include int main(){ printf("请输入一个正整数:"); int num; int i; int j=1; float sum=1; scanf("%d",&num); for(i=0;i int a[m][n]; int a1[n][m]; for(int i=0;i scanf("%d",&a[i][j]); } } printf("\n"); for(int i=0;i printf("%d\t",a[i][j]); } printf("\n"); } printf("\n"); for(int i=0;i a1[i][j] = a[j][i]; } } for(int i=0;i printf("%d\t",a1[i][j]); } printf("\n"); } return 0; } 10.设计一个判别素数的函数,在主函数中输入两个正整数,判断这两数之和是否是素数 //设计一个判别素数的函数,在主函数中输入两个正整数,判断两数之和是否是素数 #include int panduan(int num){ int f=1; for(int i=2;i f=0; break; } } return f; } int main(){ printf("输入两个素数:\n"); int m,n,num; scanf("%d%d",&m,&n); if((m>0 && m%1==0) && (n>0 && n%1==0)){ num = m+n; if(panduan(num)==1){ printf("%d是素数",num); }else if(panduan(num) ==0){ printf("%d不是素数",num); } }else{ printf("输入不合理"); } return 0; } 11.输入梯形的上底、下底和高,计算梯形的面积,输出计算结果 //输入梯形的上底、下底和高,计算梯形的面积,输出计算结果 #include int main(){ int a,b,c; printf("梯形面积公式:(上底+下底)*高/2\n"); printf("输入上底:\n"); scanf("%d",&a); printf("输入下底:\n"); scanf("%d",&b); printf("输入高:\n"); scanf("%d",&c); float f; f=(a+b)*c/2.0; printf("梯形的面积为:\n"); printf("%.2f",f); } 12.首先输入一个点A的平面坐标,再输入一个矩阵的左上角和右下角平面坐标,判断这个点A在矩阵的内部、外部还是边上,输出计算结果 //首先输入一个点A的平面坐标,再输入一个矩阵的左上角和右下角平面坐标,判断这个点A在矩阵的内部、外部还是边上,输出计算结果 #include int judge(int a,int b,int c,int d,int e,int f){ int result; if(ac&&b>f&&b result = 2; }else { result = 3; } return result; } int main(){ printf("输入点坐标与矩阵左上角、右下角坐标,判断点的位置\n"); printf("\n"); int a,b; printf("输入点A的坐标位置:\n"); scanf("%d%d",&a,&b); printf("\n"); int c,d; printf("输入矩阵左上角位置:\n"); scanf("%d%d",&c,&d); printf("\n"); int e,f; printf("输入矩阵右下角位置:\n"); scanf("%d%d",&e,&f); printf("\n"); int result; result = judge(a,b,c,d,e,f); if(result == 1){ printf("在矩阵内部\n"); }else if (result == 2){ printf("在矩阵边上\n"); }else if (result == 3){ printf("在矩阵外部\n"); } } 13.输入1980年1月1日至2099年12月31日之间的任一年月日,求该日期为该年的第几天 //输入1980年1月1日至2099年12月31日之间的任一年月日,求该日期为该年的第几天 //能被4整除而不能被100整除的、能被400整除的年份都是闰年 #include int main(){ printf("请输入1980年1月1日至2099年12月31日之间的任一年月日,来判断是该年的第几天\n"); int year,month,day,sum,result; scanf("%d%d%d",&year,&month,&day); if(year2099){ printf("输入不合规,请输入1980年1月1日至2099年12月31日之间的任一年月日"); }else if(year>=1980 || year31,28,31,30,31,30,31,31,30,31,30,31}; //判断闰年 if((year%4==0&&year%100!=0) || (year%400)==0){ days[1]=29; } for(int i=0;i int a[3][3]; int a1[3][3]; int he[3][3]; //输入第一个矩阵 printf("输入第一个3*3的矩阵:\n"); for(int i=0;i scanf("%d",&a[i][j]); } } printf("\n"); //输入第二个矩阵 printf("输入第二个3*3的矩阵:\n"); for(int i=0;i scanf("%d",&a1[i][j]); } } printf("\n"); //输入和矩阵 printf("和矩阵为:\n"); for(int i=0;i he[i][j] = a[i][j] + a1[i][j]; printf("%d ",he[i][j]); } printf("\n"); } return 0; } 15.求a的平方根的迭代公式为下图,设计一自定义求平方根函数,并用此函数输出1到100的平方根

(题目中有一处条件未给,该判断应误差在1e-5或1e-6这个范围)(这里要注意判断abs和fabs函数的区别,abs返回整数,fabs返回浮点型) 在这里插入图片描述

//求1-100以内的数字的平方根 #include #include double determine(int a) { double x=1,x1; do { x1=x; x=(x1+a/x1)/2.0; }while(fabs(x-x1)>1E-6); // printf("%.3f",x); return x; } int main() { double num; printf("输出1-100以内的数字的平方根\n"); for (int i=1;i printf("1千克=2.2046226磅,根据这个换算条件,输入物体的质量(以千克为单位),计算物体有多少磅\n"); int num; float result; printf("\n"); printf("请输入物体质量:\n"); scanf("%d",&num); result = num * 2.2046226; printf("\n"); printf("该物体有%f磅\n",result); return 0; } 17.输入一个日期,计算该日期是该年度第几天,输出计算结果 //输入一个日期,计算该日期是该年度第几天,输出计算结果 #include int main() { printf("输入一个日期,判断该日期是该年度的第几天\n"); printf("\n"); int year,month,day; int days[]={31,28,31,30,31,30,31,31,30,31,30,31}; scanf("%d%d%d",&year,&month,&day); if( (year%4==0 && year%100!=0) || (year%400==0)){ days[1]=29; printf("闰年\n"); } int sum = 0; for(int i=0;i printf("输入%d个数:\n",N); int i,x,a[N]; int sum = 0; for(int i=0;i sum1 = sum1 + (a[i]-avg)*(a[i]-avg); printf("sum1=%f\n",sum1); } printf("sum1=%f\n:",sum1); float result; result = sqrt(sum1/N); printf("标准差为:%f",result); return 0; } 19. 今重复输入一个正数,按照升序规律把这个数插入到数组中,输出这个数组的所有数,直到输入一个负数停止 #include int main() { int arr[100]; // 声明一个长度为100的数组 int num,j; int i=0; // 循环输入正数并插入数组中 for (i = 0; ; i++) { scanf("%d", &num); if (num arr[j] = arr[j-1]; } arr[j] = num; // 插入当前输入数 } // 输出数组中的所有数 for (i = 0; i int temp = data; int i,j,mid; char ctemp; for(i=0;i buf[i] = '1'; }else{ buf[i] = '0'; } temp = temp/2; if(!temp){ break; } } //将字符串逆序 mid = N/2; i = n; for(j=0;j int i,data; char buf[N+1]; buf[N+1] = '\0'; for(i=0;i printf("请输入要转换的正确的正整数:\n"); scanf("%d",&data); } memset(buf,'0',N+1);//每次运行对buf进行初始化 printf("%s\n",buf); Convert(buf,N,data); printf("正整数%d转换成二进制的字符串为:%s\n",data,buf); } return 0; } 21.从键盘输入四个数,求四个数的总和以及平均数 //从键盘输入四个数,求四个数的总和以及平均数 #include int main(){ int a[4]; int num = 0; printf("输入四个数:\n"); for(int i=0;i num = num + a[i]; } int avg_num; avg_num = num/4; printf("四个数的总和为%d\n",num); printf("四个数的平均数为%d\n",avg_num); return 0; } 22. 判断方程有几个根 //判断方程有几个根 #include #include int main(){ float a,b,c,x1,x2,m,p,q; printf("输入三个值:\n"); scanf("%f,%f,%f",&a,&b,&c); if(a==0&&b==0&&c==0){ printf("x为任意值\n"); }else if(a==0&&b!=0){ x1 = x2 = -c/b; printf("x1=x2=%f\n",x1); printf("方程有一个根\n"); }else{ m = b*b-4*a*c; if(m>=0){ x1 = (-b+sqrt(m))/(2*a); x2 = (-b-sqrt(m))/(2*a); printf("x1:%f;x2:%f\n",x1,x2); printf("方程有两个根"); }else{ p = -b/(2*a); q = sqrt(-m)/(2*a); printf("x1=%f+%fi\n",p,q); printf("x2=%f-%fi\n",p,q); printf("方程没有实根,有两个虚根"); } } } 23.根据公式求pai的近似值

在这里插入图片描述

//根据公式求PI的近似值 #include double countPI(double esp){ double num =1; double s = 0; double m = 1; do{ s = s + num; num = num*m/(2*m+1); m++; }while(num>esp); return (2*s); } int main(){ printf("请输入一个误差值:\n"); double esp,num; scanf("%f",&esp); num = countPI(esp); printf("PI的近似值为:%f\n",num); return 0; } 24.求3*3矩阵每行最大最小值 //求3*3矩阵每行的最大值最小值 #include int const m=3; int const n=3; int sort_bubble(int a1[],int length,int i){ int temp; for(int m=0;m if(a1[n] int a[n][m]; int a1[n]; printf("输入一个%d*%d的矩阵:\n",m,n); for(int i=0;i scanf("%d",&a[i][j]); } } for(int i=0;i a1[j] = a[i][j]; } sort_bubble(a1,m,i); } } 25.求1-1000之间的完数 //求1-1000之间的完数 //例如6=1+2+3,6就是一个完数 #include int main(){ printf("输出1-1000之间的完数:\n"); for(int i=1;i if(i%j==0){ num += j; } } if(num == i){ printf("%d是完数\n",num); } } return 0; } 26.按照题目要求从键盘输入乘车的起步价以及行车公里数,输出车费

某市有三种不同起步价的出租车,它们的起步价和计费分别为: 起步价4元,3km以外,1.2元/km 起步价5元,3km以外,1.5元/km 起步价6元,3km以外,1.8元/km

27.N为样本个数,输入20个数,计算这20个数的标准差,输出计算结果(重复) 28.输入20个不同的正整数,计算奇数偶数个数,依次将偶数、奇数按照升序输出 #include void PX(int a[], int sz) { for (int i = 0;i if (a[j] > a[j + 1]) { int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } } int main() { int a[10]; int sz = sizeof(a) / sizeof(a[0]); int j = 0, o = 0; printf("请输入10个整数:"); for (int i = 0;i //判断奇偶数个数 if (a[i] % 2 == 0) o++; else j++; } for (int i = 0;i if (a[i] % 2 == 0) printf("%d是偶数\n", a[i]); } printf("奇数个数为:%d ", j); printf("偶数个数为:%d\n", o); return 0; } 29.键盘输入20个学生的姓名、学号、成绩,按成绩从大到小的顺序输出这20个学生的姓名、学号、成绩(使用结构体) //键盘输入20个学生的姓名、学号、成绩,按照成绩从大到小的顺序输出这20个学生的姓名、学号、成绩 #include int const n = 10; struct student { char name[10]; int number; int score; }; int main(){ struct student a[n]; struct student stu; printf("输入20个学生的姓名、学号、成绩,按照成绩从大到小输出学生信息\n"); for(int i=0;i for(int j=0;j stu = a[j]; a[j] = a[j+1]; a[j+1] = stu; } } } for(int i=0;i //种树区间的结构体 int str; int end; int num; }que[5100]; int book[31000]; int cmp(struct note a,struct note b) { return a.end //从后往前遍历区间 for(int k=que[i].end;k>=que[i].str;k--) { //如果这个建议区间需种树为0,则结束 if(que[i].num==0) break; //如果这个点已种树,将需要种树的数减1 if(book[k]==1) que[i].num--; } //遍历每个建议,查看区间需要种多少树 for(int j=que[i].end;j>=que[i].str;j--) { if(que[i].num==0) break; //如果这个点未种树,则种上树 if(book[j]==0) { book[j]=1; que[i].num--; } } } //查看种了多少树 for(int i=1;i int a = 0; int n = 0; int sum = 0; int result = 0; int m = 1; scanf("%d %d", &a, &n); int i = 0; for (i = 1; i char name[15]; char tele[15]; }t,user[30]; int main() { int n; int i; int l; scanf("%d",&n); for(i = 0; i for(j = 0; j char temp[10]; char t[10]; strcpy(temp,user[j].name); strcpy(t,user[j].tele); strcpy(user[j].name,user[j+1].name); strcpy(user[j].tele,user[j+1].tele); strcpy(user[j+1].name,temp); strcpy(user[j+1].tele,t); } } } for(i = 0; i l = 10; } user[i].name[l] = '\0'; l = strlen(user[i].tele); if(l>=10) { l = 10; } user[i].tele[l] = '\0'; printf("%12s%12s\n",user[i].name,user[i].tele); } return 0; } 33.对于一个长度为n的字符串S,首先根据它构造几个字符串,其中第i个字符串将S的前i-1个字符置于末尾,得到(例如,China,长度为5,可以构成china,hinaC,inaCh,aChin,naChi),按照首字符从小到大排序,如果相同,则按照它们在S中位置从小到大排序,排序后的尾字符组成一个新的字符S1,它的长度也是n,并且包含了S中的每一个字符,最后输出S1以及S的首字符在S1中的位置P

输入格式: 输入文件file.txt包含两行,第一行是一个正数n(1 return false; }else{ for(int i=2;i*i return false; } } return true; } } void decompose(int n){ int p=2; printf("%d=",n); while(n>1){ if(is_prime(p)&&n%p==0){ printf("%d",p); n/=p; if(n>1){ printf("*"); } } else{ p++; } } printf("\n"); } int main(){ for(int i=2;i printf("%d is as prime\n",i); }else{ printf("%d is not a prime\n",i); decompose(i); } } return 0; } 35.养猪场老板想随时知道自己猪场里有多少头猪,猪场学徒提出这样的问题:假设有16头猪,建3个猪圈,就剩下1头猪没有地方安家,建5个猪圈,就剩下1头猪没有地方安家,建7个猪圈,就剩2头猪没有地方安家,计算养猪场有多少头猪

输入 第一行 n 建猪圈次数 第n行 每行两个整数ai,bi…:a1~an互质 输出包含一个正整数,至少养猪的数目

#include int main() { int n; scanf("%d",&n); int a[n][2]; int i,j,k=0; for(i=0;i scanf("%d",&a[i][j]); } } for(i=3;;i++){ for(j=0;j k++; } } if(k==n){ printf("%d",i); break; } else{ k=0; } } return 0; } 36.水仙花数 //导入头文件 #include #include //主函数 int main(){ int i,j,k,n,sumi,sumj,sumk;//定义7个整型数据 printf("\n100-1000 包含的“水仙花”数分别有: \n\n"); for(n=100;n printf("%-5d",n);//输出 水仙花数 } } printf("\n");//换行 return 0; }


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭