C语言实验题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else length=28; } printf("%d",length); return 0; }
整数位
题目描述:输入一个不多于 5 位的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字。
输入:输入一个不多于 5 位的正整数。
-5
输出:输出数据有 3 行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。
{if(a>c) m=a;else {if(b>c) printf("%d",m); return 0; }
-4
m=c;else m=c;else
m=a;}} m=b;}}
某年某月的天数
题目描述:输入年和月,判断该月有几天?
输入:输入年和月,格式为年\月
输出:输出该月的天数。
样例输入:2009\1
样例输出:75
代码:
#include<stdio.h> int main() {int a[10][10]; int i,j,n,s=0; scanf("%d",&n); for(i=0;i<n;i++) {for(j=0;j<n;j++) scanf("%d",&a[i][j]);} for(i=0;i<n;i++) {for(j=0;j<=i;j++)
矩阵转置
题目描述:输入 N*N 的矩阵,输出它的转置矩阵。
输入:第一行为整数 N(1≤N≤100)。 接着是一个 N*N 的矩阵。
输出:转置矩阵。
-8
样例输入: 2 12 12
样例输出: 1 1
22
代码:#include<stdio.h> int main() {int a[100][100]; int b[100][100],i,j,n; scanf("%d", &n); for(i=0;i<n;i++) {for(j=0;j<n;j++) {scanf("%d",&a[i][j]); b[j][i]=a[i][j];} } for(i=0;i<n;i++) {for(j=0;j<n;j++) printf("%d ",b[i][j]); printf("\n");} return 0; }
-6
printf("%d %d %d\n",indiv,ten,hundred); break; case 2: printf("%d %d\n",ten,indiv); printf("%d %d\n",indiv,ten); break; case 1: printf("%d\n",indiv); printf("%d\n",indiv); break;} return 0; }
样例输出:6.28 3.14 12.57 6.28
提示:圆周率定义为 3.1415926。
-3
代码:# define pie 3.1415926 int main() {
float h,r,l,s1,s2,v; scanf("%f %f",&r,&h); l=2.0*pie*r; s1=pie*r*r; s2=l*h; v=s1*h; printf("%.2f %.2f %.2f %.2f",l, return 0; }
s=s+a[i][j];}printf("%d",s);return 0; }
单词统计
题目描述:从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入:输入只有一行句子。仅有空格和英文字母构成。
输出:单词的个数。
样例输入:stable marriage problem Consists of Matching members
输入:输入三边 a、b、c
输出:输出面积,保留 3 位小数。
样例输入:1 2 2.5
样例输出:0.950
代码:int main() {
float f,c; scanf("%f",&f); c=5*(f-32)/9; printf("%.2f",c); return 0; }
一元二次方程
题目描述:解一元二次方程 ax2+bx+c=0 的解。
代码:#include<stdio.h> int main() {char a[80]; int i; scanf("%s",a); for(i=0;i<strlen(a);i++) { if((a[i]>='A')&&(a[i]<='Z')||((a[i]>='a')&&(a[i]<='z'))) printf("%c",a[i]);} return 0; }
两个数比较
题目描述:求 2 个数中较大者。
输入:第一行为测试的数据组数 N,接下来的 N 行分别是两个待比较的整数
输出:输出 N 行,每一行的值为每组数中较大的整数
样例输入:2 12
15 10
样例输出:2 15
代码:#include<stdio.h> int main() {int n,a,b,max; scanf("%d",&n); do {scanf("%d %d",&a,&b); max=(a>b)?a:b;
-7
printf("%d\n",max); }while(--n); return 0; }
保留字母
题目描述:编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。
输入:一个字符串,长度不超过 80 个字符。
输出:删掉非英文字母后的字符串。
样例输入:abc123+xyz.5
样例输出:abcΒιβλιοθήκη Baiduyz
printf("%d %d %d %d %d\n",indiv,ten,hundred,thousand,ten_thousand); break; case 4: printf("%d %d %d %d\n",thousand,hundred,ten,indiv); printf("%d %d %d %d\n",indiv,ten,hundred,thousand); break; case 3: printf("%d %d %d\n",hundred,ten,indiv);
输出:输出数据只有一个,即摄氏温度,保留 2 位小数。
样例输入:32.0
样例输出:0.00
-1
代码:int main() {
float f,c; scanf("%f",&f); c=5*(f-32)/9; printf("%.2f",c); return 0; }
三角形面积
题目描述:已知三角形的边长 a、b 和 c,求其面积。
样例输出:31
代码: #include<stdio.h> int main() {int y,m,length; scanf("%d\\%d",&y,&m); if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) length=31; else if(m==4||m==6||m==9||m==11) length=30; else if(m==2) {if((y%4==0&&y%100!=0)||(y%400==0)) length=29;
圆柱体计算
题目描述:已知圆柱体的底面半径 r 和高 h,计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积。
输入:输入数据有一行,包括 2 个正实数 r 和 h,以空格分隔。
输出:输出数据一行,包括圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积,以空格分开,所有数据均保留 2 位小数。
样例输入:1 2
素数
题目描述:输出 100->200 之间的素数的个数,以及所有的素数。
输入:无
输出:100->200 之间的素数的个数,以及所有的素数。
样例输入:无
样例输出:
-9
21 101 103 ... 197 199
代码:#include<math.h> int main() { int m,k,i,j,a[100],n=0; j=0; for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break; if(i>=k+1) {a[j]=m; n=n+1;j++;} } printf("%d\n",n); for(j=0;j<n;j++) { printf("%4d",a[j]);} return 0; }
输入:a,b,c 的值。
-2
输出:两个根 X1 和 X2,其中 X1>=X2。。 结果保留两位小数。
样例输入:1 5 -2
样例输出:0.37 -5.37
代码:# include<math.h> int main() {
float a,b,c,disc,p,q,x1,x2; scanf("%f %f %f",&a,&b,&c); disc=b*b-4*a*c; p=-b/2*a; q=sqrt(disc)/2*a; x1=p+q;x2=p-q; printf("%.2f %.2f",x1,x2); return 0; }
C 语言实验题
1. 买糖果
题目描述:小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果 3 角钱一块,爸爸给小瑜 n 元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?
输入:输入爸爸给小瑜的钱 n 元,n 为整数。 输出:小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用空格分隔。
样例输入 2 样例输出 6 2
代码:int main() {
int n,a,b; scanf("%d",&n); a=10*n/3; b=10*n%3; printf("%d %d",a,b); return 0; }
温度转换
题目描述:输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9 输入:输入数据只有一个实数,即华氏温度。
矩阵下三角元素之和
题目描述:输入一个正整数 n(1 < =n <= 10),再输入 n*n 的矩阵,要求求该矩阵的下三角元素之和。
输入:输入包括 n+1 行 第一行为整数:n 接下来的 n 行为矩阵数据
输出:矩阵的下三角元素之和
样例输入:
5
- 10
12345 23456 34567 45678 56789
样例输入:123
样例输出:3
123
321
代码:# include<stdio.h> int main() { long int num; int place,indiv,ten,hundred,thousand,ten_thousand; scanf("%ld",&num); if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf("%d\n",place); ten_thousand=num/10000; thousand=(num-ten_thousand*10000)/1000; hundred=(num-thousand*1000-ten_thousand*10000)/100; ten=(num-hundred*100-thousand*1000-ten_thousand*10000)/10; indiv=(num-ten*10-hundred*100-thousand*1000-ten_thousand*10000); switch(place) {case 5: printf("%d %d %d %d %d\n",ten_thousand,thousand,hundred,ten,indiv);
s1,s2,v);
找中间数
题目描述:输入三个整数,找出其中的中间数。
输入:输入 3 个整数。
输出:输出中间数
样例输入:1 2 3
样例输出:2
代码:int main() {
int a,b,c,m; scanf("%d %d %d",&a,&b,&c); if(a>b)
{if(b>c) m=b;else {if(a>c) else
样例输出:7
- 11
代码:#include<stdio.h> int main() { char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;(c=string[i])!='\0';i++)
if(c==' ')word=0; else if(word==0) { word=1; num++; } printf(" %d",num); return 0; }
整数位
题目描述:输入一个不多于 5 位的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字。
输入:输入一个不多于 5 位的正整数。
-5
输出:输出数据有 3 行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。
{if(a>c) m=a;else {if(b>c) printf("%d",m); return 0; }
-4
m=c;else m=c;else
m=a;}} m=b;}}
某年某月的天数
题目描述:输入年和月,判断该月有几天?
输入:输入年和月,格式为年\月
输出:输出该月的天数。
样例输入:2009\1
样例输出:75
代码:
#include<stdio.h> int main() {int a[10][10]; int i,j,n,s=0; scanf("%d",&n); for(i=0;i<n;i++) {for(j=0;j<n;j++) scanf("%d",&a[i][j]);} for(i=0;i<n;i++) {for(j=0;j<=i;j++)
矩阵转置
题目描述:输入 N*N 的矩阵,输出它的转置矩阵。
输入:第一行为整数 N(1≤N≤100)。 接着是一个 N*N 的矩阵。
输出:转置矩阵。
-8
样例输入: 2 12 12
样例输出: 1 1
22
代码:#include<stdio.h> int main() {int a[100][100]; int b[100][100],i,j,n; scanf("%d", &n); for(i=0;i<n;i++) {for(j=0;j<n;j++) {scanf("%d",&a[i][j]); b[j][i]=a[i][j];} } for(i=0;i<n;i++) {for(j=0;j<n;j++) printf("%d ",b[i][j]); printf("\n");} return 0; }
-6
printf("%d %d %d\n",indiv,ten,hundred); break; case 2: printf("%d %d\n",ten,indiv); printf("%d %d\n",indiv,ten); break; case 1: printf("%d\n",indiv); printf("%d\n",indiv); break;} return 0; }
样例输出:6.28 3.14 12.57 6.28
提示:圆周率定义为 3.1415926。
-3
代码:# define pie 3.1415926 int main() {
float h,r,l,s1,s2,v; scanf("%f %f",&r,&h); l=2.0*pie*r; s1=pie*r*r; s2=l*h; v=s1*h; printf("%.2f %.2f %.2f %.2f",l, return 0; }
s=s+a[i][j];}printf("%d",s);return 0; }
单词统计
题目描述:从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入:输入只有一行句子。仅有空格和英文字母构成。
输出:单词的个数。
样例输入:stable marriage problem Consists of Matching members
输入:输入三边 a、b、c
输出:输出面积,保留 3 位小数。
样例输入:1 2 2.5
样例输出:0.950
代码:int main() {
float f,c; scanf("%f",&f); c=5*(f-32)/9; printf("%.2f",c); return 0; }
一元二次方程
题目描述:解一元二次方程 ax2+bx+c=0 的解。
代码:#include<stdio.h> int main() {char a[80]; int i; scanf("%s",a); for(i=0;i<strlen(a);i++) { if((a[i]>='A')&&(a[i]<='Z')||((a[i]>='a')&&(a[i]<='z'))) printf("%c",a[i]);} return 0; }
两个数比较
题目描述:求 2 个数中较大者。
输入:第一行为测试的数据组数 N,接下来的 N 行分别是两个待比较的整数
输出:输出 N 行,每一行的值为每组数中较大的整数
样例输入:2 12
15 10
样例输出:2 15
代码:#include<stdio.h> int main() {int n,a,b,max; scanf("%d",&n); do {scanf("%d %d",&a,&b); max=(a>b)?a:b;
-7
printf("%d\n",max); }while(--n); return 0; }
保留字母
题目描述:编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。
输入:一个字符串,长度不超过 80 个字符。
输出:删掉非英文字母后的字符串。
样例输入:abc123+xyz.5
样例输出:abcΒιβλιοθήκη Baiduyz
printf("%d %d %d %d %d\n",indiv,ten,hundred,thousand,ten_thousand); break; case 4: printf("%d %d %d %d\n",thousand,hundred,ten,indiv); printf("%d %d %d %d\n",indiv,ten,hundred,thousand); break; case 3: printf("%d %d %d\n",hundred,ten,indiv);
输出:输出数据只有一个,即摄氏温度,保留 2 位小数。
样例输入:32.0
样例输出:0.00
-1
代码:int main() {
float f,c; scanf("%f",&f); c=5*(f-32)/9; printf("%.2f",c); return 0; }
三角形面积
题目描述:已知三角形的边长 a、b 和 c,求其面积。
样例输出:31
代码: #include<stdio.h> int main() {int y,m,length; scanf("%d\\%d",&y,&m); if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) length=31; else if(m==4||m==6||m==9||m==11) length=30; else if(m==2) {if((y%4==0&&y%100!=0)||(y%400==0)) length=29;
圆柱体计算
题目描述:已知圆柱体的底面半径 r 和高 h,计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积。
输入:输入数据有一行,包括 2 个正实数 r 和 h,以空格分隔。
输出:输出数据一行,包括圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积,以空格分开,所有数据均保留 2 位小数。
样例输入:1 2
素数
题目描述:输出 100->200 之间的素数的个数,以及所有的素数。
输入:无
输出:100->200 之间的素数的个数,以及所有的素数。
样例输入:无
样例输出:
-9
21 101 103 ... 197 199
代码:#include<math.h> int main() { int m,k,i,j,a[100],n=0; j=0; for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break; if(i>=k+1) {a[j]=m; n=n+1;j++;} } printf("%d\n",n); for(j=0;j<n;j++) { printf("%4d",a[j]);} return 0; }
输入:a,b,c 的值。
-2
输出:两个根 X1 和 X2,其中 X1>=X2。。 结果保留两位小数。
样例输入:1 5 -2
样例输出:0.37 -5.37
代码:# include<math.h> int main() {
float a,b,c,disc,p,q,x1,x2; scanf("%f %f %f",&a,&b,&c); disc=b*b-4*a*c; p=-b/2*a; q=sqrt(disc)/2*a; x1=p+q;x2=p-q; printf("%.2f %.2f",x1,x2); return 0; }
C 语言实验题
1. 买糖果
题目描述:小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果 3 角钱一块,爸爸给小瑜 n 元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?
输入:输入爸爸给小瑜的钱 n 元,n 为整数。 输出:小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用空格分隔。
样例输入 2 样例输出 6 2
代码:int main() {
int n,a,b; scanf("%d",&n); a=10*n/3; b=10*n%3; printf("%d %d",a,b); return 0; }
温度转换
题目描述:输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9 输入:输入数据只有一个实数,即华氏温度。
矩阵下三角元素之和
题目描述:输入一个正整数 n(1 < =n <= 10),再输入 n*n 的矩阵,要求求该矩阵的下三角元素之和。
输入:输入包括 n+1 行 第一行为整数:n 接下来的 n 行为矩阵数据
输出:矩阵的下三角元素之和
样例输入:
5
- 10
12345 23456 34567 45678 56789
样例输入:123
样例输出:3
123
321
代码:# include<stdio.h> int main() { long int num; int place,indiv,ten,hundred,thousand,ten_thousand; scanf("%ld",&num); if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf("%d\n",place); ten_thousand=num/10000; thousand=(num-ten_thousand*10000)/1000; hundred=(num-thousand*1000-ten_thousand*10000)/100; ten=(num-hundred*100-thousand*1000-ten_thousand*10000)/10; indiv=(num-ten*10-hundred*100-thousand*1000-ten_thousand*10000); switch(place) {case 5: printf("%d %d %d %d %d\n",ten_thousand,thousand,hundred,ten,indiv);
s1,s2,v);
找中间数
题目描述:输入三个整数,找出其中的中间数。
输入:输入 3 个整数。
输出:输出中间数
样例输入:1 2 3
样例输出:2
代码:int main() {
int a,b,c,m; scanf("%d %d %d",&a,&b,&c); if(a>b)
{if(b>c) m=b;else {if(a>c) else
样例输出:7
- 11
代码:#include<stdio.h> int main() { char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;(c=string[i])!='\0';i++)
if(c==' ')word=0; else if(word==0) { word=1; num++; } printf(" %d",num); return 0; }