C语言上机试题
12套C语言上机试题参考答案
![12套C语言上机试题参考答案](https://img.taocdn.com/s3/m/200b667f5acfa1c7aa00cc40.png)
第一套上机试题一、改错题【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。
#include"stdio.h"#define n 4 #define m 3 /*语法错,#define m 3需另起一行*/int a[n][m],s[m];p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,s[j]中即为j列的最小元素的值*/{int k,i,x;x=a[0][j];i=0; /*逻辑错,从函数的功能可知,a[0][j]也应赋值给s[j],所以x=a[0][j]应改为s[j]=x=a[0][j]*/for(k=1;k<n;k++)if(a[k][j]<x){i=k;s[j]=x=a[k][j];}return i;}main(){int index[m],i,j,k;for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%d",a[i][j]);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以a[i][j]应改为&a[i][j])*/for(j=0,j<m;j++){index[j]=p[j];printf("a[%d,%d]=%d\n",index[j],j,s[j]);}i=s[1];k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s[1]应改为i=s[0]*/ for(j=1;j<m;j++)/*此循环的功能为:找出数组a中最小元素的值及其行号,列号*/if(s[j]<i){i=s[j];k=j;}printf("min=a[%d,%d]=%d",index[k],k,i); }二、编程题【分析】:本题的主要功能是建立一个3行8列的二维数组,并给其元素赋值,其中第1、2行的值可通过递推公式x i+1=(25*x i+357)%1024得到,第三行的值取前两行同列元素的最大公约数,所以编程时可用一个函数来实现求公约数的算法。
C语言上机100题
![C语言上机100题](https://img.taocdn.com/s3/m/26c8c656284ac850ac024202.png)
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所指的数组中.答案:void fun(int m, int k,int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=0;j<I;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if (flag==1 &&j〉=i){if (k>=0){xx[g++]=i;k——;}elsebreak;}}}6:第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符.其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
C语言上机150道题
![C语言上机150道题](https://img.taocdn.com/s3/m/d9f71efe55270722182ef7d9.png)
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语言上机考试训练题库及答案](https://img.taocdn.com/s3/m/282328b5c77da26925c5b0ea.png)
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语言上机作业试题5套含答案
![C语言上机作业试题5套含答案](https://img.taocdn.com/s3/m/fb1913f2534de518964bcf84b9d528ea81c72f82.png)
第一次上机作业(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语言上机考试题库
![c语言上机考试题库](https://img.taocdn.com/s3/m/eb60b8def605cc1755270722192e453610665b83.png)
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语言上机100题
![C语言上机100题](https://img.taocdn.com/s3/m/760c67f8c8d376eeaeaa313b.png)
一、填空题考试做题要求: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语言上机试题1-20套
![C语言上机试题1-20套](https://img.taocdn.com/s3/m/54289112f18583d049645927.png)
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语言上机考试题](https://img.taocdn.com/s3/m/926c1ed850e2524de5187e70.png)
C语言上机考试题(第一套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>main(){int k,m,s=0,i,b=0;for(k=10000;k<=20000;k++){if(k%10==7){for(i=2,b=0;i<k;i++)if(k%i==0)b++;if(b==0)m=k,s++;}}printf("这样的素数有%d个。
\n 其中最大的一个是%d\n",s,m);}3.#include <stdio.h>main(){int a;printf("请输入一个需要判断的年份:\n");scanf("%d",&a);if(a%4==0&&a%100!=0)printf("是闰年\n");elseif(a%400==0)printf("是闰年\n");elseprintf("不是闰年\n"); }C语言上机考试题(第二套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){// clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>fun(int n){int i,j=0;for(i=2;i<n;i++)if(n%i==0)j++;return j;}main(){int a,b=0,d,e,k;for(k=1;k<10;k++)if(fun(k)==0)a=k,b++;for(k=10;k<100;k++)if(fun(k)==0){e=k%10,d=k/10;if(e==d)a=k,b++;}for(k=100;k<=1000;k++)if(fun(k)==0){e=k%10,d=k/100;if(e==d)a=k,b++;}printf("[1,1000]之内既是回文数,又是素数的最大整数:%d\n",a);printf("[1,1000]以内既是回文数,又是素数的整数有%d个\n",b);}3.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}C语言上机考试题(第三套)1.//#include "conio.h"#include "math.h"#include "stdio.h" int fun(int t){int a=0,b=1,c,k;for(k=1;;k++){c=b;b=a+b;a=c;if(a>t)break;}return a;}main(){int n;//clrscr();n=1000;printf("n = %d, f = %d\n",n, fun(n));}2.#include "stdio.h"main(){int a[3][3],i,j,s=0;printf("请依次输入一个3*3矩阵:\n");for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(i==j||i+j==2)s=s+a[i][j]*a[i][j];}printf("对角线平方和为:%d\n",s);}3.#include<stdio.h>#include<string.h>#define N 81fun(char str[]){int i=0,j;while(i<N){if(str[i]<=57&&str[i]>=48)for(j=i;j<N;j++)str[j]=str[j+1];elsei++;}puts(str);}main(){char str[N];printf("请随意输入字符:");gets(str);fun(str);}C语言上机考试题(第四套)1.//#include "conio.h"#include "math.h"#include "stdio.h"double fun( int n){double s=0;int i;for(i=1;i<n;i++)if(i%21==0)s+=i;return sqrt(s);}main(){// clrscr();printf("s=%f\n", fun (1000) ); }2.#include "stdio.h"main(){int a,b,k;for(;;){printf("请输入两数:\n");scanf("%d%d",&a,&b);if(a>0&&b>0)for(k=a;k>=1;k--)if(a%k==0&&b%k==0)break;if(a%k==0&&b%k==0)break;}printf("这两个数的最大公约数是:%d\n",k);}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.00005)break;}printf("%f\n",2*(s+1));}C语言上机考试题(第五套)1.#include <conio.h>#include <stdio.h>int fun(int array[3][3]){int a[3][3],i,j;int b[3][3];for(i=0;i<3;i++){for(j=0;j<3;j++)a[i][j]=array[j][i];}for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=a[i][j];}main(){int i,j;intarray[3][3]={{100,200,300},{400,50 0,600},{700,800,900}};// clrscr();for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("converted array:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}2.#include <stdio.h>main(){float x,y,s=0;int n;for(x=1;x<=100;x++){n=x;if(n%2==0)y=-1/x;elsey=1/x;s=s+y;}printf("前n项和为:%f\n",s); }3.#include<stdio.h> main(){int a[101]={0},i,n,s=0,t;for(n=2;n<=100;n++){for(t=0,i=2;i<n;i++){if(n%i==0)t++;}if(t==0)a[n]=n;}for(n=2;n<=100;n++)if(a[n]!=0&&a[n+2]!=0)s++;printf("2~100中的所有的亲密素数对的个数为:%4d\n",s);}C语言上机考试题(第六套)1.#include "stdio.h"main(){int a,b,c,s,k;printf("请输入一个大于2小于1000的数:\n");scanf("%d",&k);printf("它的所有质因子是:\n");for(a=2;a<=k;a++)if(k%a==0){for(s=0,b=2;b<a;b++)if(a%b==0)s++;if(s==0)printf("%5d",a);}printf("\n");}2.//#include "conio.h"#include "stdio.h"int fun (int n){int s=0,k;for(k=2;k<n;k++)if(n%k==0)s+=k;return s;}main(){//clrscr();printf("%d\n", fun (120));}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;int n;printf("请输入求和项数N:\n");scanf("%d",&n);for(i=1;i<=n;i++)s+=1/(i*(i+1));printf("数列前%d项求和为:%f\n",n,s);}C语言上机考试题(第七套)1.//#include <conio.h>#include <stdio.h>#include <math.h>double fun(double x , int n){double a=1,c,s=0,i;c=x;for(i=1;i<=n+1;i++){a=a*i;s=x/a+s;x=x*c;}s=s+1;return s;}main(){//clrscr();printf("%f\n", fun(0.3,10));}2.#include<stdio.h>main(){int a,b,c,d,k;for(k=100;k<=999;k++){a=k/100;b=(k-a*100)/10;c=k-a*100-b*10;d=a*a*a+b*b*b+c*c*c;if(k==d)printf("%5d",k);}printf("\n");}3.#include<stdio.h>#include<math.h>main(){float a,b,c,t,p;for(;;){printf("请正确输入三角形三边长:\n");scanf("%f%f%f",&a,&b,&c);if(a<b)t=a,a=b,b=t;if(b<c)t=b,b=c,c=t;if(a<b)t=a,a=b,b=t;if(a<b+c&&c>0)break;else continue;}p=(a+b+c)/2;t=sqrt(p*(p-a)*(p-b)*(p-c));printf("面积为:%f\n",t);}C语言上机考试题(第八套)1.#include <conio.h>#include <stdio.h>#include <string.h>float fun(int n){int i,s=0;float p=0;for(i=1;i<=n;i++){s+=i;p+=1.0/s;}return p;}main(){int n;float s;// clrscr()printf("\nPlease enter N:");scanf("%d", &n);s = fun(n);printf("the result is: %f\n", s); }2.#include<stdio.h>main(){int i;float h=100,s=100;for(i=1;i<=10;i++){h=h/2;s+=h*2;}printf("第10次落地时,共经过:%f米\n",s);printf("第10次反弹的高度为:%f米\n",h);}3.#include<stdio.h>double fun(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.000001)break;}s=2*(s+1);return s;}main(){printf("%f\n",fun());}C语言上机考试题(第九套)1.#include "conio.h"#include "stdio.h"void fun( int m, int k ){int a,b,e=1,s=0;for(b=m;;){a=b%k;b=b/k;s+=a*e,e=e*10;if(b<k){s+=b*e;break;}}printf("该数为:%d\n",s);}main( ){int b,n;//clrscr();printf("\nPlease enter a number and a basen\n");scanf("%d%d",&n,&b);fun(n,b);printf("\n");}2.#include "stdio.h"main(){int a,b;for(a=1;a<10;a++){b=a*a;if(b%10==a)printf("%4d\n",a);}for(a=10;a<100;a++){b=a*a;if(b%100==a)printf("%4d\n",a);}for(a=100;a<=1000;a++){b=a*a;if(b%1000==a)printf("%4d\n",a);}}3.#include<stdio.h>main(){float f1,f2,f;f1=2*(-1)*(-1)+3*(-1)+4;f2=-2*5.0*5.0+3*5.0-4;if(f1+f2<=2)f=2*(f1+f2)*(f1+f2)+3*(f1+f2) +4;elsef=-2*(f1+f2)*(f1+f2)+3*(f1+f2) -4;printf("计算结果为:%f\n",f); }C语言上机考试题(第十套)1.#include <conio.h>#include <stdio.h>long fun (int a, int n){long b,e,temp,t,k=1,sum=0;if(a<10&&a>0&&n>1&&n<10){temp=a;for(;k<=n;k++){for(b=0,e=1,t=1;t<=k;t++){a=temp;a=e*a;e=e*10;b+=-a;}sum+=b;}sum+=-2*b;return sum;}else printf("输入有的A或者N 有问题求和结果不正确\n");}main( ){int a, n;//clrscr() ;printf("\nPlease enter a and n:\n ") ;scanf("%d%d",&a,&n) ;printf("The value of function is: %1d\n",fun(a,n));}2.#include <stdio.h>fun(int n){int k,a=0;for(k=2;k<n;k++)if(n%k==0)a++;return a;}main(){int i,j,k,n,t,a,b;for(n=4;n<=100;n=n+2){for(i=2;i<n;i++){j=n-i;if(fun(i)==0&&fun(j)==0)break;}printf("%d=%d+%d\n",n,i,j);}}3.#include <stdio.h>main(){int k,l,m,s=0;for(k=0;k<=10;k++)for(l=0;l<=5;l++)for(m=0;m<=2;m++)if(100==k*10+l*20+m*50)s++;printf("共有%d 种不同的兑换方法\n",s);}C语言上机考试题(第十一套)1.#include<conio.h>#include <stdio.h>double fun ( int x[ ]){int a[1000];int i,j=0,k=0;double s=0;while(x[j]!='\0'){if(x[j]>0){a[k]=x[j];k++;}j++;}for(i=0;i<k;i++)s+=a[i];return s/k;}main( ){int x[1000]; int i=0;// clrscr();printf("\nPlease enter some data (end with 0) ");do{scanf("%d",&x[i]);}while(x[i++] !=0);printf("%f\n",fun ( x ));}2.#include<stdio.h>#include<string.h>#define N 10main(){char str[N];int i=0,flag=0;long num=0;printf("请输入连续数字字符(最多10为数字) :");gets(str);while(str[i]!='\0'&&str[i]!='a'){if(str[i]=='-')flag=1;elseif(str[i]=='+')flag=0;elsenum=num*10+(str[i]-'0');i++;}if(flag==1)num=-num;printf("由数字字符串转化成整数是:%ld\n",num);}3.#include<stdio.h>main(){int a,b,c,s=0;for(a=0;a<=33;a++)for(b=0;b<=50;b++)for(c=0;c<=100;c=c+2)if(100==3*a+2*b+c/2&&a+b+c ==100)s++;printf("共有驼法:%d种\n",s);}C语言上机考试题(第十二套)1.#include <conio.h>#include <stdio.h>float fun(int m, int n){float t,p,j,i,k,o;if(m<n)t=m,m=n,n=t;for(p=1,j=1,i=1,o=m;p<=m-n;o--,p++){j=o*j;i=p*i;}k=j/i;return k;}main() /*主函数*/{// clrscr();printf("P=%f\n", fun (12,8)); }2.#include<stdio.h>main(){int x,y,z,i;printf("1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数:\n");for(i=1;i<=1000;i++){x=i%7,y=i%11;if(x==0&&y!=0||y==0&&x!=0)printf("%4d",i);}printf("\n");}3.#include<stdio.h>main(){int a[3][3],i,j,sum=0;for (i=0;i<3;i++){for (j=0;j<3;j++)scanf("%d",&a[i][j]);}for (i=0;i<3;i++){for (j=0;j<3;j++){if(i+j==2||i==j)sum=sum+a[i][j];}}printf("%d",sum);}C语言上机考试题(第十三套)1.#include <stdio.h>double fun(int n){double a=1,b=2,c,sum=0;for(;n>0;n--){sum=a/b+sum;c=a+b;a=b;b=c;}return sum;}main(){int n;printf("Enter n: ");scanf("%d", &n);printf("\nThe result : %f \n", fun(n));}2.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}3.#include <stdio.h>main(){int k=1,sum=0;for(;k<200;k=k+2)sum=sum+k;printf("sum=%d\n",sum);}C语言上机考试题(第十四套)1.#include "conio.h"#include "stdio.h" #include "math.h"float fun(int n){float a=0,b=0,c=1,d,e,s=0,k;for(k=1;k<=n;k++){s+=sqrt(a);d=a+b+c;a=b,b=c;c=d;}return s;}main ( ){int n;//clrscr( );printf("Input N=");scanf("%d", &n);printf("%f\n", fun(n));}2.#include<stdio.h>fun(int s[10]){int i,j;for(i=1;i<10;i++)for(j=0;j<10-i;j++)if(s[j]<s[j+1]){int temp;temp=s[j];s[j]=s[j+1];s[j+1]=temp;}printf("这10个数按从大到小排列为:\n");for(i=0;i<10;i++)printf("%d",s[i]);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}3.#include<stdio.h>fun(int s[10]){int i;float a=0;for(i=1;i<9;i++)if(s[i]>s[i+1]){int temp;temp=s[i];s[i]=s[i+1];s[i+1]=temp;}printf("这10个数中最大的为:%d\n",s[9]);for(i=0;i<10;i++)a+=s[i];printf("平均数为:%.1f",a/10);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}C语言上机考试题(第十五套)1.#include"conio.h"#include"stdio.h"double fun(int m){double a=1,b,j,s=0;for(j=1;j<=m;j++){a=a*j;b=1/a;s+=b;}return s;}main(){int n;//clrscr();printf("Enter n ");scanf("%d", &n);printf("\nThe result is%1f\n", fun(n));}C语言上机考试题(第十六套)1.#include <math.h>#include <stdio.h>float fun(float num){float i=3.0,j=-1.0,k=1.0;while(fabs(1.0/i)>num){k=k+j/i;j=-j;i+=2;}return k*4;}main(){ float n1,n2;//clrsct( );printf("Enter a float numder:");scanf("%f",&n1);n2=fun(n1);printf("%6.4f\n",n2);}2.#include <stdio.h>#include <stdlib.h>void md(int num,int b[20]){int i;for(i=0;i<num;i++)b[i]=rand()%32768;}main(){ int a[20],n,i,j,temp;//clrsct();printf("Enter a int numder:");scanf("%d",&n);md(n,a);for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}printf("%8d",a[i]);}}3.#include <stdio.h>void main(){int i,j,k;for(i=2;i<=1000;i++){for(j=1,k=0;j<i;j++)if(i%j==0)k+=j;if(k==i)printf("%6d",k);}}C语言上机考试题(第十七套)1.#include "stdio.h"fun(int x,int y , int z ){int j=1;for(;;j++)if(j%x==0&&j%y==0&&j%z= =0)break;return j;}main( ) {int x1,x2,x3,j ;printf("Input x1 x2 x3:\n");scanf("%d%d%d",&x1,&x2,&x 3 ) ;printf("x1=%d, x2=%d, x3=%d\n",x1,x2,x3);j = fun(x1,x2,x3);printf("The minimal common multiple is:%d\n",j);}2.#include "stdio.h"main(){int a,b,sa,sb,k,t;for(a=1;a<=1000;a++){sa=0,sb=0;for(k=1;k<a;k++)if(a%k==0)sa+=k;if(sa<=1000)b=sa;for(t=1;t<b;t++)if(b%t==0)sb+=t;if(a==sb&&a!=b)printf("a=%d\ nb=%d\n\n\n",a,b);}}3.#include "stdio.h"main(){int a,b,c,s=0,k;for(k=100;k<1000;k++){a=k/100,b=k/10%10,c=k%10;if(a!=b&&a!=c&&b!=c)s++;}printf("这样的三位数有%d个\n",s);}C语言上机考试题(第十八套)1.#include<conio.h>#include<stdio.h>#include<math.h>int fun(int a){int i,b=0;for(i=2;i<=a;i++)if(a%i==0)b++;if(b==1)return 1;elsereturn 0;}main(){int x;// clrscr();printf("\nPlease enter a number:");scanf("%d", &x);printf("%d\n", fun(x));}2.#include<stdio.h>main(){int w=1,i;printf("求W=1+21+22+23+…+210\n");for(i=21;i<=210;i++)w+=i;printf("求得:w= %d\n",w);}3.#include<stdio.h>main(){int i,j,s=0,p=0,k=1,t[21];for(j=1;j<=21;j++){s=0;for(i=1;i<=2*j-1;i++)if((2*j-1)%i==0)s++;if(s==2){p++;t[k]=j;k++;}}printf("在[1,21]范围内梅森尼数个数为:%d\n",p);printf("其中最大的一个是:%d\n",t[p]);}C语言上机考试题(第十九套)1.#include <conio.h>#include <stdio.h>long fun ( int k){int i;long s=1;for(i=1;i<=k;i++)s *= i;return s;}main(){int k = 10 ;// clrscr();printf("%d!=%ld\n" , k, fun ( k )) ;}2.#include<stdio.h>main(){int i,j,s=0,w=0,p=0;for(i=2;i<=98;i++){s=0;w=0;for(j=2;j<=i;j++)if(i%j==0)s++;for(j=2;j<=i+2;j++)if((i+2)%j==0)w++;if(s==1&&w==1)p++;}printf("亲密素数个数为:%d\n",p);}3.#include<stdio.h>int add(int n){int j,p=0;for(j=1;j<=n;j++)p+=2*j-1;return p;}main(){int n,i,s=0;printf("数列为:S=1+(1+3)+(1+3+5)+…+(1+3+5+…+(2n-1))\n");printf("请输入项数n= ");scanf("%d",&n);for(i=1;i<=n;i++)s=s+add(i);printf("数列n项和s= %d\n",s); }C语言上机考试题(第二十套)1.#include<stdio.h>int fun(int n){return n*(n+1);}main(){int n,i;float s=0;printf("please enter n=");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/fun(n);printf("s=%f\n",s);} 3.#include<stdio.h>#include<math.h>main(){float a,b,c,d,x1,x2;printf("请输入a的值:");scanf("%f",&a);printf("请输入b的值:");scanf("%f",&b);printf("请输入c的值:");scanf("%f",&c);d=b*b-4*a*c;if(d>0){printf("x1=%4.2f\n",(-b+sqrt(d) )/(2*a));printf("x2=%4.2f\n",(-b-sqrt(d)) /(2*a));}elseif(d==0)printf("x1=x2=%4.2f\n",(-b)/(2 *a));else{printf("x1=%4.2f+%4.2fi\n",(-b )/(2*a),sqrt(-d)/(2*a));printf("x2=%4.2f-%4.2fi\n",(-b) /(2*a),sqrt(-d)/(2*a));}}。
C语言上机考试编程题以及答案
![C语言上机考试编程题以及答案](https://img.taocdn.com/s3/m/db8fa5a71b37f111f18583d049649b6649d70953.png)
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语言上机考试题及答案
![c语言上机考试题及答案](https://img.taocdn.com/s3/m/05acd328842458fb770bf78a6529647d2728348f.png)
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上机考试试题](https://img.taocdn.com/s3/m/20366789d05abe23482fb4daa58da0116d171f59.png)
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语言上机试题库及答案](https://img.taocdn.com/s3/m/cf62d8e7ed3a87c24028915f804d2b160b4e8683.png)
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语言上机考试试题](https://img.taocdn.com/s3/m/258db7e0b1717fd5360cba1aa8114431b90d8ee4.png)
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 上机试题及答案](https://img.taocdn.com/s3/m/40527719a4e9856a561252d380eb6294dd8822fa.png)
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语言上机考试题库及答案](https://img.taocdn.com/s3/m/a8137798900ef12d2af90242a8956bec0975a5a6.png)
二级C语言上机考试题库及答案1. 题目:编写一个C语言程序,实现输入一个整数,判断其是否为素数,并输出结果。
程序代码如下:```c#include <stdio.h>#include <math.h>int isPrime(int num) {if (num <= 1) return 0;for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}答案:该程序首先定义了一个判断素数的函数`isPrime`,它通过遍历2到`sqrt(num)`之间的所有整数,检查是否有能整除`num`的数。
如果找到,则`num`不是素数。
在`main`函数中,程序提示用户输入一个整数,然后调用`isPrime`函数判断该数是否为素数,并输出相应的结果。
2. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、删除学生信息和显示所有学生信息。
程序代码如下:```c#include <stdio.h>#include <stdlib.h>typedef struct {char name[50];int score;} Student;Student students[100];int count = 0;void addStudent(const char* name, int score) {if (count < 100) {strcpy(students[count].name, name);students[count].score = score;count++;} else {printf("学生信息已满。
C语言正式上机题
![C语言正式上机题](https://img.taocdn.com/s3/m/de821a30492fb4daa58da0116c175f0e7cd119ba.png)
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语言上机练习题及答案](https://img.taocdn.com/s3/m/4da822070622192e453610661ed9ad51f01d548e.png)
(完整版)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语言程序设计上机题](https://img.taocdn.com/s3/m/ffc3cda5fbb069dc5022aaea998fcc22bdd1435d.png)
c语言程序设计上机题C语言程序设计是一门实践性很强的课程,上机实践是学习C语言不可或缺的一部分。
下面,我将提供一些常见的C语言上机题目,以帮助学生加深对C语言编程的理解。
1. 基本数据类型和运算符编写一个C程序,实现以下功能:- 声明不同的基本数据类型变量(整型、浮点型、字符型)。
- 对这些变量进行基本的算术运算(加、减、乘、除)。
- 输出运算结果。
2. 条件语句编写一个C程序,使用条件语句(if、else if、else)实现以下功能:- 输入一个成绩,根据成绩判断等级(A、B、C、D、F)。
- 输出对应的成绩等级。
3. 循环语句编写一个C程序,使用循环语句(for、while、do-while)实现以下功能:- 输出1到100之间的所有奇数。
- 使用while循环实现1到100的累加求和。
4. 数组和字符串编写一个C程序,使用数组和字符串实现以下功能:- 声明一个整型数组,输入10个整数,找出最大值和最小值。
- 声明一个字符数组,输入一个字符串,统计字符串中每个字符出现的次数。
5. 函数编写一个C程序,使用函数实现以下功能:- 定义一个函数,实现两个整数的交换。
- 定义一个函数,计算一个整数的阶乘。
- 在主函数中调用这些函数,并输出结果。
6. 指针编写一个C程序,使用指针实现以下功能:- 声明一个整型数组和对应的指针,通过指针访问数组元素。
- 使用指针实现一个函数,交换两个变量的值。
7. 结构体编写一个C程序,使用结构体实现以下功能:- 定义一个学生结构体,包含学号、姓名、年龄和成绩。
- 输入5个学生的信息,存储在结构体数组中。
- 输出每个学生的信息。
8. 文件操作编写一个C程序,使用文件操作实现以下功能:- 创建一个文本文件,向文件中写入数据。
- 从文件中读取数据,并在屏幕上显示。
9. 排序算法编写一个C程序,实现冒泡排序算法,对一个整数数组进行排序。
10. 递归编写一个C程序,使用递归实现以下功能:- 计算阶乘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
.6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。
8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
M与n为两个正整数,且要求m>n。
p=m!/n!(m-n)!10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
迭代步骤如下:(1)取x1初值为;(2)x0=x1,把x1的值赋各x0;((3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于,则执行步骤(5),否则执行步骤(2);(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出root=。
11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。
请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。
12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。
请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。
二维数组中的数已在主函数中赋予。
/14: 第14题请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
15: 第15题请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w使n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。
16: 第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入(规定h中的值位正数)。
17: 第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。
18: 第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。
^19: 第19题编写函数fun,该函数的功能是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。
20: 第20题编写函数int fun(int lim,int aa[max]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。
21: 第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。
22: 第22题n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。
请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。
23: 第23题请编写函数fun,该函数的功能是:判断字符串是否为回文若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。
回文是指顺读和倒读都是一样的字符串。
|24: 第24题请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用c 语言提供的将字符串转换为整数的函数)。
25: 第25题请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。
若两个字符串长度相同,则返回第一个字符串。
26: 第26题请编写一个函数fun,它的功能是:根据以下公式求x的值(要求满足精度,即某项小于时停止迭代):x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)程序运行后,如果输入精度,则程序输出为…。
27: 第27题请编写一个函数fun,它的功能是:求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
-28: 第28题请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
29: 第29题请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
30: 第30题请编写一个函数fun,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。
31: 第31题请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。
32: 第32题请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。
33: 第33题假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
,34: 第34题学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
35: 第35题请编写一个函数,用来删除字符串中的所有空格。
36: 第36题假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
37: 第37题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。
请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
请自己定义正确的形参。
38: 第38题请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
—39: 第39题请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。
40: 第40题请编写函数fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
41: 第41题请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
42: 第42题下列程序定义了n×n的二维数组,并在主函数中自动赋值。
请编写函数fun(int a[][n],int n),该函数的功能是:将数组右上半三角元素中的值乘以m。
43: 第43题编写一个函数,从传入的num个字符串中找出一个最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
(44: 第44题编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。
45: 第45题假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。
形参n 给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后的*个数。
在编写时不得使用c语言给提供得字符串函数。
46: 第46题学生得记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。
47: 第47题请编写一个函数void fun(char *ss),其功能时:将字符串ss中所有下标为奇数位置上的字母转换为大写(若位置上不是字母,则不转换)。
48: 第48题请编写函数fun,其功能是:将两个两位数的正整数a,b合并成一个整数放在c 中。
合并的方式是:将a数的十位和个位依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
[49: 第49题请编写函数fun,其功能是:将s所指字符串中下标位偶数同时ascii值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。
50: 第50题已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入a机构体数组中。
请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。
51: 第51题请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。
52: 第52题编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。