C语言上机练习7
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语言上机(20道)
1、从键盘输入三个数,输出这三个数中最大的数main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b) max=a;else max=b;if(c>max) max=c;printf("max=%d\n",max);}3、给一个分段函数,设计一个程序,要求从键盘输入x,输出ymain(){ float x,y;scanf("%f",&x);if(x>0) y=3*x+5;if(x==0) y=7;if(x<0) y=5*x;printf("%f\n",y);}4、求1+2+…+n,n由键盘输入main(){ int i,s,n;scanf("%d",&n);for(s=0,i=1;i<=n;i++)s=s+i;printf("%d\n",s);}5、求1*2*…*n(即n!),n由键盘输入main(){int i, n; long s;scanf( "%d",&n);for(i=1,s=1; i<=n; i++)s=s*i;printf("%ld\n",s);}6、求1!+2!…+n!,n由键盘输入main(){int i,n; long s,f;scanf("%d",&n);s=0;f=1;for(i=1; i<=n; i++){ f=f*i; s=s+f; }printf("%ld\n",s); }7:输出100以内(不含100)能被3整除且个位数为6的所有整数(P97)main(){int i,j;for(i=0;i<10;i++){j=i*10+6;if(j%3!=0)continue;printf("%4d",j);}}8、求两个正整数的最大公因子和最小公倍数(P82)main(){ int m,n,r,p;scanf("%d%d",&m,&n);p=m*n; r=m%n;while(r){m=n; n=r;r=m%n; }printf("%d,%d\n",n,p/n);}9、将一个整数的各位数字颠倒后输出(P84)main(){ int i,r;scanf("%d",&i);do{r=i%10;printf("%d",r);i=i/10; }while(i!=0);printf("\n");}10、求Fabonacci数列的前20项,每5个数一换行。
C语言上机试题
B:1992
C:1996
D:2000
答案:A
〖第11题〗『单项选择』(1分)(题号:172)
在C语言程序中()。
A:函数的定义可以嵌套,但函数的调用不可以嵌套
B:函数的定义不可以嵌套,但函数的调用可以嵌套
C:函数的定义和函数调用均可以嵌套
D:函数的定义和函数调用不可以嵌套
题目:给一个不多于5位的正整数,要求:一、求它是
几位数,二、逆序打印出各位数字。
--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
------------------------------------------------------*/
/***********SPACE***********/
printf("max value is %d\n",【?】);
}
max_value(m,n,array)
/***********SPACE***********/
int m,n,【?】;
{int i,j,max;
max=array[0][0];
题目:求出二维数组中的最大元素值。
-------------------------------------------------------*/
#include "stdio.h"
void main()
{int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
C语言上机练习参考答案
第1章 C语言概述1-1编写程序,在屏幕上显示一个如下输出:1-2---------------------------------1-3Programming in C is fun!1-4I love C language.1-5---------------------------------1-6编写程序,在屏幕上显示一个如下图案:1-7* * * *1-8* * *1-9* *1-10*1-11已知某个圆的半径,编写一个程序,用来计算并显示面积。
1-12要求:将π定义为符号常量,并假设一个恰当的半径值。
OutputThe area of circle is: 78.50 1-13已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果: 1-1420+10=30 1-1520-10=10Output20 + 10 = 30 20 – 10 = 10 1-16 已知变量a 、b 和c 的值,编写程序,用来计算并显示x 的值,其中cb a -=x 1-17 请分别用以下数值运行该程序 1-18 (1)a=250,b=85,c=25 1-19(2)a=300,b=70,c=80Output (1)x = 4.17Output (2)x = -30.00第2章 常量、变量及数据类型 & 第3章 运算符和表达式3-1 编写程序,求华氏温度100o F 对应的摄氏温度。
计算公式如下: 3-29)32(5-⨯=f c 3-3 式中:c 表示摄氏温度,f 表示华氏温度。
(c 定义为实型,f 定义为整型)OutputCelsius degree (corresponding to 100 Fahrenheit) is: 37.78.3-4 一个物体从100m 的高空自由落下,编写程序,求它在前3s 内下落的垂直距离。
c语言上机练习
一、程序改错题功能:打印出杨辉三角形(要求打印出10行).#include"stdio.h"main(){ int i,j; int a[10][10]; printf("\n");for(i=1;i<10;i++){ a[i][0]=1; a[i][i]=1; }for(i=1;i<10;i++)for(j=1;j<i;j++)a[i][i]=a[i-1][j-1]+a[i-1][j];for(i=0;i<10;i++){ for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n"); getch();}}二、程序填空题功能:将一个字符串中的前N个字符复制到一个字符数组中去,不允许使用strcpy函数。
main ( ){ char str1[80],str2[80]; int i,n;gets(【?】);scanf("%d",&n);for (i=0; 【?】 ;i++)【?】;【?】;printf("%s\n",str2);}三、程序设计题功能:编写函数fun求s=1^k+2^k +3^k + ......+N^k的值,(1的K次方到N 的K次方的累加和)。
#define K 4 #define N 5 #include "stdio.h"long fun(int n,int k){ /**********Program**********//********** End **********/ }main(){ long int sum;printf("Sum of %d powers of integers from 1 to %d = ",K,N);sum=fun(N,K); printf("%ld\n",sum);}一、程序改错题功能:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。
c语言上机练习共35篇
c语言上机练习共35篇C 语言程序上机实训题上机练习一一、程序改错题:程序功能:求 100 以内的偶数之和. #include "stdio.h" main() { int i,sum=1; sum+=i; printf("Sum=%d \n";sum); getch(); } 二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。
main() { int number[10]; input(number); max_min(number); output(number);} input(int number[10]) { int i; for(i=0;【?】;i++) scanf("%d,",&number[i]); scanf("%d",&number[9]);} max_min(int array[10]) { int max,min,k=0,l=0,t,p,; max=min=array[0]; for(p= 1;pmax) {max= array[p];k=p;} else if(array[0] /**********End **********/} main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %ld\n", fun(m)); }1C 语言程序上机实训题上机练习二一、程序改错题:功能:求 1 到 10 的阶乘的和。
main() { int i; float t,s=0; float fac(int n); for(i=1;i #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f%f%f",&a,&b,&c); printf("the equation"); if(【?】/********** }End **********/2C 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。
c语言上机练习
第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。
#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。
2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。
#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。
C语言练习7
/**********FILL**********/
f(n%8==7) __a=n/8___ ; }
}
if(i%17==4)
{
n=i/17 ;
/**********FILL**********/
if(_n%17==15!(n%17!=15)___) n=n/17 ;
}
/**********FILL**********/
main()
{ char x[80], y[40]; int a, h = 0;printf(“Please input x string: “);
gets(x);printf(“Please input y s’)
___h++__ ;___a = 0__;
{ int a[N], i;
for( i = 0; i < N; i++)scanf(“%d”, a +___i__ );
invert( a, 0, N - 1);for(i = 0; i < N; i ++) printf(“%d”, a[i]);printf(“\n”);
7.以下程序的运行结果是_30x____。
功能:根据整型形参m的值,计算如下公式的值。
1 1 1
t = 1- -- - -- - ... - --
2x2 3x3 mxm
例如:若m=5,则应输出:0.536389
#include "stdio.h"
double fun(int m)
{double y=1.0;int i;
/**********ERROR**********/
double a = 513.789215;
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语言作业及上机习题(仅供参考)
第一次课熟悉win-TC编译环境、熟悉C语言程序结构1.使用C 语言编译环境,输入下面的源程序。
将你的程序命名为hello.c,然后编译运行它。
/* program writes the words "Hello, world" to the screen *File : Hello.c* By : NJCIT* Date : 07-03-09*/#include <stdio.h>main(){printf("Hello, world\n");return(0);}2.main() /*求两数之和*/{int a,b,sum; /* 这是变量定义*/a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}问题:1.一个C语言源程序从哪里开始执行?2. C程序的函数由几部分构成?3. ANSI C 中的注释内容是用什么符号界定?第二次课熟悉printf()函数、常见转义字符及各种数据类型的输出格式1.2. main(){int a=5,b=7,c=-1;float x=67.8564,y=-789.124;char c=‘A’;long n=1234567;unsigned u=65535;printf(“%d%d\n”,a,b);printf(“%3d%3d\n”,a,b);printf(“%f,%f\n”,x,y);printf(“%-10f%-10f\n”,x,y);printf(“%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n”,x,y,x,y,x,y);printf(“%e,%10.2e\n”,x,y);printf(“%c,%d,%o,%x\n”,c,c,c,c);printf(“%ld,%lo,%x\n”,n,n,n);printf(“%u,%o,%x,%d\n”,u,u,u,u);printf(“%s,%5.3s\n”,”COMPUTER”,”COMPUTER”);}3. 假设下面的例子都是完整程序的一部分,那么他们每一个将会输出什么?4.加载,编译并运行下面的程序。
《C语言》上机实验题及参考答案
《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。
1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
7、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。
8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
9、编制一个完成两个数的四则运算程序。
如:用户输入34+56则输出结果90.00。
要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。
10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
c语言程序设计上机答案
c语言程序设计上机答案C语言程序设计是一门实践性很强的课程,上机练习是掌握C语言编程技能的重要环节。
以下是一些常见的C语言上机练习题目及其参考答案,供学习者参考。
1. 打印“Hello, World!”```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两个数的和```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % 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;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>double calculateArea(double radius) {return M_PI * radius * radius;}int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = calculateArea(radius);printf("半径为 %f 的圆的面积是:%f\n", radius, area); return 0;}```5. 字符串反转```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[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```6. 计算阶乘```c#include <stdio.h>unsigned long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个非负整数:");scanf("%d", &num);printf("%d 的阶乘是:%llu\n", num, factorial(num)); return 0;}```7. 排序算法(冒泡排序)```c#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);printf("排序后的数组是:\n");for (int i = 0; i < n; ++i) {printf("%d ", arr[i]);}printf("\n");return 0;}```8. 寻找最大值```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; ++i) {if (arr[i] > max) { max = arr[i]; }}return max;。
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语言上机操作题及答案计算机二级C语言上机操作题及答案给定程序中,函数fun的功能是: 有N*N矩阵.以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0.例如,若N=3,有下列矩阵:1 2 34 5 67 8 9计算结果为:1 0 06 5 010 14 9请勿改动主函数main和其它函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句.#include#define N 4void fun(int (*t)___1___){int i, j;for (i=1; i {for (j=0; j {___2___ = t[i][j]+t[j][i];___3___ = 0;}}}main(){int i, j, t[][N] ={21, 12, 13, 24, 25, 16, 47, 38, 29, 11, 32, 54, 42, 21, 33, 10}; printf("\nThe original array:\n");for (i=0; i {for (j=0; j printf("- ", t[i][j]);printf("\n");}fun(t);printf("\nThe result is:\n");for (i=0; i {for (j=0; j printf("- ", t[i][j]);printf("\n");}}答案:第一处:[N]第一处:t[i][j]第三处:t[j][i]。
C语言正式上机题
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语言程序设计上机习题与参考答案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);}输入一个摄氏温度,要求输出华氏温度。
上机考试题库c语言
上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。
2. 若有定义int a=10;,则表达式a++的值是______。
3. C语言中,用于声明一个浮点型变量的关键字是______。
4. 在C语言中,用于声明一个字符型变量的关键字是______。
5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。
大一c语言上机考试题及答案下载
大一c语言上机考试题及答案下载大一C语言上机考试题及答案下载一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:A2. 下列哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:C3. C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str = "Hello";D. char str[] = {"Hello"};答案:A5. 下列哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A二、填空题(每题2分,共10分)1. C语言中,定义一个整型变量的关键字是________。
答案:int2. 在C语言中,使用________运算符可以连接字符串。
答案:+3. C语言中,________关键字用于定义一个结构体。
答案:struct4. C语言中,________函数用于输入字符串。
答案:gets5. C语言中,________函数用于输出字符串。
答案:puts三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串反转的功能。
二级c语言第七套上机练习
1 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的3个元素,按num成员进行升序排序。
#include <stdio.h>typedef struct{ int num;char name[10];}PERSON;/**********found**********/void fun(PERSON ___std[]___){/**********found**********/___PERSON_ temp;if(std[0].num>std[1].num){ temp=std[0]; std[0]=std[1]; std[1]=temp; }if(std[0].num>std[2].num){ temp=std[0]; std[0]=std[2]; std[2]=temp; }if(std[1].num>std[2].num){ temp=std[1]; std[1]=std[2]; std[2]=temp; }}main(){ PERSON std[ ]={ 5,"Zhanghu",2,"WangLi",6,"LinMin" };int i;/**********found**********/fun(___std___);printf("\nThe result is :\n");for(i=0; i<3; i++)printf("%d,%s\n",std[i].num,std[i].name);}2 给定程序中,函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式,例如:变量a中的值为3,b中的值为8,程序运行后,a中的值为8,b 中的值为3。
#include <conio.h>#include <stdio.h>#include <windows.h>int fun(int *x,int y){int t;/************found************/t=*x;*x=y; /*原来是t=x; x=y*//************found************/return(t); /*原来是return (y)*/}main(){int a=3,b=8;system("cls");printf("%d %d\n",a,b);b=fun(&a,b);printf("%d %d\n",a,b);}3 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun它的功能是:把高于等于平均分的学生数据放在h所指的数组中,高于等于平均分的学生数据放在h所指的数组中,高于等于平均分的学生人数通过形参放在传回,平均分通过函数值传回#include <stdio.h>#define N 12typedef struct{ char num[10];double s;} STREC;double fun(STREC *a,STREC *b,int *n){ int i, j ; double aver=0;*n=0;for(i=0 ; i<N; i++)aver=aver+a[i].s; /*求和*/aver=aver/N; /*计算平均分*/for(i=0;i<N; i++)if(a[i].s>=aver){ b[*n].s=a[i].s; /*将高于等于平均分的学生放在另一个数组b中*/for(j=0 ; j<10; j++)b[*n].num[j]=a[i].num[j];*n=*n+1;/*统计高于等于平均分的学生人数*/}return (aver) /*返回平均分*/}main(){ STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85}, {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},{"GA09",60},{"GA11",79},{"GA12",73},{"GA10",90}};STREC h[N];FILE *out;int i,n;double ave;ave=fun(s,h,&n);printf("The %d student data which is higher than %7.3f:\n",n,ave);for(i=0;i<n;i++)printf("%s %4.1f\n",h[i].num,h[i].s);printf("\n");out=fopen("out12.dat","w");fprintf(out,"%d\n%7.3f\n",n,ave);for (i=0;i<n;i++)fprintf(out,"%s %4.1f\n",h[i].num,h[i].s);fclose(out);}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言上机报告7 指针一、上机内容1) 以下程序的执行结果是什么?先在以下空白处填写结果,再上机验证。
#include "string.h" //重点题目,感觉必考类…#include "stdio.h"void main(){char *s1="abcd\0abcd";char *s2="abcd\\0abcd\t";char *s3="1234\01234";char *s4="sina.34\06\234"; // \234八进制数,用单引号时为转义字符char *s5="1234\01234";char *s6="1234\05.12234";char *s7="1234\0a18234";char *s8="4234\091234";char *s9="56234\0481234";char *s10="dddd\01789\n1234";在以下空白处填写%d的显示结果?printf("[1]字符串s1的长度是:%d\n",strlen(s1)); 4printf("[2]字符串s2的长度是:%d\n",strlen(s2)); 11printf("[3]字符串s3的长度是:%d\n",strlen(s3)); 7printf("[4]字符串s4的长度是:%d\n",strlen(s4)); 9printf("[5]字符串s5的长度是:%d\n",strlen(s5)); 7printf("[6]字符串s6的长度是:%d\n",strlen(s6)); 11printf("[7]字符串s7的长度是:%d\n",strlen(s7)); 4printf("[8]字符串s8的长度是:%d\n",strlen(s8)); 4printf("[9]字符串s9的长度是:%d\n",strlen(s9)); 11printf("[10]字符串s10:的长度是:%d\n",strlen(s10)); 12 }2)执行下列程序,观察结果。
分析二维数组的指针,一维数组指针,数组值之间的关系。
改写以下程序,以一维数组名a[0]为指针,打印出数组的所有元素。
以二维数组名a为指针,打印出数组的所有元素。
#include "string.h"#include "stdio.h"void main(){int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};int i,j;for(i=0; i<3; i++){ puts("");for(j=0; j<4; j++)printf("a[%d][%d]_ %p: %d\n", i,j, &a[i][j],a[i][j] );}printf("\na =%p, ",a);printf("*a = %p, ",*a);printf("a[0]=%p, ",a[0]);printf("&a[0]=%p, ",&a[0]);printf("&a[0][0]=%p\n\n",&a[0][0]);printf("a+1=%p, ",a+1);printf("*(a+1)=%p, ",*(a+1));printf("a[1]=%p, ",a[1]);printf("&a[1]=%p, ",&a[1]);printf("&a[1][0]=%p\n\n",&a[1][0]);printf("a+2=%p, ",a+2);printf("*(a+2)=%p, ",*(a+2));printf("a[2]=%p, ",a[2]);printf("&a[2]=%p, ",&a[2]);printf("&a[2][0]=%p\n\n",&a[2][0]);printf("a[1]+1=%p, ",a[1]+1);printf("*(a+1)+1=%p\n\n",*(a+1)+1);printf("*(a[1]+1)=%d, *(*(a+1)+1)=%d\n",*(a[1]+1),*(*(a+1)+1));}#include "string.h"#include "stdio.h"void main(){int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};int i,j;for(i=0; i<3; i++){ puts("");for(j=0; j<4; j++)printf("a[%d][%d]_ %p: %d\n", i,j,(a[0]+4*i+j),*(a[0]+4*i+j));}}#include "string.h"#include "stdio.h"void main(){int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};int i,j;for(i=0; i<3; i++){ puts("");for(j=0; j<4; j++)printf("a[%d][%d]_ %p: %d\n", i,j, *(a+i)+j,*(*(a+i)+j));}}完成实验指导书P264实验9函数一的实验内容(1)(2),(先自己编程,答案见指导书的习题解答).二、上机作业1. 变量的指针,其含义是指该变量的()。
A.值B.地址C.名D.一个标志2.已有定义int k=2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。
A.k=*ptr1+*ptr2B.ptr2=kC.ptr1=ptr2D.k=*ptr1*(*ptr2)3.若有说明:int *p,m=5,n; 以下程序段正确的是()。
//&取地址*取值A.p=&n; scanf(“%d”,&p);B.p = &n ; scanf(“%d”,*p);C.sc anf(“%d”,&n); *p=n ; //p不知指哪D.p = &n ; *p = m ;4. 若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是()。
A.p1=&m; p2=&p1 ;B.p1=&m; p2=&n; *p1=*p2 ;//n无初值C.p1=&m; p2=p1 ;D.p1=&m; *p1=*p2 ; //p2不知指哪5. 若有语句:int *p,a=4;和p=&a;下面均代表地址的一组选项是()。
A.a, p, *&aB.&*a,&a,*pC.*&p,*p,&aD.&a,&*p,p6. 下面程序段中,for循环的执行次数是()。
A.9B.7C.6D.5char *s=”\ta\018bc” ;for ( ; *s!=‟\0‟ ; s++) printf(“*”) ; //最后一次为‘\0’7.下面能正确进行字符串赋值操作的是()。
//注意CD答案A.char s[5]={“ABCDE”};//没空间存放\0B.char s[6]={…A‟,‟B‟,‟C‟,‟D‟,‟E‟,‟/0‟};C.c har *s ; s=”ABCDE” ;//记住这种赋值方式,但不能用“=”对数组一次赋值如s[10],s=“ABCDE”×D.char *s; scanf(“%s”,s) ;//指针s无初值8. 下面程序段的运行结果是()。
char *s=”abcde” ;s+=2 ;printf(“%d”,s);A.cdeB.字符‟c‟C.字符‟c‟的地址D.不确定9. p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是()。
A.c=*p1+*p2B.p2=cC.p1=p2D.c=*p1*(*p2)10. 以下说明不正确的是()。
A.char a[10]=”china” ;B.char a[10],*p=a; p=”china”;C.char *a; a=”china” ;D.char a[10],*p; p=a=”china”;p=a=”china”;a是地址常量,a为数组名,不变,不可赋值11. 若有定义:int a[5];则a数组中首元素的地址可以表示为()。
A.&aB.a+1C.aD.&a[1]12. 对于类型相同的指针变量,不能进行哪种运算? //奇葩题,百度的...A. +B. -C. =D. ==//两个指针相加,得到一个离得很远的地址,是没有意义的,所以C语言不允许两个指针相加。
13. 若有以下说明和语句,则p1-p2的值为多少?//区分数据字节int a[10], *p1, *p2; p1=a; p2=&a[5];A. -5B. 5C. 10D. 非法区分填空的第二题,问地址是不同的,死记,若问地址,则4*5=20#include"stdio.h"main(){int a[10], *p1, *p2; p1=a; p2=&a[5];printf("p1=%d\n",p1);printf("p2=%d\n",p2);printf("p1-p2=%d\n",p1-p2);}三、填空1. 设int a[10]={1,2,3}; 则*(a+3)的值是0 。