c语言上机试题1(数学计算)

合集下载

C语言上机练习题及答案

C语言上机练习题及答案

1输入三个整数*,y,z,把这三个数由小到大输出。

# include <stdio.h>void main(){int *,y,z,a;scanf ("%d,%d,%d",&*,&y,&z);if(*>y) {a=*; *=y;y=a;}if(*>z) { a=*; *=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",*,y,z);}2输入圆的半径,输出圆的周长和面积。

# include<stdio.h># define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。

# include<stdio.h>void main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。

# include<stdio.h>int main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。

C语言上机题参考答案

C语言上机题参考答案
}
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);

C语言程序设计上机题目与参考答案

C语言程序设计上机题目与参考答案

C语言程序设计题目与参考答案(1——9章)1.(课本第84页第7题)设圆半径r=1.5,圆柱的高h=3,求圆周长.圆面积.圆球表面积.圆球体积.圆柱体积。

用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

请编程序:#include <stdio.h>int main()#define p 3.1416int main(){double r,h,l,s,S,v,V;scanf("%lf %lf",&r,&h);l=2*p*r;s=p*r*r;S=4*p*r*r;v=4/3*p*r*r*r;V=p*r*r*h;printf("l=%7.2f\ns=%7.2f\nS=%7.2f\nv=%7.2f\nV=%7.2f\n",l,s,S,v,V);return 0;}2.把560分钟化成小时和分钟。

#include<stdio.h>main(){int t,h,m;t=560;h=t/60;m=t%60;printf("560分钟等于%d小时%d分钟\n",h,m);}3.第112页第6题)有一个函数y=x(x<1),y=2x-1(1<=x<10),y=3x-11(x>=1写程序,输入x的值,输出y相应的值。

#include<stdio.h>int main(){float x,y;scanf("%f",&x);if(x<1) y=x;elseif(x<10) y=2*x-1;else y=3*x-11;printf("%f\n",y);}4.(第113页第11题)输出4个整数,要求按由小到大的顺序输出。

#include<stdio.h>int main(){float a,b,c,d,t;scanf("%f,%f,%f,%f",&a,&b,&c,&d);if(a>b) {t=a;a=b;b=t;}if(a>c) {t=a;a=c;c=t;}if(a>d) {t=a;a=d;d=t;}if(b>c) {t=b;b=c;c=t;}if(b>d) {t=b;b=d;d=t;}if(c>d) {t=c;c=d;d=t;}printf("%f,%f,%f,%f",a,b,c,d);}5.(第113页第12题)有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1,这四个塔的高度为10米,塔以外无建筑物。

C#语言上机题目1及答案

C#语言上机题目1及答案

《C#语言》上机题目实验一C#基础1. 编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积。

2.编一个程序,从键盘上输入三个数,用三元运算符(? :)把最大数找出来。

3.编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,如果输入的字符是小写字母,则转换为大写字母,否则不转换。

4.输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)5.编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。

最后输出结果。

6.编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。

例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。

7.编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们,然后用if else 选择语句找出它们中的最小数,最后输出结果。

8. 编一个程序,首先输入一个成绩(0到100的整数),分别用if else语句和Switch语句判断该成绩是优、良、中、及格还是不及格,如果是100分还需输出时满分。

9.编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。

10. 编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。

11.编一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如,153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”12. 有关系式1*1+2*2+3*3+...+k*k<2000,编一个程序,求出满足此关系式的k的最大值(用for循环)13 编一个程序,利用二重for循环语句,打印出九九乘法口诀表。

14 编一个程序,解决百钱买百鸡问题。

某人有100元钱,要买100只鸡。

公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3只。

C语言上机考试题目

C语言上机考试题目

1、编写一个C 程序,比较任意三个整数的大小,然后输出其中的最大值。

方法不限。

2、计算圆的面积和周长。

要求:使用符号常量定义圆周率为3.14。

3、输入某学生三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。

要求:有输入数据和输出结果的提示。

4、输入三角形的三边长,求三角形的面积。

三角形的三边长用变量a,b,c, 其中s=(a+b+c)/2。

提示:求某个数x 的平方根函数为sqrt(x),当直接用此函数时,需要在main 函数上面加入头文件:math.h 。

5、输入一个四位的正整数(如果不是,提示“输入错误”),对其个、十、百、千位四位数字求和并实现个位数与百位数、十位数与千位数的互换然后将这个数输出。

例如,输入一个四位正整数1234,通过你的程序,如何输出和10以及新的数3412。

6、求ax 2+b x+c=0方程的根。

a ,b ,c 由键盘输入。

提示:众所周知,一元二次方程式的根为:x1= x2= 可以将上面的分式分为两项:p= ,q= x1=p+q, x2=p -q 。

注意:在b 2-4ac>0的条件下,才可以求方程的根,否则提示a,b,c 的值输入错误。

7、输入三角形的三条边长,判断能否构成三角形,若能输出YES 并且输出三角形的面积,若不能则输出NO 。

8、任意输入三个整型数,要求按照从大到小的顺序输出。

9、从键盘输入一个四位数的年份,判断其是否为闰年。

aac b b 242-+-a ac b b 242---a b 2-aac b 242-10、有一个函数:写出程序,输入x的值,输出对应的y的值。

要求加上相应的文字说明。

11、编程实现大小字母的转换。

从键盘输入一个字符,要求使用getchar()函数读入字符。

如果输入的是一个小写字母,转换为大写字母;如果输入的是一个大写字吗,转换为小写字母;如果输入的是一个非字母符号,照原样输出。

要求有文字说明。

12、判断从键盘输入的是数字字符、大写字母、小写字母、空格还是其他字符。

C语言程序设计上机考试试题和参考答案

C语言程序设计上机考试试题和参考答案
char str1[80], str2[80]; int m, n;
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:

c语言上机考试题及答案

c语言上机考试题及答案

c语言上机考试题及答案1. 编写一个C程序,实现求两个整数的和,并输出结果。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```2. 编写一个C程序,实现从键盘输入一个整数,判断该数是否为质数,并输出结果。

```c#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个整数:");scanf("%d", &num);for (i = 2; i <= num / 2; i++) {if (num % i == 0) {flag = 1;break;}}if (num == 1) {printf("1既不是质数也不是合数。

\n"); } else {if (flag == 0) {printf("%d是质数。

\n", num);} else {printf("%d不是质数。

\n", num);}}return 0;}```3. 编写一个C程序,实现对数组元素进行冒泡排序,并输出排序后的结果。

```c#include <stdio.h>void bubbleSort(int arr[], int size) {int i, j, temp;for (i = 0; i < size - 1; i++) {for (j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main() {int arr[] = {5, 2, 8, 3, 1};int size = sizeof(arr) / sizeof(arr[0]);int i;printf("排序前的数组:");for (i = 0; i < size; i++) {printf("%d ", arr[i]);}bubbleSort(arr, size);printf("\n排序后的数组:");for (i = 0; i < size; i++) {printf("%d ", arr[i]);}return 0;}```4. 编写一个C程序,实现计算给定数的阶乘,并输出结果。

C语言上机作业试题5套含答案

C语言上机作业试题5套含答案

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。

程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。

)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。

方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。

例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。

⏹A说:不是我。

⏹B说:是C。

⏹C说:是D。

⏹D说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1整型、实型1.1实型四舍五入请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。

例如:实型数为 1234.567, 则函数返回 1234.57;实型数为1234.564, 则函数返回 1234.56。

注意: 部分源程序存在文件PROG1.C文件中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>int NONO(void);float fun ( float h ) {}int main(void) {float a;printf ("Enter a: ");AHA12GAGGAGAGGAFFFFAFAFscanf ( "%f", &a );printf ( "The original data is : " );printf ( "%f \n\n", a );printf ( "The result : %f\n", fun ( a ) );NONO( );return 1;}int NONO(void) {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。

*/int i ;float a ;FILE *rf, *wf ;rf = fopen("./05/in.dat","r") ;wf = fopen("./05/out.dat","w") ;for(i = 0 ; i < 20 ; i++) {fscanf(rf, "%f", &a) ;fprintf(wf, "%f\n", fun(a)) ;}AHA12GAGGAGAGGAFFFFAFAFfclose(rf) ;fclose(wf) ;return 1;}答案1:AHA12GAGGAGAGGAFFFFAFAFlong i=h*1000;if(i%10<5)return (i/10)/100.0;elsereturn (i/10+1)/100.0;答案2:long temp=a*1000,temp2;temp2=temp/10;temp=temp%10;float result; //被除数定义成float if(temp>4)result=temp2+1;elseresult=temp2;return result/100;AHA12GAGGAGAGGAFFFFAFAF1.2根据公式求圆周率#include <stdio.h>#include <math.h>double fun ( double eps) {}main( ) {double x;printf("Input eps:") ;scanf("%lf",&x);printf("\neps = %lf, PI=%lf\n", x, fun(x));NONO();}NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,AHA12GAGGAGAGGAFFFFAFAF输出数据,关闭文件。

*/FILE *fp, *wf ;int i ;double x ;AHA12GAGGAGAGGAFFFFAFAFfp = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) {fscanf(fp, "%lf", &x) ;fprintf(wf, "%lf\n", fun(x)) ;}fclose(fp) ;fclose(wf) ;}答案1:double i=1,a=1,b=1,c=1,s=0;while(c>=eps) {s+=c;a*=i;b*=2*i+1;c=a/b;i++;AHA12GAGGAGAGGAFFFFAFAF}return s*2;答案2:double n=1.0,m,s1,s2;m=2*n+1;s1=n;s2=m;double temp=s1/s2,sum=0.0;while(temp>=eps){sum+=temp;n+=1;m+=2;s1*=n;s2*=m;temp=s1/s2;}return (sum+1)*2;AHA12GAGGAGAGGAFFFFAFAF1.3求阶乘#include <stdio.h>float fun(int m, int n) {}int main(void) /* 主函数 */ {printf("P=%f\n", fun (12,8));//NONO();return 1;}int NONO (void) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/FILE *fp, *wf ;int i, m, n ;AHA12GAGGAGAGGAFFFFAFAFfloat s;fp = fopen("c:\\test\\in.dat","r") ;wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) {fscanf(fp, "%d,%d", &m, &n) ;s = fun(m, n) ;fprintf(wf, "%f\n", s) ;}fclose(fp) ;fclose(wf) ;return 1;}答案:float result;int x,y,z,o=1,p=1,q=1;for(x=1;x<=m;x++){o=o*x;AHA12GAGGAGAGGAFFFFAFAF}for(y=1;y<=n;y++){p=p*y;AHA12GAGGAGAGGAFFFFAFAF}for(z=1;z<=m-n;z++){q=q*z;}result=o/(p*q);return result;尝试建立一个专门求阶乘的函数。

1.4求公式#include <stdio.h>double fun( int n ) {}int main(void) /* 主函数 */ {printf("%f\n", fun(10));AHA12GAGGAGAGGAFFFFAFAF//NONO();return 1;}int NONO (void) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/FILE *fp, *wf ;int i, n ;double s ;fp = fopen("c:\\test\\in.dat","r") ;wf = fopen("c:\\test\\out.dat","w") ;for(i = 0 ; i < 10 ; i++) {fscanf(fp, "%d", &n) ;s = fun(n) ;fprintf(wf, "%f\n", s) ;}fclose(fp) ;fclose(wf) ;return 1;AHA12GAGGAGAGGAFFFFAFAF}AHA12GAGGAGAGGAFFFFAFAF答案:int i;double m,sum=0.0;for(i=1;i<=n;i++){m=i*(i+1);sum+=1/m;}return sum;1.5整数分解函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。

合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。

例如,当a=45,b=12。

调用该函数后,c=5241。

注意: 部分源程序存在文件PROG1.C中。

数据文件IN.DAT中的数据不得修改。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

AHA12GAGGAGAGGAFFFFAFAF#include <stdio.h>void NONO(void);long fun(int a, int b) {}int main(void) {int a,b;long c;printf("Input a, b:");scanf("%d%d", &a, &b);c=fun(a, b);printf("The result is: %ld\n", c);NONO();return 0;}void NONO (void) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/FILE *rf, *wf ;AHA12GAGGAGAGGAFFFFAFAFint i, a,b ;long c ;rf = fopen("./44/in.dat","r") ;wf = fopen("./44/out.dat","w") ;for(i = 0 ; i < 10 ; i++) {fscanf(rf, "%d,%d", &a, &b) ;fun(a, b, &c) ;fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ; }fclose(rf) ;fclose(wf) ;AHA12GAGGAGAGGAFFFFAFAF}答案:long i1=(a%10)*1000;printf("aa=%d,bb=%d",b%10,b/10);long i2=(b%10)*100;long i3=a/10*10;long i4=b/10;//return a%10*1000+b%10*100+a/10*10+b/10; return i1+i2+i3+i4;1.6数学公式#include <stdio.h>/************found************/fun(int m){AHA12GAGGAGAGGAFFFFAFAFdouble y = 0, d;int i ;/************found************/for( i = 100;i < m;i += 100 ) {d = (double)i * (double)i ;y += 1.0 / d ;}return (y);}main( ) {int n = 2000 ;printf( "\nThe result is %lf\n", fun ( n ) ) ; }答案:double fun ( int m ) {for( i = 100;i <=m;i += 100 ) {AHA12GAGGAGAGGAFFFFAFAF1.7数学公式修正:当k=1时,第一项为4/1*3#include <stdio.h>#include <math.h>float fun(int k){}main ( ) {printf("%f\n", fun (10));}答案1:int n;AHA12GAGGAGAGGAFFFFAFAFfloat s, w, p, q;n = 1;s = 1.0;while ( n <= k ) {w = 2.0 * n;p = w - 1.0;q = w + 1.0;s = s * w *w/p/q; n++;}return s;改错:int i;float sum=1.0;for(i=2;i<=k;i++){sum*=(2*i * 2*i)/((2*i+1)*(2*i-1)); //注意数据类型}AHA12GAGGAGAGGAFFFFAFAFreturn sum;AHA12GAGGAGAGGAFFFFAFAF1.8最小公倍数给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。

相关文档
最新文档