C语言上机作业题及答案
C语言上机题参考答案
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);
C语言程序设计上机题目与参考答案
C语言程序设计题目与参考答案(1——9章)1.(课本第84页第7题)设圆半径r=1.5,圆柱的高h=3,求圆周长.圆面积.圆球表面积.圆球体积.圆柱体积。
用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
请编程序:#include <stdio.h>int main()#define p 3.1416int main(){double r,h,l,s,S,v,V;scanf("%lf %lf",&r,&h);l=2*p*r;s=p*r*r;S=4*p*r*r;v=4/3*p*r*r*r;V=p*r*r*h;printf("l=%7.2f\ns=%7.2f\nS=%7.2f\nv=%7.2f\nV=%7.2f\n",l,s,S,v,V);return 0;}2.把560分钟化成小时和分钟。
#include<stdio.h>main(){int t,h,m;t=560;h=t/60;m=t%60;printf("560分钟等于%d小时%d分钟\n",h,m);}3.第112页第6题)有一个函数y=x(x<1),y=2x-1(1<=x<10),y=3x-11(x>=1写程序,输入x的值,输出y相应的值。
#include<stdio.h>int main(){float x,y;scanf("%f",&x);if(x<1) y=x;elseif(x<10) y=2*x-1;else y=3*x-11;printf("%f\n",y);}4.(第113页第11题)输出4个整数,要求按由小到大的顺序输出。
#include<stdio.h>int main(){float a,b,c,d,t;scanf("%f,%f,%f,%f",&a,&b,&c,&d);if(a>b) {t=a;a=b;b=t;}if(a>c) {t=a;a=c;c=t;}if(a>d) {t=a;a=d;d=t;}if(b>c) {t=b;b=c;c=t;}if(b>d) {t=b;b=d;d=t;}if(c>d) {t=c;c=d;d=t;}printf("%f,%f,%f,%f",a,b,c,d);}5.(第113页第12题)有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1,这四个塔的高度为10米,塔以外无建筑物。
C语言程序设计上机考试试题和参考答案
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:
c语言上机作业及答案
c语言上机作业及答案4.11 编程计算1×2×3+3×4×5+…+99×100×101的值。
#includemain(){long i ;long term, sum = 0;for (i = 1; i <= 99; i = i + 2){term = i * (i + 1) * (i + 2);sum = sum + term;}printf("sum=%ld",sum);}4.12 编程计算1!+2!+3!+4!+…+10!的值。
#includemain(){long term = 1,sum = 0;int i;for (i = 1; i <= 10; i++){term = term * i;sum = sum + term;}printf("1!+2!+...+10! = %ld \n", sum);}#includemain(){long term ,sum = 0;int i, j;for (i = 1; i <= 10; i++){term = 1;for (j = 1; j <= i; j++){term = term * j;}sum = sum + term;}printf("1!+2!+…+10! = %ld \n", sum);}4.13 编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。
#includemain(){long term = 0,sum = 0;int a , i, n;printf("Input a,n: ");scanf("%d,%d", &a, &n); /*输入a,n的值*/for (i = 1; i <= n; i++){term = term * 10 + a; /*求出累加项*/sum = sum + term; /*进行累加*/}printf("sum=%ld\n",sum);}4.14 利用=×…的前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语言上机作业试题5套含答案
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
VC语言上机试题及答案
C 语言上机考试题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 ){…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。
C 语言上机考试题(第二套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。
试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n″, fun(10));}2.回文数是指正读和反读都一样的自然数。
例如,8, 121, 5445这三个数都是回文数。
求:(1) [1,1000]之内既是回文数,又是素数的最大整数。
(2) [1,1000]以内既是回文数,又是素数的整数有多少个。
3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。
c语言上机练习题及答案
c语言上机练习题及答案1.从矩形的长,宽,输出面积(长为6.5,宽为4.5)#includemain(){float length,width,area;scanf("%f%f",&length,&width);area=length*width;printf("area=%f\n",area);}2.定义符号常量,从键盘输入圆的半径3.5,求圆的周长和面积#define PI 3.14#includemain(){float r,c,area;scanf("%f",&r);c=2*PI*r;area=PI*r*r;printf("c=%f,area=%f\n",c,area);}3.练习上机手册P10 3,4,5题,看看输出结果,并思考为什么4.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)#includemain(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);if(i<0)printf("i=%d\n",-i);}5.从键盘输入一个整数,输出其绝对值(采用if——else语句实现)#includemain(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);elseprintf("i=%d\n",-i);}6.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #includemain(){int year;scanf("%d",&year);if((year%4==0&&year%100!=0)||year%400==0)printf("%d是闰年",year);elseprintf("%d不是闰年",year);}7.输入学生的高考成绩,成绩>=560,输出读一本,如果>=520,输出读二本,如果>=480输出读三本,否则输出读专科#includemain(){int score;scanf("%d",&score);if(i>=560)printf("考得很好,你可以读一本学校了\n");else if(i>=520)printf("考得还不错,你可以读二本学校\n");else if(i>=480)printf("你只能读三本学校\n");elseprintf("可以读专科学校,继续努力哦!\n");}8.从键盘输入一个数,判断是否是素数(上机考试重点,必须掌握)#includemain(){int n,i,flag=1;scanf("%d",&n);for(i=2;i<n;i++)< p="">{if(n%i==0){flag=0;break;}}if(flag==1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);}9.求1+1/3+1/5+…+1/99的和(上机考试重点,必须掌握)#includemain(){float s=0;int i=1;while(i<=99){s=s+1.0/i;i=i+2;}printf("s=%f",s);}10.求100—200之间所有能被3整除,但不能被7整除的数,并输出这些数#includemain(){int i;for(i=100;i<=200;i++){if(i%3==0&&i%7!=0)printf("%d,",i);}}</n;i++)<>。
C语言上机练习参考标准答案
C语言上机练习参考标准答案C语言上机练习参考答案————————————————————————————————作者:————————————————————————————————日期:第1章C语言概述1-1编写程序,在屏幕上显示一个如下输出:---------------------------------Programming in C is fun!I love C language.---------------------------------Program#includemain(){ printf("---------------------------------\n");printf("Programming in C is fun!\n");printf("I love C language.\n");printf("---------------------------------\n");}1-2编写程序,在屏幕上显示一个如下图案:* * * ** * ** **Program (1)#includemain(){ printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n ");}Program (2)#includemain(){ printf("%c%4c%4c%4c\n", '*', '*', '*', '*');printf("%3c%4c%4c\n", '*', '*', '*');printf("%5c%4c\n", '*', '*');printf("%7c\n ", '*');}1-3已知某个圆的半径,编写一个程序,用来计算并显示面积。
C语言上机考试编程题以及答案
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语言上机100套答案
第一套给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号、姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
答案: 一、1、STYPE 2、FILE 3、fp二、1、把for(i=0;i<s1;i++)改成for(i=0;i<sl;i++)注意:就是s 后的原来是数字1,应该改成字母l2、把t[sl]=‟\0‟改成t[2*sl]=‟\0‟第二套给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用—1(独立一行)作为字符串输入结束的标志。
然后将文件的内容读出显示在屏幕上。
文件的读写分别由自定义函数ReadText和WriteText实现。
答案:一、1、*fw 2、str 3、str二、1、把void fun(long s,long t)改为void fun(long s,long* t)2、把sl=sl*100改为sl=sl*10第三套给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。
答案:一、1、fp 2、fclose(fp)3、fname二、1、把for(i=j+1;i<n-1;i++)改成for(i=j+1;i<n;i++)2、把t=i;改成p=i;第四套给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。
在复制的过程中,把复制的内容输出到终端屏幕。
主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
答案:一、1、”r”2、fs 3、ft二、1、把if (d%2=0)改为if(d%2==0)2、把s\=10改为s/=10第五套给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
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语言上机考试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个是合法的整型常量?A. 0x12B. 0x12.0C. 0x12LD. 0x12.0L答案:A2. 下列哪个选项是正确的C语言标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:D3. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A4. 在C语言中,以下哪个是正确的函数声明?A. int myFunction(int a);B. int myFunction();C. int myFunction(int);D. int myFunction(int a, int b);答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D二、填空题(每题3分,共15分)1. 在C语言中,用于定义整型变量的关键字是________。
答案:int2. 若有定义 int a = 10;,则表达式 a++ 的值为________。
答案:103. C语言中,用于表示逻辑“与”的运算符是________。
答案:&&4. 在C语言中,以下代码段的输出结果是________。
```c#include <stdio.h>int main() {int x = 5;printf("%d", x++);return 0;}```答案:55. 若有定义 float b = 3.14;,则表达式 b * 100 的值为________。
答案:314.0三、编程题(每题20分,共40分)1. 编写一个C程序,计算并输出以下数列的前10项之和:1 + 1/2 + 1/3 + ... + 1/10。
c语言上机试题库及答案
c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
c 上机试题及答案
c 上机试题及答案第一部分:多项选择题1. 下面哪个选项是正确的?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语言上机作业题及答案
实验一:1、已知华氏温度,根据转换公式计算相应的摄氏温度。
摄氏温度= 5*(华氏温度-32)/92.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。
如:输入12345输出 5 4 3 2 1#include""main(){double t,T;printf ("已知华氏温度,根据转换公式计算相应的摄氏温度");scanf ("%lf",&t);T=(5*(t-32)/9);printf ("摄氏温度=%lf",T);}#include""main(){int value,a,b,c,d,e,m,n,h;printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value);a=value/10000; m=value%10000;b=m/1000; n=m%1000;c=n/100; h=n%100;d=h/10;e=h%10;printf ("%d%d%d%d%d",e,d,c,b,a);}实验二:1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误差在3厘米范围内即视为相符)。
男性身高=(父亲身高+母亲身高)×÷2(厘米)女性身高=(父亲身高×+母亲身高)÷2(厘米)2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。
应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数其中,起征点额度是3500元,其他如下:应纳税所得额税率速算扣除数不超过1500元的部分3% 0超过1500元至4500元的部分10% 105超过4500元至9000元的部分20% 555超过9000元至35000元的部分25% 1005超过35000元至55000元的部分30% 2755超过55000元至80000元的部分35% 5505超过80000的部分45% 13505如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。
大一C语言上机实验试题及答案
大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。
A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。
答案:int2. 以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。
答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。
答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。
答案:char三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其反转后的字符串。
C语言上机题及答案
C语言程序设计上机题1.编写函数实现从键盘输入一个字符串,再将其逆序输出。
#include<stdio.h> //宏定义#include<string.h> //调用string库函数void main(){int i,n;char a[30]; //定义字符型数组gets(a); //输入字符串n=strlen(a); //调用strlen函数,测量字符串长度for(i=n;i>=0;i--) //通过for循环倒序输出printf("%c ",a[i]);printf("\n");}2.编写函数求出10!的值并输出。
#include<stdio.h> //宏定义void main(){unsigned int a,num=1;for(a=1;a<=10;a++) //for循环求出10的阶乘num=num*a;printf("%d\n",num); //输出所求值}3.编写函数实现10个元素数组的平均值,并在主函数输出。
#include<stdio.h> //宏定义float dy(int *a,int n) // 子函数,{float sum=0,p;int i;for(i=0;i<10;i++) //for循环求数组和sum=*(a+i)+sum; // 数组指针p=sum/10.0; // 求平均数return p; // 返回平均数P的值}void main(){int i,a[10];for(i=0;i<10;i++) //for循环输入数组的十个数字scanf("%d",&a[i]);printf("%f\n",dy(a,10)); // 输出子函数返回的平均值}4.编写函数实现圆度面积计算,并在主函数中输出结果。
(完整版)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、已知华氏温度,根据转换公式计算相应的摄氏温度。
摄氏温度= 5*(华氏温度-32)/92.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。
如:输入 12345输出 5 4 3 2 1#include"stdio.h"main(){double t,T;printf ("已知华氏温度,根据转换公式计算相应的摄氏温度");scanf ("%lf",&t);T=(5*(t-32)/9);printf ("摄氏温度=%lf",T);}#include"stdio.h"main(){int value,a,b,c,d,e,m,n,h;printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value);a=value/10000; m=value%10000;b=m/1000; n=m%1000;c=n/100; h=n%100;d=h/10;e=h%10;printf ("%d%d%d%d%d",e,d,c,b,a);}实验二:1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误差在3厘米范围内即视为相符)。
男性身高=(父亲身高+母亲身高)×1.08÷2(厘米)女性身高=(父亲身高×0.923+母亲身高)÷2(厘米)2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。
应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数其中,起征点额度是3500元,其他如下:应纳税所得额税率速算扣除数不超过1500元的部分 3% 0超过1500元至4500元的部分 10% 105超过4500元至9000元的部分 20% 555超过9000元至35000元的部分 25% 1005超过35000元至55000元的部分 30% 2755超过55000元至80000元的部分 35% 5505超过80000的部分 45% 13505如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。
#include<stdio.h>#include<math.h>main(){float A,a,H,h,b;printf("父亲身高(厘米)\n");scanf("%f",&A);printf("母亲身高(厘米)\n");scanf("%f",&a);printf("孩子实际身高(厘米)\n");scanf("%f",&H);printf("请选择孩子性别:女=0,男=1\n");scanf("%f",&b);if(b)h=(A+a)*1.08/2;elseh=(A*0.923+a)/2;if(fabs(H-h)<=3)printf("实际身高符合该公式\n");elseprintf("实际身高不符合该公式\n");printf("孩子预测身高(厘米)%f",h);}#include<stdio.h>main(){float s,a,t;printf("应纳个人所得税税额=(税前收入-起征点额度)*适用税率-速算扣除数\n");printf("起征点额度=3500元\n");printf("税前收入s=");scanf("%f",&s);if(s<=3500)t=0;else{ a=s-3500;if(a<=1500)t=a*0.03-0;elseif(a<=4500)t=a*0.1-105;elseif(a<=9000)t=a*0.2-555;elseif(a<=35000)t=a*0.25-1005;elseif(a<=55000)t=a*0.3-2755;elseif(a<=80000)t=a*0.35-5505;elset=a*0.45-13505;}printf("应纳个人所得税税额=%f\n",t);}实验三:1.编程解决鸡兔同笼问题(无解时给出输入错误提示)。
描述如下:一个笼子里关了鸡和兔子,已知鸡和兔子的总数a以及脚的总数b,问笼子里面有多少只鸡,有多少只兔子。
2.设计并编程实现一个猜数游戏:由计算机随机产生一个1~100之间的整数请人猜,如果猜对了,则在屏幕上输出猜了多少次才猜对此数,结束游戏;否则计算机给出提示,说明所猜的数是太大还是太小,最多可以猜10次,如果猜10次仍未猜中的话,则给出正确答案并结束游戏。
#include"stdio.h"main(){int a,b,i,j;printf("一个笼子里关了鸡和兔子,已知鸡和兔子的总数a以及脚的总数b,求鸡兔各几只\n");printf("a=");scanf("%d",&a);printf("b=");scanf("%d",&b);for(i=0;i<=a;i++){ for(j=0;j<=a;j++){if(i+j==a&&i*2+j*4==b)printf("鸡的只数=%d\n兔子的只数=%d\n",i,j);if(i+j==a&&i*2+j*4==b) break;}if(i+j==a&&i*2+j*4==b) break;}if(i+j!=a&&i*2+j*4!=b)printf("输入错误\n");}#include"stdio.h"#include"stdlib.h"#include"time.h"main(){int a,b,i;srand(time(0));a=rand()%100+1;for(i=1;i<=10;i++){ printf("请猜一个1-100的数字b=");scanf("%d",&b);if(b==a){printf("猜了的次数=%d\n",i);break;}if(b>a)printf("猜的数太大\n");if(b<a)printf("猜的数太小\n");}printf("正确答案是%d\n",a);}实验四:1.从键盘输入一个班(不超过30人)学生某门课的成绩,当输入成绩为负值时,则输入结束,统计并输出不及格人数并打印不及格学生的成绩,按成绩高低排序,输出该班最高分及最低分。
2.从键盘上输入一个字符串存放在一个字符数组中,按照以下规则对其加密:其中所有的大写英文字母加3,小写英文字母减4,其它字符不变,将加密后的字符串存放到另一个字符数组中,输出原字符串和加密后的字符串。
如:输入Microsoft Visual C++输出Pe_nkokbp Yeoq]h F++#include "stdio.h"#define N 30main(){int a[N],i=0,j,k,m=0,t;do{printf("输入学生成绩a[%d]=",i);scanf("%d",&a[i]);i++;}while(a[i-1]>=0);k=i-2;for(i=0;i<k;i++){ for(j=i+1;j<k+1;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}if(a[i]<60){printf("不及格成绩a[%d]=%d\n",i,a[i]);m++;}}printf("不及格人数m=%d\n",m);printf("该班最高成绩a[%d]=%d\n",k,a[k]);printf("该班最低成绩a[0]=%d\n",a[0]);}#include"stdio.h"#include"string.h"#define N 50void main(){char strl[2][N];char c;int i=0,k;while((c=getch())!=13) //回车键停止输入{strl[0][i]=c;putch(c);i++;}strl[0][i]='\0';k=i;for(i=0;i<k;i++){ if(strl[0][i]>='A'&&strl[0][i]<='Z')strl[1][i]=strl[0][i]+3;else if(strl[0][i]>='a'&&strl[0][i]<='z')strl[1][i]=strl[0][i]-4;else{strl[1][i]=strl[0][i];}strl[1][k]='\0';}printf("\n");printf("%s\n",strl[1]);}实验五:1.编写求和函数和求平均值函数。
在主函数中,输入一组10个整数,存储在一个数组中,调用求和函数求出这10个整数的和值,调用求平均值函数求出这10个整数的平均值,输出计算结果。
2.编写函数,统计字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串并输出统计结果。
#include <stdio.h>int sum(int a[]);float aver(int a[]);main(){int i,a[10];for(i=0;i<10;i++){ printf("请输入整数a[%d]=",i);scanf("%d",&a[i]);}printf("这10个整数的和为%d\n",sum(a));printf("这10个整数的平均数为%.3f\n",aver(a)); }int sum(int a[]){ int i,sum=0;for(i=0;i<10;i++)sum=sum+a[i];return sum;}float aver(int a[]){ int i,s=0;float aver;for(i=0;i<10;i++)s=s+a[i];aver=s/10.0;return aver;}#include<stdio.h>#include<string.h>void count(char str[]);int chars = 0,nums = 0,spaces = 0,others = 0;main(){ char s[100];printf("请输入字符串s[100]:");gets(s);count(s);printf("字母的个数为%d\n",chars);printf("数字的个数为%d\n",nums);printf("空格的个数为%d\n",spaces);printf("其他字符的个数为%d\n",others);}void count(char str[]){ int i,length;length = strlen(str);for (i=0;i<=length-1;i++){ if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))chars++;else if((str[i]>='0')&&(str[i]<='9'))nums++;else if(str[i]==' ')spaces++;else others++;}}。