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

合集下载

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语言上机试题1(数学计算)

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

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输出数据,关闭文件。

C语言上机150道题

C语言上机150道题

C语言上机150道题及参考答案1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。

2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。

例如输入355和113,输出3.14159。

3.用while循环结构编写程序打印ASCII码为33-127的字符。

4.用do-while,for循环结构编写程序打印ASCII码为33-127的字符。

5.用for循环结构编写程序打印ASCII码为33-127字符。

6.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。

7.输入一个整数将其倒着输出,如54321——12345。

8.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。

9.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。

10.用while 循环计算1+2+……+100的和。

11.用do while循环计算1+2+……+100的和。

12.用for 循环计算1+2+……+100的和。

13.输入一个小于等于10的整数n ,计算n!。

14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。

15.用循环语句,计算1~100之间的所有3的倍数之和。

16.用循环语句,计算100-200之间的所有7的倍数之和。

17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。

18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

19.输入一个整数,统计它有几位数。

如输入367,则该数有3位数。

20.编写程序,输出1到50中间所有能被3整除的正整数。

21.把100~200之间不能被3整除的输出。

22.编程Y=1+3+5+7+...111。

23.编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。

24.编程输出九九乘法表。

25.求1到100奇数和。

C语言上机(20道)

C语言上机(20道)

1、从键盘输入三个数,输出这三个数中最大的数main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b) max=a;else max=b;if(c>max) max=c;printf("max=%d\n",max);}3、给一个分段函数,设计一个程序,要求从键盘输入x,输出ymain(){ float x,y;scanf("%f",&x);if(x>0) y=3*x+5;if(x==0) y=7;if(x<0) y=5*x;printf("%f\n",y);}4、求1+2+…+n,n由键盘输入main(){ int i,s,n;scanf("%d",&n);for(s=0,i=1;i<=n;i++)s=s+i;printf("%d\n",s);}5、求1*2*…*n(即n!),n由键盘输入main(){int i, n; long s;scanf( "%d",&n);for(i=1,s=1; i<=n; i++)s=s*i;printf("%ld\n",s);}6、求1!+2!…+n!,n由键盘输入main(){int i,n; long s,f;scanf("%d",&n);s=0;f=1;for(i=1; i<=n; i++){ f=f*i; s=s+f; }printf("%ld\n",s); }7:输出100以内(不含100)能被3整除且个位数为6的所有整数(P97)main(){int i,j;for(i=0;i<10;i++){j=i*10+6;if(j%3!=0)continue;printf("%4d",j);}}8、求两个正整数的最大公因子和最小公倍数(P82)main(){ int m,n,r,p;scanf("%d%d",&m,&n);p=m*n; r=m%n;while(r){m=n; n=r;r=m%n; }printf("%d,%d\n",n,p/n);}9、将一个整数的各位数字颠倒后输出(P84)main(){ int i,r;scanf("%d",&i);do{r=i%10;printf("%d",r);i=i/10; }while(i!=0);printf("\n");}10、求Fabonacci数列的前20项,每5个数一换行。

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语言一维数组上机考试题目

c语言一维数组上机考试题目

c语言一维数组上机考试题目
以下是一些关于C语言一维数组的常见上机考试题目:
1. 编写一个程序,输入一个整数n,求出1到n之间所有偶数的和。

2. 编写一个程序,输入一个整数n,求出1到n之间所有数字的阶乘之和。

3. 编写一个程序,输入一个整数n,求出1到n之间所有数字的立方之和。

4. 编写一个程序,输入一个整数n,求出1到n之间所有数字的平方之和。

5. 编写一个程序,输入一个整数n,求出1到n之间所有数字的倒数之和。

6. 编写一个程序,输入一个整数n,求出1到n之间所有数字的绝对值之和。

7. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子之和。

8. 编写一个程序,输入一个整数n,求出1到n之间所有数字的质因子之和。

9. 编写一个程序,输入一个整数n,求出1到n之间所有数字的奇数因子之和。

10. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子个数之和。

以上题目只是示例,实际上关于C语言一维数组的上机考试题目还有很多其他类型。

考生应该掌握一维数组的基本概念和操作,并且能够灵活运用数组来解决问题。

c语言编写函数笔试题及答案

c语言编写函数笔试题及答案

c语言编写函数笔试题及答案C语言编写函数笔试题及答案1. 题目一:计算阶乘编写一个函数,计算并返回一个整数的阶乘。

阶乘定义为:n! = n * (n-1) * (n-2) * ... * 1,其中n! = 1,当n=0。

函数原型:```clong long factorial(int n);```答案:```c#include <stdio.h>long long factorial(int n) {if (n == 0) return 1;long long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d is %lld\n", num, factorial(num)); return 0;}```2. 题目二:字符串反转编写一个函数,接受一个字符串作为参数,将其反转并返回。

函数原型:```cchar* reverseString(char* str);```答案:```c#include <stdio.h>#include <string.h>char* reverseString(char* str) {int length = strlen(str);char temp;for (int i = 0; i < length / 2; i++) {temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}return str;}int main() {char str[] = "Hello, World!";printf("Reversed string: %s\n", reverseString(str));return 0;}```3. 题目三:寻找数组中的最大值编写一个函数,接受一个整数数组和数组的长度作为参数,返回数组中的最大值。

精心整理的C语言上机题

精心整理的C语言上机题

精心整理的C语言上机题1. 假设m是一个三位数,写出将m的个位,十位,百位反序而成的三位数的程序。

(例如:123反序为321)#includeint main(){int a,b,c,s,n;scanf("%d",&n);a = n%10;b = n/10%10;c = n/100;s = a*100+b*10+c;printf("%d\n",s);return 0;}2.输入某一年份,判断是否为闰年。

如是输出“Yes”,否则输出“NO”。

#includeint main(){int n;scanf("%d",&n);if((n%4 == 0&&n%100!=0)||n%400 == 0)printf("Yes\n");elseprintf("No\n");return 0;}3.输入一个不多于5位的正整数,判断其位数并输出。

#includeint main(){int n,i = 0;scanf("%d",&n);while(n){n = n/10;i++;}printf("%d\n",i);return 0;}4.中国古代数学家张丘建提出的“百鸡问题”:一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。

现在有100个钱,要买100只鸡,是否可以?若可以,给出一个解,要求三种鸡都有。

请写出求解该问题的程序。

#includeint main(){int i,j,k,flag = 0;for(k = 1;k <=100/5;k++){for(i=1;i<=(100-k*5)/3;i++){for(j = 1;j <=(100-i*3-k*5)*3;j++)if((i+j+k == 100)&&(k*5+i*3+j/3) == 100){printf("%d%d%d\n", k,i,j);flag = 1;break;}break;}if(flag==1)break;}return 0;}5.设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

大一c语言上机考试题及答案

大一c语言上机考试题及答案

大一c语言上机考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的整型常量表示?A. 0x1AB. 1.2E3C. 0b1010D. 0'123答案:A2. 若有定义 int a=5;,则表达式 a+=a-=a*=a 执行后,变量a的值是多少?A. 0B. 25C. -5D. 125答案:C3. 下列哪个函数不能正确计算字符串长度?A. strlen()B. sizeof()C. strnlen()D. wcslen()答案:B4. C语言中,以下哪个选项是合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int b[] = {1, 2, 3, 4, 5};C. int c[5] = {1, 2, 3};D. int d[5] = {1, 2, 3, 4, 5, 6};答案:B5. 下列哪个选项不是C语言中的运算符?A. +=B. ||C. &&D.答案:D6. C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. void add(int a, int b);C. int add(int, int);D. void add(int a, b);答案:C7. 若有定义 int x=10;,则以下哪个表达式的结果为非零值?A. x % 2B. x / 2C. x + 2D. x - 10答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprint()D. fscan()答案:A9. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D10. C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[20];};B. struct Student student;C. struct {int id;char name[20];};D. A和C答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。

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

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

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

例如:实型数为, 则函数返回;实型数为, 则函数返回。

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

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

#include <>int NONO(void);float fun ( float h ) {}int main(void) {…float a;printf ("Enter a: ");scanf ( "%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/","r") ;wf = fopen("./05/","w") ;for(i = 0 ; i < 20 ; i++) {fscanf(rf, "%f", &a) ;fprintf(wf, "%f\n", fun(a)) ;}fclose(rf) ;%fclose(wf) ;return 1;}答案1:long i=h*1000;if(i%10<5)return (i/10)/;…elsereturn (i/10+1)/;答案2:long temp=a*1000,temp2;temp2=temp/10;temp=temp%10;float result;44/","r") ;wf = fopen("./44/","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) ;}答案: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.2数学公式#include <>\/************found************/fun(int m){double y = 0, d;int i ;/************found************/for( i = 100;i < m;i += 100 ) {d = (double)i * (double)i ;y += / 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 ) {;1.3数学公式修正:当k=1时,第一项为4/1*3#include <>?#include <>float fun(int k){}main ( ) {printf("%f\n", fun (10));}答案1:int n;,float s, w, p, q;n = 1;s = ;while ( n <= k ) {w = * n;p = w - ;q = w + ;s = s * w *w/p/q; n++;}return s;!改错:int i;float sum=;for(i=2;i<=k;i++){sum*=(2*i * 2*i)/((2*i+1)*(2*i-1)); //注意数据类型}return sum;1.4最小公倍数)给定程序中函数fun的功能是:求三个数的最小公倍数。

C语言上机题参考答案

C语言上机题参考答案
******
#include<stdio.h>
void main()
{int i,j,k,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf(" ");
for(k=1;k<=i;k++)
printf("*");
printf("\n");
for(j=0;j<n-1;j++)
if(a[j]>a[j+1])
t=a[j],a[j]=a[j+1],a[j+1]=t;
for(i=0;i<n;i++)
{ s=0;
for(j=1;j<a[i];j++)
if(a[i]%j==0) s+=j;
if(s==a[i]) printf("%d ",a[i]);
}
2、定义三个整型变量,从键盘输入三个整数,计算平均值,计算结果输出到屏幕上,平均值保留2位小数。
示例:
输入:按如下格式输入3个数:
21 22 25
输出:(注意保留2位小数)
22.67
#include<stdio.h>
void main()
{int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.2f\n",(a+b+c)/3.0);

C语言上机试题1-20套

C语言上机试题1-20套

C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

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

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){float…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}解答:#include <conio.h> #include <stdio.h> double fun( int n ) { double s=0; int i; for(i=1;i<n+1;i++) s+=1.0/(i*(i+1)); return s; } main() /*主函数 */ { system("cls"); printf("%f\n",fun(10)); }说明:主函数中的clrscr()函数为TC 下使用的清屏函数,在VC 中不能使用,在本题中可以直接删除或改为system("cls")2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?解答:#include <stdio.h>int main(void){int max,num=0;int i,j;for(i=10000;i<20001;i++){for(j=2;j<i;j++)if( i%j==0 )break;if( j==i && i%10==7){num++;max=i;}}printf("num=%d,max=%d\n",num,max);return 0;}3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

C语言上机题目珍藏版

C语言上机题目珍藏版

C语言上机题目珍藏版一、题目描述:计算斐波那契数列请编写一个C语言程序,输入一个正整数n,计算并输出n项斐波那契数列。

二、题目描述:判断素数请编写一个C语言程序,输入一个正整数n,判断n是否为素数,并输出结果。

三、题目描述:矩阵转置请编写一个C语言程序,输入一个3x3的矩阵,将其转置后输出。

四、题目描述:查找数组中的最大值和最小值请编写一个C语言程序,输入一个整数数组,查找数组中的最大值和最小值,并输出结果。

五、题目描述:字符串逆序输出请编写一个C语言程序,输入一个字符串,将其逆序输出。

六、题目描述:判断回文数请编写一个C语言程序,输入一个正整数n,判断n是否为回文数,并输出结果。

七、题目描述:字符串拼接请编写一个C语言程序,输入两个字符串,实现字符串的拼接,并输出结果。

八、题目描述:冒泡排序请编写一个C语言程序,输入一个整数数组,使用冒泡排序算法将其排序,并输出结果。

九、题目描述:计算圆的面积和周长请编写一个C语言程序,输入圆的半径r,计算并输出圆的面积和周长。

十、题目描述:计算阶乘请编写一个C语言程序,输入一个正整数n,计算并输出n的阶乘。

十一、题目描述:猴子吃桃问题一只猴子第一天摘下若干个桃子,当即吃掉一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天都吃前一天剩下的一半零一个。

到第n天早上想再吃时,见只剩下一个桃子了。

请编写一个C语言程序,输入天数n,计算并输出第一天的桃子数量。

以上是C语言上机题目珍藏版,供大家参考和练习。

希望能够帮助大家提升编程能力。

编写C语言程序时,注意合理使用语法和算法,确保程序的正确性和效率。

加油!。

c语言20题上机题目

c语言20题上机题目

1.计算球体积Problem Description根据输入的半径值,计算球的体积。

Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。

Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。

Sample Input1 1.5Sample Output4.189 14.1372.成绩转换Problem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。

Output对于每组输入数据,输出一行。

如果输入数据不在0~100范围内,请输出一行:“Score is error!”。

Sample Input56 67 100 123Sample OutputE D A Score is error!3.第几天?Problem Description给定一个日期,输出这个日期是该年的第几天。

Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input1985/1/20 2006/3/12Sample Output20 714.求奇数的乘积Problem Description给你n个整数,求他们中所有奇数的乘积。

Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。

Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。

Sample Input3 1 2 34 2 3 4 5Sample Output3 155.平方和与立方和Problem Description给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。

c语言上机练习题及答案[1]汇总

c语言上机练习题及答案[1]汇总

1.从矩形的长,宽,输出面积(长为6.5,宽为4.5)#include <stdio.h>main(){float length,width,area;scanf("%f%f",&length,&width);area=length*width;printf("area=%f\n",area);}2.定义符号常量,从键盘输入圆的半径3.5,求圆的周长和面积#define PI 3.14#include <stdio.h>main(){float r,c,area;scanf("%f",&r);c=2*PI*r;area=PI*r*r;printf("c=%f,area=%f\n",c,area);}3.练习上机手册P10 3,4,5题,看看输出结果,并思考为什么4.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)#include <stdio.h>main(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);if(i<0)printf("i=%d\n",-i);}5.从键盘输入一个整数,输出其绝对值(采用if——else语句实现)#include <stdio.h>main(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);elseprintf("i=%d\n",-i);}6.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #include <stdio.h>main(){int year;scanf("%d",&year);if((year%4==0&&year%100!=0)||year%400==0)printf("%d是闰年",year);elseprintf("%d不是闰年",year);}7.输入学生的高考成绩,成绩>=560,输出读一本,如果>=520,输出读二本,如果>=480输出读三本,否则输出读专科#include <stdio.h>main(){int score;scanf("%d",&score);if(i>=560)printf("考得很好,你可以读一本学校了\n");else if(i>=520)printf("考得还不错,你可以读二本学校\n");else if(i>=480)printf("你只能读三本学校\n");elseprintf("可以读专科学校,继续努力哦!\n");}8.从键盘输入一个数,判断是否是素数(上机考试重点,必须掌握)#include <stdio.h>main(){int n,i,flag=1;scanf("%d",&n);for(i=2;i<n;i++){if(n%i==0){flag=0;break;}}if(flag==1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);}9.求1+1/3+1/5+…+1/99的和(上机考试重点,必须掌握)#include <stdio.h>main(){float s=0;int i=1;while(i<=99){s=s+1.0/i;i=i+2;}printf("s=%f",s);}10.求100—200之间所有能被3整除,但不能被7整除的数,并输出这些数#include <stdio.h>main(){int i;for(i=100;i<=200;i++){if(i%3==0&&i%7!=0)printf("%d,",i);}}。

(完整版)C语言上机练习题及答案

(完整版)C语言上机练习题及答案

(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。

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

# include# 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);}输入正方形的边长,输出正方形的周长和面积。

# includevoid 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 码。

# includeint 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语言上机试题1(数学计算)

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

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: ");scanf ( "%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)) ;}fclose(rf) ;fclose(wf) ;return 1;}答案1:long 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; //被除数定义成floatif(temp>4)result=temp2+1;elseresult=temp2;return result/100;1.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 ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 ) {
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)) ;
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的花括号中填入你编写的若干语句。
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>
NONO();
return 0;
}
void NONO (void) {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *rf, *wf ;
int i, a,b ;
long c ;rf =源自fopen("./44/in.dat","r") ;
wf = fopen("./44/out.dat","w") ;
1.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;
float s, w, p, q;
n = 1;
s = 1.0;
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%d", &n) ;
s = fun(n) ;
fprintf(wf, "%f\n", s) ;
}
fclose(fp) ;
fclose(wf) ;
return 1;
}
答案:
int i;
double m,sum=0.0;
for(i=1;i<=n;i++){
}
int main(void) /*主函数*/ {
printf("P=%f\n", fun (12,8));
//NONO();
return 1;
}
int NONO (void) {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *fp, *wf ;
int i, m, n ;
}
fclose(rf) ;
fclose(wf) ;
return 1;
}
答案1:
long i=h*1000;
if(i%10<5)
return (i/10)/100.0;
else
return (i/10+1)/100.0;
答案2:
long temp=a*1000,temp2;
temp2=temp/10;
printf ( "%f \n\n", a );
printf ( "The result : %f\n", fun ( a ) );
NONO( );
return 1;
}
int NONO(void) {/*请在此函数打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int i ;
float a ;
}
答案:
int fun(int x,int y,int z){
return j;
编程:
#include <stdio.h>
//求三个数的最大数
int max(int x,int y,int z){
}
//求三个数最小公倍数
int fun(int x, int y, int z ) {
}
main( ) {
}
main( ) {
double x;
printf("Input eps:") ;
scanf("%lf",&x);
printf("\neps = %lf, PI=%lf\n", x, fun(x));
NONO();
}
NONO ( ) {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
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++;
}
return s*2;
答案2:
double n=1.0,m,s1,s2;
1
1.1
请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:实型数为1234.567,则函数返回1234.57;实型数为1234.564,则函数返回1234.56。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何容,仅在函数fun的花括号中填入你编写的若干语句。
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;
}
for(y=1;y<=n;y++){
p=p*y;
}
for(z=1;z<=m-n;z++){
#include <stdio.h>
int NONO(void);
float fun ( float h ) {
}
int main(void) {
float a;
printf ("Enter a: ");
scanf ( "%f", &a );
printf ( "The original data is : " );
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) ;
}
答案:
long i1=(a%10)*1000;
temp=temp%10;
float result;//被除数定义成float
if(temp>4)
result=temp2+1;
else
result=temp2;
return result/100;
1.2
#include <stdio.h>
#include <math.h>
double fun ( double eps) {
/************found************/
fun(int x, y, z ) {
int j,t ,n ,m;
j = 1 ;
t=j%x;
m=j%y ;
n=j%z;
while(t!=0||m!=0||n!=0) {
j = j+1;
t=j%x;
m=j%y;
n=j%z;
}
/************found************/
}
相关文档
最新文档