c语言上机试题1(数学计算)
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语言上机题参考答案
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语言程序设计题目与参考答案(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#语言》上机题目实验一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 程序,比较任意三个整数的大小,然后输出其中的最大值。
方法不限。
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语言程序设计上机考试试题和参考答案
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语言上机考试题及答案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套含答案
第一次上机作业(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说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
C语言上机测试题目(完整版)
1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++)for(j=1;j<=4;j++)for(k=1;k<=4;k++)if(i!=j&&i!=k&&j!=k)printf("%d%d%d ",i,j,k);printf("\n");}2.企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?#include <stdio.h>main(){ long i;float bonus, bon1, bon2, bon4, bon6, bon10;int c;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%ld",&i);c=i/100000;if(c>10) c=10;switch(c){ case 0: bonus=1*0.1;break;case 1: bonus=bon1+(i-100000)*0.075;break;case 2 :case 3: bonus=bon2+(i-200000)*0.05; break;case 4:case 5: bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015;break;case 10: bonus=bon10+(i-1000000)*0.01;}printf("奖金是%10.2f",bonus);}3.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include<stdio.h>#include<math.h>void main(){int a,b,c;for(a=0;;a++){ b=sqrt(a+100);c=sqrt(a+268);if(b*b==a+100 && c*c==a+268){printf("%d\n",a);break;}}}4.输入某年某月某日,判断这一天是这一年的第几天?main(){int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;printf("It is the %dth day.",sum);}5.输入三个整数x,y,z,请把这三个数由小到大输出。
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语言上机题库
C语言上机题库
1. 题目描述
编写一个C语言程序,输入一个整数n,计算并输出1到n之间的所有整数的平方和。
2. 输入
用户在命令行输入一个整数n。
3. 输出
输出1到n之间所有整数的平方和。
4. 示例
输入
5
输出
平方和为55
5. 解题思路
首先,我们定义一个整型变量sum,并将其初始化为0,用于保存平方和的结果。
接下来,我们使用循环从1到n遍历每个整数,并将每个整数的平方累加到sum中。
最后,输出sum的值即为所求的平方和。
6. 代码实现
以下是完整的C语言代码实现。
```c #include <stdio.h>
int main() { int n, sum = 0;
printf(\。
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语言程序,输入一个正整数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语言上机100题
1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 ||i%11==0) &&i%77!=0)a[j++]=i;*n=j;}3:第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n 返回。
答案:void fun(int x,int pp[],int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z”26各字母各自出现的次数,并依次放在pp所指的数组中.答案:void fun(char *tt,int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a':pp[0]++;break;case ‘b’:pp[1]++;break;case ‘c’:pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’:pp[4]++;break;case ‘f': pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’:pp[7]++;break;case ‘i':pp[8]++;break;case ‘j’:pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m':pp[12]++;break;case ‘n’:pp[12]++;break;case ‘o’:pp[14]++;break;case ‘p’:pp[15]++;break;case ‘q': pp[16]++;break;case ‘r': pp[17]++;break;case ‘s':pp[18]++;break;case ‘t’:pp[19]++;break;case ‘u':pp[20]++;break;case ‘v’:pp[21]++;break;case ‘w’:pp[22]++;break;case ‘x’:pp[23]++;break;case ‘y’:pp[24]++;break;case ‘z':pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
c语言上机考试题及答案
c语言上机考试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个是合法的整型常量?A. 0x12B. 0x12.0C. 0x12LD. 0x12.0L答案:A2. 下列哪个选项是正确的C语言标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:D3. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A4. 在C语言中,以下哪个是正确的函数声明?A. int myFunction(int a);B. int myFunction();C. int myFunction(int);D. int myFunction(int a, int b);答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D二、填空题(每题3分,共15分)1. 在C语言中,用于定义整型变量的关键字是________。
答案:int2. 若有定义 int a = 10;,则表达式 a++ 的值为________。
答案:103. C语言中,用于表示逻辑“与”的运算符是________。
答案:&&4. 在C语言中,以下代码段的输出结果是________。
```c#include <stdio.h>int main() {int x = 5;printf("%d", x++);return 0;}```答案:55. 若有定义 float b = 3.14;,则表达式 b * 100 的值为________。
答案:314.0三、编程题(每题20分,共40分)1. 编写一个C程序,计算并输出以下数列的前10项之和:1 + 1/2 + 1/3 + ... + 1/10。
c语言上机考试试题
c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门非常重要的编程语言。
它的简洁性和高效性使得它成为了许多程序员的首选。
而在学习C语言的过程中,上机考试是不可或缺的一环。
本文将为大家提供一些常见的C语言上机考试试题,帮助大家更好地准备考试。
一、基础知识题1. 请简述C语言的特点和优势。
2. 什么是变量?请举例说明。
3. 请解释C语言中的数据类型,并列举一些常见的数据类型。
4. 请解释C语言中的运算符,并列举一些常用的运算符。
5. 请解释C语言中的控制语句,并列举一些常见的控制语句。
二、编程题1. 编写一个程序,要求用户输入两个整数,然后输出它们的和、差、积和商。
2. 编写一个程序,要求用户输入一个正整数N,然后计算并输出1到N的所有正整数的和。
3. 编写一个程序,要求用户输入一个字符串,然后判断该字符串是否是回文字符串(即正向和反向读都相同)。
4. 编写一个程序,要求用户输入一个正整数N,然后输出N的所有因子。
5. 编写一个程序,要求用户输入一个字符串,然后统计并输出该字符串中的字母、数字和其他字符的个数。
三、综合题1. 编写一个程序,要求用户输入一个正整数N,然后输出N的阶乘。
2. 编写一个程序,要求用户输入一个正整数N,然后判断该数是否为素数。
3. 编写一个程序,要求用户输入一个正整数N,然后输出N个斐波那契数列的元素。
4. 编写一个程序,要求用户输入一个字符串,然后将字符串中的所有小写字母转换为大写字母,并输出转换后的字符串。
5. 编写一个程序,要求用户输入一个正整数N,然后输出一个N行的等腰三角形。
通过以上的试题,我们可以看到,C语言上机考试试题涵盖了C语言的基础知识、编程技巧和综合应用。
在备考过程中,我们需要掌握C语言的特点和优势,了解各种数据类型和运算符的使用方法,熟练掌握控制语句的应用,同时还需要有一定的编程能力和逻辑思维能力。
在解答试题时,我们需要仔细阅读题目要求,理清思路,合理设计程序结构,注意变量命名规范,避免出现语法错误和逻辑错误。
大一C语言上机实验试题及答案
大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。
A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。
答案:int2. 以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。
答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。
答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。
答案:char三、编程题(每题10分,共20分)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语言上机试题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的功能是:求三个数的最小公倍数。