C语言上机部分题库150道题
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语言程序设计上机考试试题和参考答案
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)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。
A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的'(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。
A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。
A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。
A.一致性B.分类性C.多态性D.标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。
c语言上机考试题库
c语言上机考试题库单项选择题1.有char c=’1’,下面说法中正确的是()。
A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。
A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。
A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。
x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。
A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。
A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。
A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。
A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。
A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。
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语言上机题库
C语言上机题库C语言习题集3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。
输入格式:B输出格式:26#includeint main(void){char ch;int sum;ch=getchar();sum=ch-'A'+10+15;printf("%d\n",sum);return 0;}3.12输入三个整数,求其平均值。
输入格式:3 5 7输出格式:5#includeint main(void){int a,b,c,aver;scanf("%d %d %d",&a,&b,&c);aver=(a+b+c)/3;printf("%d\n",aver);return 0;}3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。
输入格式:80.0输出格式:26.67#includeint main(void) {float f,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f\n",c);return 0;}3.14输入一个四位正整数,求其各位数字之和。
例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。
输入格式:1357输出格式:16#includeint main(void){int num;int a,b,c,d,total;scanf("%d",&num);a=num/1000;b=(num-a*1000)/100;c=(num-a*1000-b*100)/10;d=num-a*1000-b*100-c*10;total=a+b+c+d;printf("%d\n",total);return 0;}3.15输入一大写字母,输出对应的小写字母。
C语言1-15套上机题
第1套上机考试试题1. 填空题1.下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入“Ab,cD”,则输出“ab,cd”。
#include <stdio.h>#include <string.h>#include <conio.h>char 1 fun(char tt[]){int i;for(i=0;tt[i];i++){if((tt[i]>='A')&&(tt[i]<= 2 )) tt[i]+=32;}return(tt);}main(){char tt[81];printf("\nPlease enter a string: ");gets(tt);printf("\nThe result string is:\n%s",fun( 3 ));}2.函数fun()的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。
#include<conio.h>#include<stdio.h>#include<string.h>void fun(char *ss){int i;for(i=0;ss[i]!='\0';i++)if(i%2==1&&ss[i]>='a'&&ss[i]<='z')1}main(){2 *wf;char tt[81],s[10]="abc4Efg" 3printf("\nPlease enter an string within 80 characters:\n");gets(tt);printf("\n\nAfter changing, the string\n%s",tt);fun(tt);printf("\nbecomes\n%s\n",tt);wf=fopen("out.dat","w");fun(s);fprintf(wf,"%s",s);fclose(wf);}例如,若输入abc4Efg,则应输出aBc4EFg。
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语言上机编程题,全
上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。
#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。
#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。
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语言上机题库50套
1、 *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、编程:i n t i,j=0,m i n=a[0].s;fo r(i=0;i<N;i++){i f(a[i].s<m i n){j=0;b[j++]=a[i];m i n=a[i].s;}e l se i f(m i n==a[i].s)b[j++]=a[i];}re t u rn j;3:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、i n t i = 0, j = 0;w h i l e(s[i]){i f(i%2==0&&s[i] %2==0)t[j++] =s[i];i++;}t[j] = 0;5、编程:i n t i;f l o at av e r=0.0;fo r(i=0;i<n;i++)av e r+=a[i];av e r=av e r/n;re t u rn av e r;6、编程:i n t i;ch ar *p=s,*q=t;i n t n=0,m=0;w h i l e(*p) /*计算串s的长度n,其中p为临时指针*/{n++;p++;}w h i l e(*q) /*计算串t的长度m,其中q为临时指针*/ {m++;q++;}i f(n>=m) /*比较m和n的值,设置p指向较大的指针*/ p=s;e l sep=t;re t u rn p;7、编程:*n=0; i n t i;fo r(i=1;i<=m;i++)i f(i%7==0||i%11==0)a[*n++]=i;8、n t i;fo r(i=1;i<s t rl e n(s s);i+=2){I f( (s s[i]>='a'&&s s[i]<='z') s s[i]-=32;9、编程:i n t i,j=0;fo r(i=0;i<s t rl e n(s);i+=2)i f(s[i]%2==0) t[j++]=s[i];t[j]='\0';10、编程:i n t i,j=0;fo r((i=0;i<s t rl e n(s);i+=2)t[j++]=s[i];t[j]='\0';11、编程:i n t i,j;i n t t=0;fo r(i=2;i<m;i++){j=2;w h i l e(j<i){i f(i%j==0){x x[t]=i;t++;b re ak;}j++;}*k=t;12、i n t cn t=0;ch ar *p=s s;w h i l e(*p){i f(*p==c)cn t++;p++;}re t u rn cn t;13.编程题:i n t c[3][3];fo r(i=0,i<3;i++)fo r(j=0;j<3;j++){c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j];}14、i n t i;*n=0;fo r(i=7;i<1000;i++)i f (((i%7)==0)||((i%11)==0)&&((i%77)!=0)a[(*n)++]=i;15、ch ar *p=t t;i n t i;fo r(i=0;i<26;i++)p p[i]=0;w h i l e(*p){i f(*p>='a'&&p<='z')p p[*p-'a']+=1;p++;}16、i n t p,m=0;fo r(p=0;p<L E N;p++)i f(p!=n){b[m]=a[p];m++;} b[m]='\0';17、编程:i n t k;f l o at s t r=1.0,s u m=1.0;fo r(k=2;k<=n;k++){s um=s um+k;s t r=s t r+1/s u m;}re t u rn s t r;18 f l o at x1=0.0,x0;d o{x0=x1;x1=co s(x0);}w h i l e(f ab s(x0-x1)>0.000001);re t u rn x1;19、编程:i n t f0=0,f1=1,f;d o{f=f0+f1;f0=f1;f1=f;}w h i l e(f<t);re t u rn f;20、编程: d o u bl e s=0.0;i n t i;fo r(i=1;i<=m;i++)s=s+l o g(1.0*i);s=s q rt(s);re t u rn s;21、编程: *c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;22、编程:S TR E C t m p;i n t i,j;fo r (i=0;i<N;i++)fo r (j=i+1;j<N;j++)i f(a[i],s<a[j],s){tm p=a[i];a[i]=a[j];a[j]=tm p;23、编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);24编程: ch ar *p=p1;w h i l e (*p)p++;w h i l e(*p2){*p++=*p2++;*p=0;}25. 编程: l o n g s=0, t;i n t i=0,j,n=s t rl e n(p),k,s1;i f (p[0]=='-')i++;fo r (j=i;j<=n-1;j++){t=p[j]-'0';s1=10;fo r (k=j;k<n-1;k++)t*=s1;s+=t;}i f (p[0]=='-')re t u rn–s;e l se re t u rn s;26,编程:d o u bl e s;f l o at n,t,p i;t=1;p i=0;n=1.0;s=1.0;w h i l e((f ab s(s))>=e p s){p i+=s;t=n/(2*n+1);s*=t;n++;}p i=p i*2;re t u rn pi;27、编程:i n t i;*m ax=a[0];*d=0;fo r(i=0;i<n;i++)i f(*m ax<a[i]);{*m ax=a[i];*d=i;}28、编程: i n t i,j,m ax=a[0][0];f o r(i=0;i<2;i++)f o r (j=0;j<M;j++)i f(m ax<a[i][j])m ax=a[i][j];re t u rn m ax;29、编程:i n t i,j=o;fo r(i=1;i<s t rl e n(s);i+=2)i f (i%2==0&&s[i]%2)t[j++]=s[i];t[j]='\0';30编程:i n t i,j=0;fo r(i=1;i<s t rl e n(s);i+=2)i f(s[i]%2)t[j++]=s[i];t[j]='\0';31、编程:ch ar *p=s si n t i=0;w h i l e(*p){i f((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;}32、*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;33、编程:fl o at av=0.0;i n t i,j=0;fo r(i=0;i<m;i++)av+=s co re[i];av/=m;fo r(i=0;i<m;i++)i f(av>sco re[i])be l o w[j++]=s co re[i];re t u rn j;34、编程:i n t i=0;*n=0;f o r (i=1;i<=x;i++)i f((x%i==0)&&(i%2))p p[(*n)++]=i;35、 i n t r=0,t e m p,p,s i g n=1;f o r(t e m p=m+1;te m p<m*m;te m p++){fo r(p=2;p<te m p;p++){i f(te m p%p!=0)s i g n=1;e l se{s i g n=0;b re ak;}}i f(si g n==1&&p>=te m p){i f(k>=0){x x[r++]=te m p;k- -;}e l se b re ak;}}36编程:i n t i,p o s=0,m ax=*s;fo r(i=1;i<t;i++){i f(m ax<*(s+i)){m ax=*(s+i);p o s=i;}}*k=po s;37、编程:fl o at re s ul t,te m p=1.0;i n t i;fo r(i=1; i<=m;i++)t e m p=tem p*i;re s ul t=te m p;fo r(te m p=1.0,i=1;i<=n;i++)t e m p=tem p*i;re s ul t=re s ul t/te m p;fo r(te m p=1.0,i=1;i<=m-n;i++)t e m p=tem p*i;re s ul t=re s ul t/te m p;re t u rn re s ul t;38. i n t i;fo r(i=21;i<=n;i++)i f((i%3==0)&&(i%7==0))s um=s um+i;re t u rn s p rt(s um);39、编程:d o u bl e s=0.0;i n t i;fo r(i=1;i<=n;i++)s=s+1.0/(i*(i+1));re t u rn s;45、编程:i n t i;d o u ble a=1,b=1,s=1;fo r(i=1;i<=n;i++)41、i n t i,n=0,fg=1;ch ar *p=s t r;w h i l e(*p){n++;p++;}fo r(i=0;i<n/2;i++)i f(s t r[i]==s t r[n-1-i]);e l se{fg=0;b re ak;}re t u rn fg;42、编程:i n t i,j;fo r(i=0;i<m m;i++)fo r(j=0;j<n n;j++){b[*n]=*(*(s+i)+j);*n=*n+1;}43 f o r(j=0;j<n n;j++)fo r(i=0;i<m m;i++)b[n p++]=s[i][j];44..编程:i n t i,j,k=0;fo r(i=0;i<M;i++){fo r(j=0;j<N;j++)i f*(*(a+i)+j){b[k]=*(*(a+i)+j};k++;}e l seb re ak;b[k]=’\0’;}45、编程:i n t b[N],i,j=0;fo r(i=p+1;i<n;i++){b[j]=w[i];j++;}fo r(i=0;i<=p;i++){b[j]=w[i];j++;}fo r(i=0;i<n;i++)w[i]=b[i];46、ch ar a[N];i n t i;fo r(i=0;i<m;i++)a[i]=w[i];w h i l e(w[i]){w[i-m]=w[i];i++;}i--;m--;fo r(;m>=0;m--;i--) w[i]=a[m];47、编程: fo r(j=0;j<M;j++)b[n]=s[j][i];48、编程; i n t i,t,j=0,*p=a;t=p[0];fo r(i=0;i<=n;i++)i f(t==p[i]);e l se{a[j]=t;t=p[i];j++;}i f(i>=n)a[j]=t;re t u rn j;49、编程:i n t i;fo r(i=0;j<M;i++) b[i]=0;fo r(i=0;i<N;i++)i f(a[i]>=100)b[10]++;e l se b[a[i]/10]++;50、编程: i n t i,n=0;fo r(i=0;i<s t rl e n(s);i++){i f(s[i]>=’ a’&&s[i]<=’z’&&s[i+1]=’ ’|s[i+1]==’\0’)n++;}51./*b%10获取b的个位,a/10获取a的十位,a%10获取a的个位,b/10获取b的十位*/ *c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;52. i n t i,j;ch ar t;fo r(i=1;i<=m;i++){t=w[0];fo r(j=1;w[j]!=′\0′;j++)w[j-1]=w[j];w[j-1]=t; }}。
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语言期末上机考试题库【精品】
上机考试练习题1、程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入 x,计算并输出下列分段函数 f(x) 的值(保留1位小数)。
当 x 不等于0时,y = f(x) = 1/x,当 x 等于0时,y = f(x) = 0。
输入输出示例:括号内是说明输入2 (repeat=2)10 (x=10)0 (x=0)输出f(10.00) = 0.1f(0.00) = 0.0#include <stdio.h>\{int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%lf", &x);/*---------*/if(x!=0) y=1/x;else y=0;printf("f(%.2f) = %.1f\n", x, y);}}20022程序填空,不要改变与输入输出有关的语句。
输入华氏温度,输出对应的摄氏温度。
计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。
输入输出示例:括号内为说明输入150 (fahr=150)输出celsius = 65#include <stdio.h>int main(void)int celsius, fahr;/*---------*/scanf(“%d”,&fahr);celsius=5.0*(fahr-32)/9;printf("celsius = %d\n", celsius);}20023程序填空,不要改变与输入输出有关的语句。
输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。
c语言上机考试题库
一、程序填空题请补充函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。
数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:1,1,1,2,2,2,3,4,4,5,5,6,6,7,7,8,9,9,10,10。
删除后,数组中的内容应该是:1,2,3,4,5,6,7,8,9,10。
#include<stdio.h>#define N 80int fun(int a[],int n){int i, t,j=0;t=a[0];for(i=1;i<n;i++)if( ______ );else{______ ;t=a[i];}a[j++]=t;return j;}main(){int a[N]={1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8,9,9,10,10},i,n=20;printf("The original data:\n");for(i=0;i<n; i++)printf("%4d",a[i]);n=fun(a,n);printf("\n\nThe data after deleted \n");for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}程序修改题下列给定程序中,函数fun()的功能是:实现两个整数的交换。
例如给a和b分别输入60和65,输出为:a=65 b=60请改正程序中的错误,使它能得出正确的结果。
#include<stdio.h>#include <conio.h>/**********************found***********************/void fun(int a,b){ int t;/**********************found***********************/t=b;b=a;a=t;}main(){ int a,b;printf("Enter a, b: "); scanf("%d%d",&a,&b);fun(&a, &b);printf("a=%d b=%d\n ", a,b);}程序设计题下列程序定义了N×N的二维数组,并在主函数中自动赋值。
c上机考试试题
c上机考试试题# C上机考试试题一、单项选择题(每题2分,共20分)1. 下列关于C语言基本数据类型的说法中,错误的是()。
- A. `int` 类型通常用于表示整数- B. `float` 类型用于表示单精度浮点数- C. `double` 类型用于表示双精度浮点数- D. `char` 类型用于表示一个字符或整数2. 在C语言中,用于定义数组的关键字是()。
- A. `define`- B. `array`- C. `list`- D. `int[]`3. C语言标准输入输出使用的库函数是()。
- A. `<stdio.h>`- B. `<math.h>`- C. `<stdlib.h>`- D. `<iostream>`4. 下列哪个是C语言中的合法标识符?()- A. `class`- B. `case`- C. `2b`- D. `user_name`5. C语言中,用于实现字符串连接的函数是()。
- A. `strcpy()`- B. `strcat()`- C. `strlen()`- D. `strncpy()`6. 在C语言中,`printf` 函数的返回类型是()。
- A. `int`- B. `float`- C. `char`- D. `void`7. 下列关于C语言函数的描述中,错误的是()。
- A. 函数可以返回一个值- B. 函数可以没有返回值- C. 函数必须有返回值- D. 函数可以有多个返回值8. 在C语言中,用于计算两个整数的最大值的宏定义在哪个头文件中?()- A. `<math.h>`- B. `<stdlib.h>`- C. `<limits.h>`- D. `<stdio.h>`9. C语言中,`break` 语句的作用是()。
- A. 跳出整个循环- B. 跳出最近的一个循环- C. 跳出整个程序- D. 继续下一次循环10. 下列关于C语言结构体的描述中,错误的是()。
大一c语言上机考试题库及答案
大一c语言上机考试题库及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. @答案:B3. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B4. 在C语言中,以下哪个关键字用于声明一个函数?A. voidB. intC. returnD. main答案:B5. C语言中,以下哪个关键字用于声明一个无限循环?A. forB. whileC. do-whileD. switch答案:B二、填空题1. 在C语言中,使用________关键字可以定义一个数组。
答案:int2. C语言中,使用________函数可以计算一个字符串的长度。
答案:strlen3. 在C语言中,使用________运算符可以访问数组的元素。
答案:[]4. C语言中,使用________关键字可以声明一个指针。
答案:*5. 在C语言中,使用________函数可以将一个整数转换为字符串。
答案:itoa三、编程题1. 编写一个C程序,计算并输出100以内所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of all odd numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C程序,实现字符串的反转。
```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```3. 编写一个C程序,实现两个整数的交换。
C语言正式上机题
C语⾔正式上机题C语⾔上机实验题⽬1 打印图形1.输⼊n值,打印下列图形:**************** 当n = 4时2.输⼊n值,打印下列⾼和上底均为n 的等腰梯形:**************************** 当n = 4时3.输⼊n值,打印下列⾼和下底均为n 的等腰梯形:**************************** 当n = 4时4.输⼊n值,打印下列⾼和上底均为n的等腰空⼼梯形:****** ** ** ************** 当n = 5时5.输⼊n值,打印下列⾼和下底均为n的等腰空⼼梯形:************** ** ** ****** 当n=5时6.编写程序打印下列上三⾓形式的乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————1 2 3 4 5 6 7 8 94 6 8 10 12 14 16 1825 30 35 40 4536 42 48 5449 56 6364 72817.编写程序打印下列乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————8164 7249 56 6336 42 48 5425 30 35 40 4516 20 24 28 32 369 12 15 18 21 24 274 6 8 10 12 14 16 181 2 3 4 5 6 7 8 98.编程打印数字⾦字塔:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 9.编程打印数字⾦字塔:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 110.输⼊n值,打印边长为n的空⼼正六边形:******* ** ** ** ** ** ** ** ** ******* 当n = 6时11.编写程序输出下⾯的图形,要求输⼊顶⾏字符和图形的⾼。
(完整版)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语言
上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。
2. 若有定义int a=10;,则表达式a++的值是______。
3. C语言中,用于声明一个浮点型变量的关键字是______。
4. 在C语言中,用于声明一个字符型变量的关键字是______。
5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
001.某一门课程考试之后,需要统计考生(10 人)的平均成绩,并找出其中的最高分和最低分。 #include<stdio.h> #include<conio.h> main() {
float a[10],ave,max,min,sum=0; int i; printf("请输入 10 个考生的成绩:\n"); for(i=0;i<10;i++) scanf("%f",&a[i]); for(i=0;i<10;i++) sum+=a[i]; ave=sum/10; max=a[0]; for(i=1;i<10;i++)
{ if(s[i]==' ') space++; else if(s[i]<='9' && s[i]>='0') num++; else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[i]>='A') ch++; else n++; i++;
} printf("刚才输入的字符中英文字符个数为 %d\n", ch); printf("刚才输入的字符中空格个数为 %d\n", space); printf("刚才输入的字符中数字个数为 %d\n", num); printf("刚才输入的字符中其他个数为 %d\n", n);
main() {
int i,result; for(i=100,result=0;i<=200;i++) {
if(i%7==0) result=result+i; } printf("100-200 之间的所有 7 的倍数之和为%d",result); while(1); } 17.输出 1-100 之间,7 的整数倍数或数字尾数为 7 的数字,统计出这些数字个数。 #include<stdio.h>
return result;
} main() {
int n,m; long result; printf("请输入两个小于等于 10 的整数\n"); scanf("%d%d",&n,&m); if(n>=0&&n<=10&&m>=0&&n<=10) {
result=fac(n)+fac(m); printf("%d!+%d!=%ld",n,m,result); } else printf("输入数据错误"); while(1); } 15.用循环语句,计算 1~100 之间的所有 3 的倍数之和。 #include<stdio.h>
t=num%10; num=num/10; printf("%d",t); } getch(); } 008.计算 s=1+1/3+1/5+…+1/n,截止到 1/n<10-4。 #include<stdio.h> #include<conio.h> main() { int n; float t=1,s=0; for(n=1;t>0.0001;n+=2) {
main() {
int i,result; for(i=1,result=0;i<=100;i++) {
if(i%3==0) result=result+i; } printf("1~100 之间的所有 3 的倍数之和为%d",result); while(1); } 16.用循环语句,计算 100-200 之间的所有 7 的倍数之和。 #include<stdio.h>
{
result=i+result;
}
printf("1+2+...+100=%d",result);
while(1);
}
13.输入一个小于等于 10 的整数 n ,计算 n!。
#include<stdio.h>
long fac(int n)
{
long result;
if(n==0||n==1) {result=1;}
main() {
int i,num; for(i=1,num=0;i<=100;i++) {
if(i%7==0||i%10==7) num++; } printf("1-100 之间,7 的整数倍数或数字尾数为 7 的数字个数为%d",num); while(1); } 18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。 #include <stdio.h> int main() { int i=0, space=0, num=0, n=0, ch=0; char s[1000000]; printf("请输入一串字符 "); gets(s); while(s[i] != '\0')
t=(float)1/n; s=s+t; } printf("s=%f",s); getch(); } 009.从键盘输入一整数 n,计算 1*1+2*2+...+n*n 的值。 #include<stdio.h> #include<conio.h> main() { int n,i,s=0; printf("请输入一个整数:\n"); scanf("%d",&n); for(i=1;i<=n;i++) s=s+i*i; printf("%d",s); getch(); } 010.用 while 循环计算 1+2+……+100 的和。 #include<stdio.h> #include<conio.h> main(入 367,则该数有 3 位数。 #include<stdio.h> main() {
int n,i,j; i=1;j=0; printf("请输入一个整数\n"); scanf("%d",&n); if(n==0) printf("这个数是 1 位数",j); else {
if(a[i]>max) max=a[i]; min=a[0]; for(i=1;i<10;i++) if(a[i]<min) max=a[i]; printf("平均成绩:%f,最高分:%f,最低分:%f",ave,max,min); getch(); } 003.用 while 循环结构编写程序打印 ASCII 码为 33-127 的字符。 #include<stdio.h> #include<conio.h> main() { int i=33; while(i<=127) { printf("%c ",i); i++; } getch(); } 004 用 do-while,for 循环结构编写程序打印 ASCII 码为 33-127 的字符。 #include<stdio.h> #include<conio.h> main() { int i=33; do { printf("%c ",i); i++; }while(i<=127); getch(); } 006.在 1-500 中,找出能同时满足用 3 除余 2,用 5 除余 3,用 7 除余 4 的所有整数,用循环结构。 #include<stdio.h> #include<conio.h> main() { int i; for(i=1;i<=500;i++) { if(i%3==2&&i%5==3&&i%7==5) printf("%d\n",i); } getch(); }
main() {
printf("Y="); int n,result; for(n=1,result=0;n<=111;n=n+2) {
printf("%d+",n); result=result+n; } printf("=%d\n",result); while(1); } 23.编程 y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。 #include<stdio.h> #include<conio.h> main() { int i; long int y; y=1; for(i=1;i<=10;i++) { y=y*i; } printf("y=1/%ld",y); getch(); } 24.编程输出九九乘法表。 #include<stdio.h> #include<conio.h> main() { int i,j; for (i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%d\t",j,i,i*j); printf("\n"); } getch(); } 25.求 1 到 100 奇数和。 #include<stdio.h> #include<conio.h> main() { int i=0,n; for(n=1;(2*n-1)<100;n++) i=i+(2*n-1); printf("1 到 100 以内的奇数之和为:%d\n",i); getch(); } 26.求 1 到 100 偶数和。 #include<stdio.h> #include<conio.h> main() { int i,s; s=0; for(i=2;i<=100;i=i+2) s=s+i; printf("1 到 100 的偶数和是:"); printf("s=%d\n",s); getch(); }