C语言上机题库50套

合集下载

C语言上级经典练习50题

C语言上级经典练习50题

上机练习题1.输入一个不超过五位的正整数,输出其逆数。

例如输入12345,输出应为54321。

2.计算1+2+3…+n的值,n是从键盘输入的自然数。

3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。

4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。

5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。

完成6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。

例如若n为1000时,函数值应为:s=。

7.一辆卡车违反交通规则,撞人后逃跑。

现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。

甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。

请根据以上线索找出车号。

8.输入1~10之间的一个数字,输出它对应的英文单词。

9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些10.用自然语言描述程序逻辑如下,试写程序。

①设置环境;②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;③i=1;④如果i≤100,则转⑤,否则转⑧;⑤令s=0,求前i个自然数之和,并放于变量s之中;⑥sum=sum+s;⑦i增加1,转④;⑧输出和sum,结束。

11.用自然语言描述的程序逻辑为:①设置环境;②定义变量i、flag和password,并令flag=0,i=0;③用户回答口令,将其赋于password变量;④口令正确如果是,则flag=1,转⑥。

否则转⑤;⑤回答三次口令了吗如果没有,计数器加1后(i++),转③,否则转⑥;⑥根据flag之值输出相应信息。

12.用自然语言描述的程序逻辑如下:①设置环境;②定义变量digit、x、y分别表示原始数的个位、原始数数和逆数;③输入原始正整数x;④从x中分解出个位数字digit;⑤合并个位digit至逆数y中;⑥原始数x缩小10倍:x=x/10;⑦如果x非零,则转④;⑧输出逆数y,结束13.输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构成)。

C语言上机题(105套)改后

C语言上机题(105套)改后

第一套填空:调用fun函数建立班级通讯录。

写到名为myfile5.dat的二进制文件中。

1、STYPE 2、FILE 3、fp改错:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。

1、for( i=0; i<=s1; i ++)改为for(i = 0 ; i < s l ; i++)2、t[sl] = '\0';改为t[2*sl] = '\0';程序设计:将两个两位数的正整数a、b合并形成一个整数放在c中。

{*c=(a/10)*1000+(b/10)*100+(a%10 )*10+(b%10);}第二套填空:从键盘读入若干行文本(每行不超过80个字符),写到文件myfile4.txt 1、*fw2、str 3、str改错:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。

高位仍在高位,低位仍在低位。

1、void fun (long s, long t)改为void fun (long s, long *t) 2、sl = sl*100;改为sl = sl*10;程序设计:将两个两位正整数a、b合并形成一个整数放在c中{*c=(b/10)*1000+(a%10)*100+(b%1 0)*10+(a/10);}第三套填空:将自然数1~10以及它们的平方根写到名为myfile3.txt 文件中,1、fp2、fclose(fp); 3、fname改错:将n个无序整数从小到大排序。

1、for ( i=j+1; i<n-1 ; i++ )改为for ( i=j+1; i<n; i++ )2、t=i;改为p=i;程序设计将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位{*c=(b%10)*1000+(a%10)*100+(b/1 0)*10+(a/10);}第四套填空:调用函数fun将指定源文件中的内容复制到指定的目标文件中,.主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。

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语言上机考试训练题库及答案
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语言上机题库及答案(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语言上机考试题(第一套)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语言经典练习题50道(附答案)

1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。

#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。

#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。

#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。

#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。

#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。

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语言上机题库

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b 所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

C语言上机编程题(完整版)

include <conio.h>#include <stdio.h>void main(){ int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos;//clrscr();max = a[0];pos = 0;for ( i=1; i<10; i++)/************found************/if (max < a[i]){max = a[i];/************found************/pos = i;}printf("The max is: %d ,pos is: %d ", max , pos);}两个位置全部正确标准答案第一个位置:if(maxif(max<=a[i])if(a[i]>max)if(a[i]>=max)第二个位置:pos=i;二、程序填空题(30分,得分:30分)在考生文件夹下,给定程序FILL.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。

例如:从键盘上输入12345,则程序运行的结果应当为:n=12345。

请填空,并运行该程序,然后将源程序文件FILL.C提交。

程序有两个空(1)、(2)需要补充完整。

并将程序调试出所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!做题情况源程序文件#include "stdio.h"#include "string.h"void main(){ char s[10]; int i;long int n;//clrscr();/**************found************/n=0;scanf("%s",s);for(i=0;i<strlen(s);i++)/**************found************/n=n*10+(s[i]-48);printf("n=%ld ",n);}两个位置全部正确标准答案第一个位置:n=0;第二个位置:n=n*10+s[i]-’0’;n=n*10+*(s+i)-’0’;n=n*10+*(i+s)-’0’;n=n*10-’0’+s[i];n=n*10-’0’+*(s+i);n=n*10-’0’+*(i+s);n=n*10+(s[i]-’0’);n=n*10+(*(s+i)-’0’);n=n*10+(*(i+s)-’0’);n=n*10+(s[i]-48);n=n*10+(*(s+i)-48);n=n*10+(*(i+s)-48);n=n*10-(’0’-*(i+s));n=n*10-(’0’-s[i]);n=n*10-(’0’-*(s+i));n=n*10+s[i]-48;n=n*10+*(s+i)-48;n=n*10+*(i+s)-48;n=n*10-48+s[i];n=n*10-48+*(s+i);三、程序设计题(40分,得分:40分)在考生文件夹下,要求程序PROG.C的功能是:将一个4位的整数m拆开,然后按相反顺序输出,每输出一位数其后留2个空格。

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

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; }}。

相关文档
最新文档