C语言上机练习题及复习资料
计算机二级C语言上机试题库和答案解析(100套)
完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>longfun(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(intn);{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 between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(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语言上机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语言上机考试题库
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语言上机试题
C语言第一次上机1、有人把C语言称为中级语言,意思是?A. 操作上比低级语言简单,比其它语言复杂B. 其功能比低级语言强,但比高级语言弱C. 其编译方式处于低级语言和高级语言之间D. 既具有低级语言的功能,又具有高级语言功能本题正确答案为:D2、C语言程序由什么组成?A. 函数B. 主程序和子程序C. 子程序D. 过程本题正确答案为:A3、下列说法正确的是?A. VC++6.0是面向对象的高级语言,采用编译方式向机器语言转换B. VC++6.0是面向对象的高级语言,采用解释方式向机器语言转换C. VC++6.0是面向过程的高级语言,采用编译方式向机器语言转换D. VC++6.0是面向过程的高级语言,采用解释方式向机器语言转换本题正确答案为:A4、下列说法错误的是?A. 其它函数不能单独运行,只能被主函数或其它函数调用B. 程序是从第一个函数开始执行C. 主函数执行完毕,程序就结束了D. 程序总是从主函数开始执行,不管主函数在什么位置本题正确答案为:B5、字符串 "\n\\\'\123"包括几个字符(即占用几个字节的存储空间)?A. 4B. 10C. 5D. 11本题正确答案为:C6、假设所有变量均为整数,表达式a=2,b=5,a<b?a++:b,a+b的值是A. 3B. 8C. 7D. 2本题正确答案为:C7、若变量f已说明为float类型,i为int类型,则下面哪个表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?A. f=(f*100+0.5)/100.0B. i=f*100+0.5,f=i/100.0;C. f=(int)(f*100+0.5)/100.0;D. f=(f/100+0.5)*100.0;本题正确答案为:B8、若 a=3, 下列表达式的值为?a*a,a+5,a++, a*3A.4B. 45C. 12D. 9本题正确答案为:C9、若a=10, b=20,表示 x在a,b之间的表达式为?A. x>=a && x<=bB. a=<x && x<=bC. x>=a || x<=bD. a<=x<=b本题正确答案为:A10、下面那个表达式的值与其它的不一样?A. sizeof(char)*8B. sizeof(8)C. sizeof(10)*2D. sizeof(double)本题正确答案为:B11、若int a=5, b=4, c=6, d;则执行 d=a>b?(a>c?a:c):b 后,d的值为?A. 5B. 4C. 6D. 1本题正确答案为:C12、下面那个表达式的值为4?A. 11/3B. (int) (11.0/3+0.5)C. (int) (11.0/3)+0.5D. 13.0/3本题正确答案为:B13、下面那个不是合法的常量A. 0101010B. 048C. 0xabD. 348本题正确答案为:B14、若有 char c;表示c为字母的表达式为?A. c>='A'&&c<='z'B. c>='a'&&c<='z' || c>='A' && c<='Z'C. c>='a'&&c<='Z'D. c>='a'&&c<='z' && c>='A' && c<='Z'本题正确答案为:B15、C语言中整形常量不包括种:A. 二进制常量B. 八进制常量C. 十六进制常量D. 十进制常量本题正确答案为:A16、若有 int i=4, k, j;则执行 k=i++, j=++i 后, k与j的值分别为?A. k=4, j=5B. k=5, j=6C. k=5, j=5D. k=4, j=6本题正确答案为:D17、若有 a=3,则执行下列语句为a的值为?a+=a*=a;A. 3B. 12C. 9D. 18本题正确答案为:D18、以下合法的赋值语句是?A. x=y=100B. c=int(a+b);C. x+y;D. d--;本题正确答案为:D19、设x,y,z均为int型变量,则执行语句: x=y=3; t=++x||++y后,y的值为A. 1B. 不定值C. 4D. 3本题正确答案为:D20、若有 scanf("a=%d:%d",&a,&b);想把10给a,20给b, 则正确的输入格式为?A. a=10,b=20B. a=10:20C. a=10,20D. a=10:b=20本题正确答案为:B 21、若有scanf("%2d%3d%d",&a,&b,&c);运行时输入 1234567890,则a,b,c的值分别为?A. a=12,b=345,c=678B. 输入错误C. a=1234567890,b,c保持原来的值D. a=12,b=345,c=67890本题正确答案为:D22、若有scanf("%2d%*2d%3d",&a,&b);程序运行时输入 123456789,则a,b的值为?A. a=12,b=567B. a=1234,b=567C. a=12,b=345D. a=12,b=34本题正确答案为:A23、若有 char c;c=getchar()=='A';程序运行时从键盘输入 A, 则c的值为?A. AB. 0C. 以上都不对D. 1本题正确答案为:D24、若有int a=1234;printf("%2d",a); 的输出结果是?A. 12B. 34C. 出错D. 1234本题正确答案为:D程序设计1、函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
计算机二级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语言上机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语言上机试题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语言上机考试题
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语言上机题库 (3)
实验四C语言上机考试题(第三套共100分)1.(35分)下面的程序通过函数average计算数组中各元素的平均值,要求编制该函数并用已给出的主函数进行测试。
要求源程序存入test31.c中。
#include<stdio.h>void main(){ float average(int *pa,int n);int a[5]={2,4,6,8,10};float mean;mean=average(a,5);printf(“mean=%f\n”,mean);}float average(int *pa,int n){ 要求编制的函数体}2.(35分)下面程序的功能是:对给定的一组整型数在同一数组中实现颠倒存放。
例如,输入为11,14,17,22,31,54,67,70,89,90之后输出90,89,70,67,54,31,22,17,14,11。
请输入并完善程序,要求源程序存入test32.c中。
#include<stdio.h>void main(){ int arr[10],i,j,temp;printf(“Input value of array:\n”);for(i=0;i<10;i++)scanf(“%d,”, ①);for(i=0,j=9;i<=j;i++, ②){ temp=arr[i];arr[i]= ③;arr[j]=temp;}for(i=0;i<10;i++)printf(“%4d”,arr[i]);}3.(30分)下面程序的功能是:主函数通过调用函数mychrcmp实现判定str1与str2的大小问题。
函数的原型说明为int mychrcmp(char *s,char *t);,其功能是判定s与t的关系,函数返回值大于0时表示s大于t;函数返回值小于0时表示s小于t;函数返回值等于0时表示s等于t。
程序中标有*号的行有错,请改正并将改正的源程序存入test33.c中。
大学C语言期末上机考试题库【精品】
大学C语言期末上机考试题库【精品】上机考试练习题1、程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入 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\{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#includeint 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语言上机练习汇总及答案
1)10002 显示Hello World! ........................................................................... 错误!未定义书签。
2)10003 显示What is a computer? .............................................................. 错误!未定义书签。
3)10004 显示图形(字符图案输出)......................................................... 错误!未定义书签。
4)10005 显示Welcome to You!(调试示例error01_1) ........................... 错误!未定义书签。
5)10006 显示"Programming in C is fun!" .................................................. 错误!未定义书签。
6)10007 显示图案(字符图案输出)....................................................... 错误!未定义书签。
7)20011 求华氏温度100°F对应的摄氏温度。
........................................... 错误!未定义书签。
8)20012 求华氏温度150°F 对应的摄氏温度。
......................................... 错误!未定义书签。
9)20013 求摄氏温度26°C对应的华氏温度。
............................................ 错误!未定义书签。
c语言上机考试题库
c语言上机考试题库1. 编写一个程序,从键盘输入两个整数,然后交换它们的值并输出。
```c#include <stdio.h>int main(){int num1, num2, temp;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);temp = num1;num1 = num2;num2 = temp;printf("交换后的值为:%d %d\n", num1, num2);return 0;}```2. 编写一个程序,输入一个整数,判断该数是奇数还是偶数,并输出对应结果。
```cint main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0){printf("%d是偶数\n", num);}else{printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个大写字母,将其转换为小写字母并输出。
```cint main(){char upperCase, lowerCase;printf("请输入一个大写字母:");scanf("%c", &upperCase);lowerCase = upperCase + 32;printf("转换为小写字母:%c\n", lowerCase);return 0;}```4. 编写一个程序,输入一个字符串,然后判断该字符串是否为回文,并输出对应结果。
```c#include <stdio.h>#include <string.h>int main(){char str[100];int i, j, flag = 1;printf("请输入一个字符串:");gets(str);for(i = 0, j = strlen(str) - 1; i < j; i++, j--) {if(str[i] != str[j]){flag = 0;break;}}if(flag == 1){printf("该字符串是回文\n");}else{printf("该字符串不是回文\n");}return 0;}```5. 编写一个程序,输入一个整数n,计算并输出1到n的累加和。
C语言上机编程100题
58请编写一个函数fun,它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调用函数。.txt
59函数fun的功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,.txt
38学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最.txt
39学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据.txt
66请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入.txt
67编写程序,实现矩阵(3行3列)的转置(即行列互换).txt
68编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返.txt
69编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址.(注意主函数中用作为.txt
74请编写函数fun,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。.txt
75请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。.txt
76请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。.txt
50请编写函数fun,其功能是:计算并输出.txt
51函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中,合成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,.txt
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语言上机考试试题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语言上机考试题库及答案一、选择题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语言程序设计上机习题与参考答案1、给出三角形的三边a、b、c,求三角形的面积(应先判断a、b、c三边是否能构成一个三角形)。
2、某幼儿园只收2~6岁的小孩,2~3岁编入小班,4岁编入中班,5~6岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。
3、编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:(1)能同时被3、5、7整;(2)能同时被3、5、7中的两个数整除,并输出这两个数;(3)只能被3、5、7中的一个数整除;(4)不能被3、5、7中的任何一个数整除。
4、请列出所有的个位数是6,且能被3整除的两位数。
5、求1~500中能被5整除的数的倒数之和。
6、编写程序,输入某门功课的若干个同学的成绩,以-1作为终值,计算平均成绩并输出。
7、若口袋里放入12个球,3个红球,3个白的,6个黑的,从中任取8个,编写程序,列出所有可能的取法。
8、编写一个程序,求2022!的末尾有多少个0?9、一个自然数平方的末几位与该数相同时,称该数为同构数。
例如:252=625,则25为同构数。
编程求出1~1000中的同构数。
10、输入一个较大的整数,求小于该整数的最大5个素数。
n11、求下列数列的近似值:S=1-1/22+1/33-1/44+(-1)/nn.输入精度,当某一项的精度小于该值时停止计算。
floatfun(floatep){}voidmain(){floatep;canf(“%f”,&ep);printf(“%f\n”,fun(ep));}12、编写一个函数change(int某,intr),将十进制整数某转换成r(1<r<10)进制后输出。
13、求1000以内的亲密数对。
亲密数对的定义为:若整数a的所有因子(不包括本身)之和为b,b的所有因子(不包括b本身)之和为a,且a和b不相等,则称a与b为亲密数对。
intfun(int某){}voidmain(){intn,a,b;for(n=1;n<1000;n++){b=fun(n);a=fun(b)if(a!=b&&a==n)printf(“\n%d,%d\n”,a,b);}}14、用递归法求下列问题的解:一对小兔,一个月后长成中兔,第二个月长成大兔,长成大兔,长成大兔后以后每个月生一对小兔。
(完整版)C语言上机练习题及答案
(完整版)C语言上机练习题及答案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)。
1输入三个整数x,y,z,把这三个数由小到大输出。
# include <stdio.h>void 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<stdio.h># 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);}输入正方形的边长,输出正方形的周长和面积。
# include<stdio.h>void 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 码。
# include<stdio.h>int 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);}输入一个摄氏温度,要求输出华氏温度。
公式为f=9/5*c+32。
# include<stdio.h>void main(){float C,F;scanf("%f",&F);C=5.0/9*(F-32);printf("%8.2f",C);}4。
比较两个数大小的题#include<stdio.h>void main(){ int a,b;scanf("%d,%d",&a,&b);if(a>b) printf("%d\n",a);else printf("%d\n",b);}第二题:此题作废(千万不要用)#include<stdio.h>voidmain(){ char a,b,c;scanf("%c,%c,%c",&a,&b,&c);while((a<97||a>122)||(b<97||b>122)||(c<97||c>122));{printf("您输入非三个小写字母,请重新输入:\n");scanf("%c,%c,%c",&a,&b,&c);}printf("%c,%c,%c\n",a-32,b-32,c-32);}5输入任意10个数,求他们的平均值。
# include <stdio.h>void main(){Printf( "请输入10个整数:" );int a[10], k = 0, sum = 0;for (int i = 0; i < 10; ++i) ;{i>a[i];if 10>=a[i] >0 ++k;sum = sum+a[i];}float ave=sum / 10 .0printf( "平均值为:%f\n",ave);}6实现从键盘输入两个整数,按从小到大次序输出这两个数。
# include<stdio.h>void main(){int a, b, tem;printf("input two numbers:\n");scanf("%d,%d",&a,&b );if(a>b){tem=a;a=b;b=tem;}printf ("%d,%d",a,b);7从键盘输入三个整数,输出最大的那个数。
#include<stdio.h>void main(){int a,b,c,max;printf("请输入三个整数:\n");scanf("%d%d%d",&a,&b,&c);max=a>b?a:b;max=max>c?max:c;printf(“max=%d\n”,max);}}8输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。
# include<stdio.h>void main(){int x,y,z,n;printf("please input an integer less than 1000\n");scanf("%d",&n);x=n/100; n=n-100*x; y=n/10;z=n-10*y;if (x>0)printf("%d%d%d\n",z,y,x);else if(y>0) printf("%d%d\n",z,y);else printf("%d\n",z);}9输入三角形的边长,求三角形面积。
(面积=sqrt( s ( s-a ) (s-b) (s-c) ),s=(a+b+c)/2 )。
# include<stdio.h>void main(){float a,b,c,s,area;int ok=0;printf("input a,b,c:");scanf ("%f,%f,%f",&a,&b,&c);{a+b>c? ok++:0;a+c>b? ok++:0;b+c>a? ok++:0;ok==3(s=1/2*(a+c+b);area=sqrt (s*(s-a)*(s-b)*(s-c) );printf ("s=%f\n,area=%f\n",s,area);}10输入2个数,比较其大小,将较大的数输出。
#include<stdio.h>void main(){int a,b,c,max,min;printf(“Input a=”);scanf(“%d”,&a);printf(“Input b=”);scanf(“%d”,&b);If(a>b)printf(“较大的数是%d\n”,a);elseprintf(“较大的数是%d\n”,b);}11输入任意三个整数,求它们的和及平均值。
#include“stdio.h"void main(){ int a,b,c,sum; float ave;scanf("%d %d %d",&a,&b,&c);sum=a+b+c; ave=(a+b+c)/3.0;printf("三个数的和为:%d\n",sum);printf("三个数的平均值为:%f\n",ave);}12求解方程ax2+bx+c=0的实数根。
a,b,c由键盘输入,a≠0且b2-4ac>0。
#include <stdio.h>#include <math.h>void main() {float a, b, c, x1, x2;printf("请输入a, b, c的值:");scanf("%f%f%f", &a, &b, &c);if (b*b - 4*a*c <= 0)printf("输入的系数不对,b2-4ac不大于0!程序退出!\n");else { x1 = (-b + sqrt(b*b - 4*a*c))/2*a;x2 = (-b - sqrt(b*b - 4*a*c))/2*a;printf("x1 = %.2f\n", x1);printf("x2 = %.2f\n", x2); }}13写一个程序,输入一个班学生的成绩,求全班的平均成绩。
#include <iostream> usingnamespace std; void failnum(int score[], int num) { int n = 0; for(int i = 0; i < num; i++) { if(score[i] < 60) n++; } cout<<"不及格人数:"<<n<<endl; } void average_num(int score[], int num) { int sum = 0, number = 0; float n = 0; for(int i = 0; i < num; i++) sum = sum + score[i]; n = (sum * 1.0) / num; for(i = 0; i < num; i++) { if(score[i] >= n) number++; } cout<<"平均分为:"<<n<<endl; cout<<"成绩在全班平均分及平均分之上的学生人数:"<<number<<endl; } void stastics(int score[], int num) { int n1 = 0, n2 = 0, n3 = 0, n4 = 0, n5 = 0; for(int i = 0; i < num; i++) { if(score[i] < 60) n1++; else if(score[i] <= 69) n2++; else if(score[i] <= 79) n3++; else if(score[i] <= 89) n4++; if(score[i] >= 90) n5++; } cout<<"分数在60以下占:"<<( (n1* 1.0) / num)*100<<"%"<<endl; cout<<"分数在60-69占:"<<( (n2* 1.0) / num)*100<<"%"<<endl; cout<<"分数在70-79占:"<<( (n3* 1.0) / num)*100<<"%"<<endl; cout<<"分数在80-89占:"<<( (n4* 1.0) / num)*100<<"%"<<endl; cout<<"分数在90以上占:"<<( (n5* 1.0) / num)*100<<"%"<<endl; } int main() { int score[35], num; cout<<"输入全班总人数:"; cin>>num; cout<<"输入内容(每个数不超出0-100),用空格分开:"<<endl; for(int i = 0; i < num; i++) cin>>score[i]; failnum(score, num); average_num(score, num); stastics(score, num); return 0; }14编写程序输出如下图形:(没有的!!!!)** ** * ** * * *从键盘输入一个整数判断是否为素数。