C语言上机考试编程题以及答案

合集下载

C语言编程题

C语言编程题

编程题1.请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。

例如,若有5门课程的成绩是90.5、72、80、61.5、55,则函数的值为:71.80。

注意:部分源程序已给出。

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

#include <stdio.h>float fun(float *a,int n){}main(){float score[30]={90.5,72,80,61.5,55},aver;aver=fun(score,5);printf("Average score is:%5.2f\n",aver);}【答案与解析】(1)本题主要考查求累加和的运算。

仔细阅读题目和程序以及所给函数头floatfun(float *a,int n),得知是对a数组中的n个数求平均值,首先要计算其和值再除n,即可。

(2)按上述分析写出的函数是:float fun(float *a,int n){float s=0.0;int i;for(i=0; i<n; i++)s+=a[i];return s/n;}2.请编写函数fun,它的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

例如,二维数组中的数据为:W W W WS S S SH H H H则字符串中的内容应是:WSHWSHWSH。

注意:部分源程序已给出。

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

#include <stdio.h>#define M 3#define N 4voidfun(char(*s)[N], char *b){}main(){char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};int i,j;printf("The matrix:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3c",w[i][j]);printf("\n");}fun(w,a);printf("The A string:\n");puts(a);printf("\n\n");}【答案与解析】(1)本题主要考查数组和指针的概念。

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语言题目及参考答案汇总
{
float a[10],x,t,sum=0;int i,j;
printf("input 10 numbers:\n");
for(i=0;i<10;i++) scanf("%f",&a[i]);
for(i=0;i<10;i++)
{ for(j=9;j>i;j--)
if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
3、输入5个互异的整数,将它们存入数组a中,再输入一个数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出“Not Found”。
#include "stdio.h"
main()
{
int a[5],i,x;
for (i=0;i<5;i++)
scanf("%d",&a[i]);
a[0]=a[index];
a[index]=t;
for(i=0;i<10;i++)
("%5d",a[i]);
printf("\n");
}
2、求输入的10个数字的最大值、最小值、平均值。并将它们从小到大输出来。
#include"stdio.h"
main()
}
printf("The min=%f,the max=%f\n",a[0],a[9]);
for(i=0;i<10;i++) sum=sum+a[i];

c语言上机考试训练题库及答案

c语言上机考试训练题库及答案
2000≤s<3000 10%折扣
3000≤s 15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d),请按照上述标准利用switch语句编写程序计算运费,并画出程序NS图。
#include <stdio.h>
int main()
{
if(i%2==0&&i%3==0&&i%7==0)
printf("%d\n",i);
}
}
26.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include<stdio.h>
main()
{
char ch;
int z=0,k=0,s=0,q=0;
while((ch=getchar())!='\n')
#include<stdio.h>
void main()
{int i,sum=0;
for(i=100;i<=996;i+=4)
if(i/10%10!=4)
sum+=i;
printf("和为:%d",sum);
}
15.输入一个字符串,统计该字符串的长度以及字母a出现的次数。
#include <stdio.h>
void main()
{int i,j=0;
char ch[ ]=" ";
printf("please input some characters\n");
gets(ch);
for (i=0;ch[i];i++)

c语言上机练习题及答案

c语言上机练习题及答案

c语言上机练习题及答案1.从矩形的长,宽,输出面积(长为6.5,宽为4.5)#includemain(){float length,width,area;scanf("%f%f",&length,&width);area=length*width;printf("area=%f\n",area);}2.定义符号常量,从键盘输入圆的半径3.5,求圆的周长和面积#define PI 3.14#includemain(){float r,c,area;scanf("%f",&r);c=2*PI*r;area=PI*r*r;printf("c=%f,area=%f\n",c,area);}3.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)#includemain(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);if(i<0)printf("i=%d\n",-i);}4.从键盘输入一个整数,输出其绝对值(采用if——else语句实现)#includemain(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);elseprintf("i=%d\n",-i);}5.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #includemain(){int year;scanf("%d",&year);if((year%4==0&&year%100!=0)||year%400==0)printf("%d是闰年",year);elseprintf("%d不是闰年",year);}6.输入学生的高考成绩,成绩>=560,输出读一本,如果>=520,输出读二本,如果>=480输出读三本,否则输出读专科#includemain()int score;scanf("%d",&score);if(i>=560)printf("考得很好,你可以读一本学校了\n");else if(i>=520)printf("考得还不错,你可以读二本学校\n");else if(i>=480)printf("你只能读三本学校\n");elseprintf("可以读专科学校,继续努力哦!\n");}7.从键盘输入一个数,判断是否是素数(上机考试重点,必须掌握)#includemain(){int n,i,flag=1;scanf("%d",&n);for(i=2;i<n;i++)< p="">{if(n%i==0){flag=0;break;}}if(flag==1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);8.求1+1/3+1/5+…+1/99的和(上机考试重点,必须掌握)#includemain(){float s=0;int i=1;while(i<=99){s=s+1.0/i;i=i+2;}printf("s=%f",s);}9.求100—200之间所有能被3整除,但不能被7整除的数,并输出这些数#includemain(){int i;for(i=100;i<=200;i++){if(i%3==0&&i%7!=0)printf("%d,",i);}}#includelong fun(int n){long s=1; int i;for(i=1;i<=n;i++)s=s*i;}void main(){ int num;scanf("%d",&num);if(num>0)printf("%d!=%ld \n",num, fun(num));elseprintf("input data error! \n");}main ( ){ int a, b;a=5; b=10;printf (“Before swap, a=%d, b=%d\n", a, b); swap (a, b); printf (“After swap, a=%d, b=%d\n", a, b); }swap (int x, int y){ int temp;temp=x; x=y; y=temp;printf (“In swap, x=%d, y=%d\n", x, y);}int multBy5(int b){b = b * 5;return b;}int main(void){int a = 34, b = 1;a = multBy5(b);printf("a = %d, b = %d\n", a, b);}#includeint a=3,b=5;void main ( ){ int a=8;printf(“%d”,max(a,b)); }max(int a, int b){ int c;c=a>b?a∶b;return (c);}int a=3,b=5;max(int a,int b) {int c;c=a>b?a:b;return c;}main(){int a=8;printf("%d\n",max(a,b)); }int a;fun(int i){a+=2*i;return a;}main(){int a=10;printf("%d,%d\n",fun(a),a);}void main( ){ int fac(int n);int i;for (i=1; i<=5; i++)printf(“%d!=%d\n”, i, fac(i));}int fac(int n){ static int f=1;f=f*n;return(f);}#includevoid main(){int n[ 5 ] = { 1, 2, 3, 4, 5 };int i;for(i=0;i<4;i++)printf(“%d %d\n”,n[i]);}1、执行下面的程序段后,变量k中的值为__________。

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说:他乱说。

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

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

计算机二级C语言上机题库及答案(100套)

计算机二级C语言上机题库及答案(100套)

~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

C语言上机程序设计题库及答案

C语言上机程序设计题库及答案

C语言上机程序设计题库【程序设计】功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。

【参考代码】double y=0;y=sin(m)*10;return(y);功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。

【参考代码】int i,s=0;for(i=x;i<=y;i+=2)s=s+i;return s;功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }功能:求一个四位数的各位数字的立方和。

【参考代码】int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

【参考代码】int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}功能:求一组数中大于平均值的数的个数。

【参考代码】int i,k=0;float s=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f ",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;return k;题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。

C语言上机考试编程题以及答案

C语言上机考试编程题以及答案

C语言上机考试编程题以及答案1、求1+2+3+……….+100。

(循环)答案#include<stdio.h>void main(){int i,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("%d",sum);}2、求1*2*3*……….*10。

(循环)答案void main(){int i=0,j=1;for (i=2;i<=10;i++){j*=i;}printf("%d",j);return 0;}3、输入三个数字,输出他们的最大值。

(if)答案#include<stdio.h>void main(){int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d",d);getch();/*暂停看运行结果*/}int max(int x,int y,int z){int u;if(x>=y&&x>=z)u=x;else if(y>=x&&y>=z)u=y;elseu=z;return(u);4.用起泡法对十个数据排序(数组实现)答案#include<stdio.h>main ( ){ int i,j,t;static int a[10]={5,7,4,2,3,6,1,0,9,8};for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a>a){ t=a;a=a;a=t ;}}}for(i=0;i<10;i++)printf("%2d",a);}5、输入十个数字,逆序输出。

(数组实现)答案#include<stdio.h>main(){int a[10],i=0;for(i=0;i<=9;i++)scanf("%f",&a);printf("\n");for(i=9;i>=0;i--)printf("%f",a);}6输入两个数,交换他们的值并输出。

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语言》上机实验题及参考答案

《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。

1、编程实现对键盘输入的英文名句子进行加密。

用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。

3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。

4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。

5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。

6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。

7、任何一个自然数m的立方均可写成m个连续奇数之和。

例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。

8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

9、编制一个完成两个数的四则运算程序。

如:用户输入34+56则输出结果90.00。

要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。

10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。

如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。

C语言程序设计基础上机考试一题目及参考答案

C语言程序设计基础上机考试一题目及参考答案

1.输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。

2.输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。

3.找出一个大于给定整数m且紧随m的素数。

4.统计老年人各年龄段(每10岁为一个年龄段)的人数并存到b数组中,n个人员的年龄放在a数组中。

5.计算并输出k以内最大的10个能被13或17整除的自然数之和。

6.读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。

7.求A、B两个整数数组数据的交集,并输出交集的数据。

8.输入若干个整数,且每个数均在1000至9999之间,按照每个数的后三位进行升序排序,若后三位相等,则按照原数据升序排序。

9.将字符串s所有的子串t用“copy”替换,并输出替换后的字符串。

10.判断一个整数是否是回文数。

所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。

例如:1221,121是回文数。

1.输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。

2.删除字符串中的数字字符3.计算并输出high以内最大的10个素数之和。

4. A,B是两个整数集合,将A中和B相同的数据删除,并输出删除后的集合。

5.计算字符串s中含有字符串t的数目, 并输出。

6.编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序,输出插入后的字符串。

7.在三位整数中寻找符合条件的整数,并依次有大到小存入数组,并输出,它既是完全平方数,又是两位数字相同。

8.判断一个整数是否是回文数。

所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。

例如:1221,121是回文数。

9.找出200以内所有的完数,并输出其因子。

一个数若恰好等于它的各因子之和,称其为完数。

例如:6=1+2+3,其中1、2、3为因子,6是因子和。

10.统计在字符串str中26个小写英文字母各自出现的次数。

c语言上机试题库及答案

c语言上机试题库及答案

c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。

```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。

```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。

全国计算机二级C语言上机题库及答案

全国计算机二级C语言上机题库及答案
/**********found**********/
a[j] = a[i]; ___2___;
}
/**********found**********/
return ___3___;
}
main()
{ int b[N]={9,1,4,2,3,6,5,8,7}, i, n;
{ t = a[i]; a[i] = min; a[pn] = t;
if (px == i) px =pn;
}
if (px != i+1)
{ t = a[i+1]; a[i+1] = max; a[px] = t; }
}
3.给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。
请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
{ unsigned long x=0; i
/**********found**********/
if(t%2==____1____)
/**********found**********/
x=____2____+t;
printf("\nThe result is: %f\n",fun(e));
}
【参考答案】
(1)3.0或(double)3 (2)> (3) (t+1)
2. 下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。

c 上机试题及答案

c 上机试题及答案

c 上机试题及答案第一部分:多项选择题1. 下面哪个选项是正确的?a) Ab) Bc) Cd) D答案:d) D2. 在计算机科学中,什么是“算法”?a) 一种计算机语言b) 一种软件程序c) 一种解决问题的方法或步骤d) 一种计算机硬件答案:c) 一种解决问题的方法或步骤3. 下面哪个选项是关于二进制的描述?a) 使用0和1进行计算的系统b) 使用10个数字进行计算的系统c) 使用英文字母进行计算的系统d) 使用负数进行计算的系统答案:a) 使用0和1进行计算的系统第二部分:填空题1. 在C语言中,用于在屏幕上输出文本的函数是______。

答案:printf2. 在计算机领域中,RAM代表______。

答案:Random Access Memory(随机存取存储器)3. 当一个程序在运行时遇到错误并突然停止时,我们称之为______。

答案:运行时错误(Runtime Error)第三部分:编程题编写一个C程序,计算并输出1到100之间所有奇数的和。

```c#include <stdio.h>int main(void) {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```答案:1到100之间所有奇数的和为:2500第四部分:简答题1. 请简要解释什么是“数据类型”,并举例说明。

答:数据类型是一种用于定义变量或表达式的特性,包括数据的范围、内存大小和操作。

例如,在C语言中,int是一种数据类型,用于定义整数类型的变量,如:```cint age = 25;```2. 请简要介绍一下C语言的特点。

答:C语言是一种通用、高级的编程语言,具有以下特点:- 结构简洁:C语言的语法相对简单,易于学习和理解。

- 高效性:C语言可以生成高效的机器代码,执行速度快。

《C语言程序设计习题与上机指南》答案

《C语言程序设计习题与上机指南》答案

《C语言程序设计习题与上机指南》答案第一部分习题篇第一章c语言概述一、单选题1.以下说法中正确的是(c)。

a) C语言程序总是从第一个函数开始执行b)在c语言程序中,要调用函数必须在main()函数中定义c)c语言程序总是从main()函数开始执行d) C语言中的main()函数必须放在程序的开头。

2.C语言程序由(b)组成。

a)一个主程序和若干子程序组成b)函数组成c)若干过程组成d)若干子程序组成3.C语言指定主函数在源程序中的位置(C)。

a)必须在开头b)必须在系统调用的库函数之后c)可以是任意的d)必须在结尾4。

以下陈述不正确(d)。

a)一个c源程序可由一个或多个函数组成b)一个c源程序必须包含一个main函数c)c程序的基本组成单位是函数d)在C程序中,注释只能放在一条语句之后。

5.以下关于C语言的陈述不正确(d)。

a)c语言既有高级语言的功能,也具有低级语言的一些功能b)c语言中的一条执行语句都必须用分号结束c)注释可以出现在程序中任意合适的地方d)include命令行后面必须加分号6.用c语言编写的代码程序(b)。

a)可以立即执行b)是一个源程序c)用高级语言(如c语言)编写的程序称为(a)源程序B)目标程序c)可执行程序d)编译器8。

函数的组成是(a)。

a)函数首部和函数体b)函数名和函数的声明部分c)主函数和子函数d)声明部分和执行部分9.在C语言中,用来表示“take address”的符号是(b)。

a)#b)和c)*d)10.c语言是计算机高级语言,它适合于作为系统描述语言,它(a)。

a)既可用来写系统软件,也可用来写应用软件b)只能写系统软件,不能用来写应用软件c)不能写系统软件,只能用来写应用软件d)既不能写系统软件,也不能写应用软件二.填空题1.C语言使用函数作为程序的模块单元,便于实现程序的模块化。

2.C语言允许直接访问物理地址和位操作。

3.用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语言程序设计上机习题与参考答案

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

C语言程序设计上机习题与参考答案1、给出三角形的三边a、b、c,求三角形的面积(应先判断a、b、c三边是否能构成一个三角形)。

2、某幼儿园只收2~6岁的小孩,2~3岁编入小班,4岁编入中班,5~6岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。

3、编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:(1)能同时被3、5、7整;(2)能同时被3、5、7中的两个数整除,并输出这两个数;(3)只能被3、5、7中的一个数整除;(4)不能被3、5、7中的任何一个数整除。

4、请列出所有的个位数是6,且能被3整除的两位数。

5、求1~500中能被5整除的数的倒数之和。

6、编写程序,输入某门功课的若干个同学的成绩,以-1作为终值,计算平均成绩并输出。

7、若口袋里放入12个球,3个红球,3个白的,6个黑的,从中任取8个,编写程序,列出所有可能的取法。

8、编写一个程序,求2022!的末尾有多少个0?9、一个自然数平方的末几位与该数相同时,称该数为同构数。

例如:252=625,则25为同构数。

编程求出1~1000中的同构数。

10、输入一个较大的整数,求小于该整数的最大5个素数。

n11、求下列数列的近似值:S=1-1/22+1/33-1/44+(-1)/nn.输入精度,当某一项的精度小于该值时停止计算。

floatfun(floatep){}voidmain(){floatep;canf(“%f”,&ep);printf(“%f\n”,fun(ep));}12、编写一个函数change(int某,intr),将十进制整数某转换成r(1<r<10)进制后输出。

13、求1000以内的亲密数对。

亲密数对的定义为:若整数a的所有因子(不包括本身)之和为b,b的所有因子(不包括b本身)之和为a,且a和b不相等,则称a与b为亲密数对。

intfun(int某){}voidmain(){intn,a,b;for(n=1;n<1000;n++){b=fun(n);a=fun(b)if(a!=b&&a==n)printf(“\n%d,%d\n”,a,b);}}14、用递归法求下列问题的解:一对小兔,一个月后长成中兔,第二个月长成大兔,长成大兔,长成大兔后以后每个月生一对小兔。

(完整版)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);}输入一个摄氏温度,要求输出华氏温度。

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

、求1+2+3+……….+100。

(循环)答案#include<stdio.h>void main(){int i,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("%d",sum);}2、求1*2*3*……….*10。

(循环)答案void main(){int i=0,j=1;for (i=2;i<=10;i++){j*=i;}printf("%d",j);return 0;}3、输入三个数字,输出他们的最大值。

(if)答案#include<stdio.h>void main(){int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d",d);getch();/*暂停看运行结果*/}int max(int x,int y,int z){int u;if(x>=y&&x>=z)u=x;else if(y>=x&&y>=z)u=y;elseu=z;return(u);4.用起泡法对十个数据排序(数组实现)答案#include<stdio.h>main ( ){ int i,j,t;static int a[10]={5,7,4,2,3,6,1,0,9,8};for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a >a ){ t=a ;a =a ;a =t ;}}}for(i=0;i<10;i++)printf("%2d",a );}5、输入十个数字,逆序输出。

(数组实现)答案#include<stdio.h>main(){int a[10],i=0;for(i=0;i<=9;i++)scanf("%f",&a );printf("\n");for(i=9;i>=0;i--)printf("%f",a );}6输入两个数,交换他们的值并输出。

(元素交换) 答案#include<stdio.h>int main (){int m,n,temp;scanf("%d%d",&m,&n);if (m<n){temp=m;m=n;n=temp;}printf("%d",m);return 0;}7.输出9*9乘法表。

(双层循环)答案#include <stdio.h>void main(){int i=1;for(i; i<=9; i++){int j=1;for(j;j<=i;j++){printf("%d*%d=%d ", i, j, i*j);}printf("\n");}}8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。

输出转变后的这行字符。

答案#include "stdio.h"void main(){char a[n];int i;scanf("%s",a);printf("大写为:");for(i=0;i<=n;i++){if(a <='z'&&a >='a')a =a -32;printf("%c",a );}printf("\n小写为:");for(i=0;i<=3;i++){a =a +32;printf("%c",a );}}9、编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。

输出运算式及运算结果。

(switch)6.2#include"stdio.h"main(){char c;int i=0,j=0,k=0,l=0;while((c=getchar())!=’\n’){if(c>=65&&c<=90||c>=97&&c<=122) i++;else if(c>=48&&c<=57) j++;else if(c==32) k++;else l++;}printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);}6.6#include"math.h"main(){int x=100,a,b,c;while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf("%5d",x);x++;}}6.7main(){int m,i,j,s;for(m=6;m<10000;m++){s=1;for(i=2;i<m;i++)if(m%i==0) s=s+i;if(m-s==0){printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0)printf("%d ",j);printf("\n");}}}或main(){int m,i,j,s;for(m=6;m<1000;m++){s=m-1;for(i=2;i<m;i++)if(m%i==0) s=s-i;if(s==0){printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0)printf("%d ",j);printf("\n");}}}6.8main(){int i=1,n;double t,x=1,y=2,s,sum=0;scanf("%ld",&n);while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}printf("%f\n",sum);}11,P128 例6.10(译码)#include<stdio.h>void main(){char c;while((c=getchar())!='\n'){c=c+4;if(c>'Z'+4||c>'z')c=c-26;}printf("%c",c);}printf("\n");}12,P111 5.5 5.6(switch)5.5#include <stdio.h>main(){int x,y;printf("输入x:");scanf("%d",&x);if(x<1){ y=x;printf("x=%3d, y=x=%d\n",x,y);}else if (x<10){ y=2*x-1;printf("x=%3d, y=2*x-1=%d\n",x,y); }else{ y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x,y); }}5.6#include <stdio.h>main(){ float score;char grade;case 2:printf("请输入学生成绩:");scanf("%f",&score);while(score>100||(score<0){ printf("\n输入有误,请重新输入:"); scanf("%f",&score);}switch((int)(score/10)){ case 10:case 9: grade=’A’;break;case 8: grade=’B’;break;case 7: grade=’C’;break;case 6: grade=’D’;break;case 5:case 4:case 3:case 1:case 0: grade=’E’;}printf("成绩是%5.1f,相应的等级是%c。

\n",score,grade); }13,P108 例5.5(一元二次方程求根) 例5.6(求闰年)5.5#include<stdio.h>void main(){int year,leap;scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%d is",year);elseprintf("%d is not",year);printf("a leap year.\n")}5.614,P31 例2.17 例2.182.17输出50个学生中成绩高于80分者的学号和成绩2.18输出2000——2500年每一年是否闰年#include<stdio.h>void main(){int year;year=2000;go: if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0)) printf("%d is run nian",year);if(year<=2500)year=year++;if(year>2500)goto end;goto go;end: getch();}。

相关文档
最新文档