C语言上机练习题
c语言上机春考考试试题及答案

c语言上机春考考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. /* 这是注释D. // 这是注释答案:B3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. string答案:D5. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A7. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. constD. #define答案:D8. 下列哪个选项是C语言中正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. sizeof()答案:A10. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncpy()D. strncat()答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 在C语言中,使用________运算符可以连接两个字符串。
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语言上机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语言上机考试训练题库及答案

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语言上机(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语言上机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语言上机作业试题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语言上机练习共35篇

c语言上机练习共35篇C 语言程序上机实训题上机练习一一、程序改错题:程序功能:求 100 以内的偶数之和. #include "stdio.h" main() { int i,sum=1; sum+=i; printf("Sum=%d \n";sum); getch(); } 二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。
main() { int number[10]; input(number); max_min(number); output(number);} input(int number[10]) { int i; for(i=0;【?】;i++) scanf("%d,",&number[i]); scanf("%d",&number[9]);} max_min(int array[10]) { int max,min,k=0,l=0,t,p,; max=min=array[0]; for(p= 1;pmax) {max= array[p];k=p;} else if(array[0] /**********End **********/} main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %ld\n", fun(m)); }1C 语言程序上机实训题上机练习二一、程序改错题:功能:求 1 到 10 的阶乘的和。
main() { int i; float t,s=0; float fac(int n); for(i=1;i #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f%f%f",&a,&b,&c); printf("the equation"); if(【?】/********** }End **********/2C 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。
C语言上机100题

一、填空题考试做题要求:1、在__1__处填写正确的答案,并将下划线和数字删除。
2、将题目做完之后一定要保存。
3、不能删除/**********found**********/,也不能多行或少行。
1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时, 程序输出:x1=5.000000, x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
#include <stdio.h>#include <string.h>struct student {long sno;char name[10];float score[3];};void fun(struct student a[], int n){ /**********found**********/__1__ t;int i, j;/**********found**********/for (i=0; i<__2__; i++)for (j=i+1; j<n; j++)/**********found**********/if (strcmp(__3__) > 0){ t = a[i]; a[i] = a[j];a[j] = t; }}main(){ struct student s[4]={ {10001,"ZhangSan", 95, 80, 88}, {10002,"LiSi", 85, 70, 78}, {10003,"CaoKai", 75, 60, 88},{10004,"FangFang", 90, 82, 87}};int i, j;printf("\n\nThe original data :\n\n");for (j=0; j<4; j++){printf("\nNo:%ldName:%-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}fun(s, 4);printf("\n\nThe data after sorting:\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}}3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
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语言上机练习40题

1、编写程序,要求按如下图形打印杨辉三角形的前5行。
其特点是:三角形两个腰上的数都为1,其它位置上的每一个数是它上一行相邻两个整数之和。
11 11 2 11 3 3 11 4 6 4 12.输入任意3个整数,将它们按从小到大顺序输出。
要求利用指针的方法编程。
3.输入任意的10个整数,将其中最大的数与最后一个数交换,其中最小的数与第一个数交换,最后输出交换后的10个整数。
例如:输入的10个数及其顺序为:7 4 98 56 34 3 44 81 41 67则输出时的顺序为: 3 4 67 56 34 7 44 81 41 984.任意给出10个整数,编程使其中的最后m个数变成最前面的m个数(m<10),要求m在程序运行后再给出。
例如:输入的10个数及其顺序为:7 4 98 56 34 3 44 81 41 67,当m=3时,则输出时的顺序为:81 41 67 7 4 98 56 34 3 446.编写一个求字符串的长度,要求在main函数中输入字符串,并输出其长度。
7.编写input()和output()函数输入、输出3个学生的数据记录,每个记录要求包括学号、姓名和总成绩。
例如:input 1 of 3:num:01name:wangscore :67input 2 of 3:num:02name:zhangscore :77input 3 of 3:num:03name:liscore :86No. name score1 score2 score301 wang 67 87 7502 zhang 77 65 8903 li 86 69 738.输入三角形的三边长,求三角形面积。
求三角形面积的公式为:area=s(s-a)(s-b)(s-c),其中s=(a+b+c)/2.9. 编程求圆柱体积,圆柱表面积。
要求圆半径,圆柱高是在程序运行时由键盘输入,输出时取小数点后两位数字。
10. 有一函数:当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11。
c语言上机练习

}
答案:
2行main
4行末尾少分号
3.编写程序在屏幕上显示以下内容:
Programming is fun.
And Programming in C is even more fun!
答案:
#include <stdio.h>
int main( )
{
printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;
char c1='a',c2='b';
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%f,y=%f,z=%f\n",x,y,z);
printf("x+y=%5.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6u n=%7ld\n",u,n);
return 0 ;
}
4.编写程序输出以下图案:
* * * *
* * *
* *
*
答案:
#include <stdio.h>
void main( )
{
printf("* * * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" *\n");
}
5.编写程序,计算并在屏幕上显示10~20的平方值。
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语言上机试题库及答案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语言上机练习题及答案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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Description
编写程序,找出 1~999 之间的全部同构数。 同构数是这样的数,它出现在它的平方数的右边,例如:5 是 25 的右边的数,25 是 625 右 边的数,5 和 25 都是同构数。
Input
某数是这样组成的,例如 615=5+55+555。如果已经知道这个数字,
和最大的位数,请计算出这个数来。如数字 1,最多位数 4,则答案
是 1+11+111+1111=1234。
Input
数字和最大位数。
Output
计算出的和。
Sample Input
13 25 34
Sample Output
123 24690 3702
*********
HINT
1030: 4-2-15
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 641 Solved: 548
[Submit][Status][Web Board] [Edit] [TestData]
Description
编程输出如图所示的结果: ********* ******** ******* ****** ***** **** *** ** *
[Submit][Status][Web Board] [Edit] [TestData]
Description
输出 100~200 间的全部素数。
Input
无
Output
100~200 间的全部素数,每个占一行
Sample Output
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173
Input
无
Output
每行输出 9 个数字,每个数字宽度为 5
Sample Output
123456789 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72
[Submit][Status][Web Board] [Edit] [TestData]
Description
编写一个程序,求两个整数的最小公倍数。
Input
输入 2 个整数,用空格作为分隔符
Output
它们的最小公倍数
Sample Input
4 12
Sample Output
12
HINT
可以参考例【4-4】“最大公约数”的求法,从两个数中较大的 一个出发,找到的第一个能被这两个数整除的数,就是最小公
无
Output
全部同构数及其平方数,中间用逗号分隔
Sample Output
1,1 5,25 6,36 25,625 76,5776 376,141376 625,390625
HINT
如何验证 m 是 n 右边的数
1027: 4-2-12
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1098 Solved: 513
HINT
1078: 青蛙跳井问题。
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 122 Solved: 100
[Submit][Status][Web Board] [Edit] [TestData]
Description
某青蛙掉入一个 n 米深的井中,青蛙每次往上跳能跳 4 米高,然后在井壁上滑下 1 米。那么多 少次可以跳出 n 米的深井。
Input
井的深度,整数。
Output
跳出所用的次数。
Sample Input
30 25 22
Sample Output
10 8 7
HINT
1079: 1,2,3,4 组成的三位数。
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 118 Solved: 91
数字,如原数为 321,则应输出 123。
Input
输入一个整数(不超过5位)
Output
逆序输出该整数
Sample Input
12345
Sample OBiblioteka tput54321HINT
参照【例 4-6】
1021: 4-2-6
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1203 Solved: 841
Description
1020: 4-2-5
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1163 Solved: 853
[Submit][Status][Web Board] [Edit] [TestData]
编程实现:输入一个整数(不超过5位),要求按逆序输出各位
1072 1074 1076……
HINT
1028: 4-2-13
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 797 Solved: 573
[Submit][Status][Web Board] [Edit] [TestData]
Description
HINT
1077: 输出所有 200 以内的素数。
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 126 Solved: 95
[Submit][Status][Web Board] [Edit] [TestData]
Description
输出所有 200 以内的素数,10 个为一行,每个数占 4 位。
[Submit][Status][Web Board] [Edit] [TestData]
Description
4 个数字 1,2,3,4 能组成多少个每个位置上数字都不同的三位数。
Input
无
Output
组合序号(宽度 2):数字(宽度 4)
Sample Output
1: 123 2: 124 3: 132 4: 134 5: 142 6: 143 7: 213 8: 214 9: 231 10: 234 11: 241 12: 243 13: 312 14: 314 15: 321
[Submit][Status][Web Board] [Edit] [TestData]
Description
最简单的二重循环的例子,有助于帮助理解二重循环的循环变量变化。注意括号的范围,注意 在什么地方打印回车。
Input
无输入
Output
数字组成的图形。
Sample Output
1:1 2:12 3:123 4:1234 5:12345
Description
编程输出如图所示的结果
* ** *** **** ***** ****** ******* ******** *********
Input
无
Output
共 9 行,第一行 1 个*,第二行 2 个*,依此类推
Sample Output
* ** *** **** ***** ****** ******* ********
Input
任意一串字符#结束
Output
a:个数 e:个数 i:个数 o:个数 u:个数
Sample Input
sample#
Sample Output
a:1 e:1 i:0 o:0 u:0
HINT
参照例【5-3】
1023: 4-2-8
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 839 Solved: 644
Input
无
Output
200 以内的所有素数。
Sample Output
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
16: 324 17: 341 18: 342 19: 412 20: 413 21: 421 22: 423 23: 431 24: 432
179 181 191 193 197 199
HINT
参照例【4-16】
1024: 4-2-9
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 2166 Solved: 724
[Submit][Status][Web Board] [Edit] [TestData]
Input
无
Output
共 9 行,第一行 9 个*,第二行 8 个*,依此类推
Sample Output
********* ******** ******* ****** ***** **** *** **
*
HINT
1074: 打印如下图形,理解二重循环。
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 103 Solved: 96