C语言上机练习5

合集下载

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语言上机练习参考答案

C语言上机练习参考答案第1章C语言概述1-1编写程序,在屏幕上显示一个如下输出:---------------------------------Programming in C is fun!I love C language.---------------------------------1-2编写程序,在屏幕上显示一个如下图案:* * * ** * ** **1-3已知某个圆的半径,编写一个程序,用来计算并显示面积。

要求:将π定义为符号常量,并假设一个恰当的半径值。

OutputThe area of circle is: 78.501-4已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果:20+10=3020-10=10Output20 + 10 = 3020 – 10 = 101-5 已知变量a 、b 和c 的值,编写程序,用来计算并显示x 的值,其中cb a -=x 请分别用以下数值运行该程序(1)a=250,b=85,c=25(2)a=300,b=70,c=80Output (1)x = 4.17Output (2)x = -30.00第2章 常量、变量及数据类型 & 第3章 运算符和表达式 3-1 编写程序,求华氏温度100o F 对应的摄氏温度。

计算公式如下: 9)32(5-⨯=f c 式中:c 表示摄氏温度,f 表示华氏温度。

(c 定义为实型,f 定义为整型)Output Celsius degree (corresponding to 100 Fahrenheit) is: 37.78.3-2 一个物体从100m 的高空自由落下,编写程序,求它在前3s 内下落的垂直距离。

设重力加速度为10m/s 2。

要求,将重力加速度定义为符号常量,尝试将其改为9.8 m/s 2,看结果有何不同?OutputThe falling vertical distance (in 3 seconds) is:45.00.3-3将球的半径R定义为符号常量,计算球的表面积(4πR2)和体积(4/3*πR3)。

C语言上机(20道)

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语言上机作业试题5套含答案

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说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

C语言上机练习题

C语言上机练习题

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

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

#include ""main(){long n;int ww,qw,bw,sw,gw;printf("Please input:\n"); scanf("%ld",&n);while(n<=0||n>99999){printf("\nThe number is too little or too please!\n");scanf("%ld",&n);}if(n>=10000&&n<=99999){ww=n/10000;qw=n/1000%10;bw=n/100%10;sw=n/10%10;gw=n%10;printf("The old number is:%ld\n",n);printf("The new number is:%d%d%d%d%d\n",gw,sw,bw,qw,ww );}else if(n>=1000&&n<=9999){qw=n/1000;bw=n/100%10;sw=n/10%10;gw=n%10;printf("The old number is:%ld\n",n);printf("The new numberis:%d%d%d%d\n",gw,sw,bw,qw);}else if(n>=100&&n<=999){bw=n/100;sw=n/10%10;gw=n%10;printf("The old number is:%ld\n",n);printf("The new number is:%d%d%d\n",gw,sw,bw);}elseif(n>=10&&n<=99){sw=n/10;gw=n%10;printf("The old number is:%ld\n",n);printf("The new number is:%d%d\n",gw,sw);}else printf("The old number equals the new number:%ld",n);}2.计算1+2+3…+n的值,n是从键盘输入的自然数。

c语言上机练习共35篇

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语言上机练习

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语言上机编程题,全

C语言上机编程题,全

上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。

#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。

#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。

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

C语言上机报告5数组21、上机内容找出下列程序中的错误并改正1) /*有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

*/#include "stdio.h"#define M 3 //无分号#define N 4void main( ){ int max,i,j,r,c;int a[M][N]={{323,94,-10,218}, {3,9,10,-83}, {45,16,44,-99}};max=a[0][0];r=0;c=0;//r,c 无初值,当if ( a[i][j]>max)不成立,则不会返回r=0,c=0,而是原来内存单元中的数。

for(i=0; i<M; i++)for(j=0; j<N; j++)if (a[i][j]>max){ max= a[i][j];r=i;c=j;}printf("max=%d,行=%d,列=%d\n",max,r,c);}2) 输入一串字符,计算其中空格的个数。

#include <stdio.h>#include <string.h>main( ){ char c[80];int i, sum=0;gets(c);for(i=1;i<80; i++)if(c[i] ==0x20) //单字符‘空格键’,单字符用‘’,字符串用“”sum=sum+1;printf("空格数为:%d \n", sum);}2、上机作业一、完成下列选择题1、有语句char str1[10],str2[10]={“china”};则能将字符串china赋给数组str1的正确语句是________。

A、str1={"china"};B、strcpy(str1,str2);C、str1=str2;D、strcpy(str2,str1);2 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3 B) 6 C) 10 D) 203 对于for(表达式1;;表达式3)可理解为()A)for(表达式1;1;表达式3)B)for(表达式1:1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)4、以下for循环的执行次数是( ).for(x=0,y=0;(y=123)&&(x<4);x++);A)是无限循环B)循环次数不定C)执行4次D)执行3次5 逻辑运算符两侧运算对象的数据类型().A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据6、设有数组定义: char str[ ]=“Chinae”; 则数组 str所占空间为A) 5个字节 B)6个字节C) 7个字节 D) 8个字节7、下列描述中不正确的是A) 字符型数组中可以存放字符串B) 可以对字符型数组进行整体输入、输出//gets(),puts()C) 可以对整型数组进行整体输入、输出D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值//切记8、以下定义语句,char b=‘\123’;变量b __//八进制\000,同时8进制只有数字0-7A) 包含4个字符 B)包含3个字符C) 包含2个字符D)包含1个字符9、以下语句的执行结果是(以下□代表空格):char s[10];s="abcd";printf("%s",s);A) 输出abcd B) 输出a C) 输出abcd□□□□□D)编译不通过10、以下各项是合法的C语言字符常量的是A) ‘\oxef’ B) ‘db’C)‘\23’ D) “”11、以下不能对二维整形数组a进行正确初始化的语句是:A)int a[2][3]={0};B) int a[][3]={{1,2},{0}};C) int a[2][3]={{1,2},{3,4},{5,6}}; //2行3列D) int a[][3]={1,2,3,4,5,6};12.判断两个字符串s1和s2相等,应当使用( )。

strcmp() =,0;<,-1;>,1 A. if (s1 == s2) B. if (s1 = s2)C.if (!strcmp(s1,s2))D. if (strcmp(s1,s2))13.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

A. j*n+iB. i*n+jC. i*n+j-1D. i*n+j+114.以下能对二维数组a进行正确初始化的语句是:。

A) int a[2][] = {{1,0,1},{5,2,3}};B) int a[][3] = {{1,2,1},{5,2,3}};C) int a[2][4] = {{1,2,1},{5,2},{6}};D) int a[][3] = {{1,0,2},{},{2,3}};二、填空:1 以下程序的输出结果是25#include "stdio.h"#define N 3void main(){ int a,b=0;int c[10]={1,2,3,4,5,6,7,8,9,0};for (a=0;a<10;++a)if((a%2)==0) b+=c[a];printf("%d",b);}4 以下程序的输出结果是3int n[3], i,j,k=2;for (i=0;i<k;i++) n[i]=0;for (i=0;i<k;i++)for (j=0;j<k;j++)n[j]=n[i]+1;printf(“n[0]=%d”,n[0]);5、以下程序的输出结果是52int y=8;for(;y>0;y--){if(y%3==0){printf(“%d”,--y); continue;} }二编程练习,需要画出程序的流程图。

:1. 韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。

编程求韩信至少有多少兵吗?#include "stdio.h"void main(){int i,a;for(i=0;i<10000;i++){if(i%5==1)if(i%6==5)if(i%7==4)if(i%11==10){a=i;i=10001;}}printf("韩信至少有%d个兵",a);}2. 求Sn=a+aa+aaa+------+aaaaaaa(n个a),其中a和n都从键盘中输入,如从键盘=2+22+222+2222+22222。

中输入2,5,则计算25(使用递归函数求aaaa(n个a)的值#include "stdio.h"void main(){int m,i,a,b,c=1,s;printf("请输入S和n如(2,5):");scanf("%d,%d",&a,&b);s=jieguo(a,b);printf("Sn=");for(i=0;i!=b;i++){for(m=0;m!=i;m++){c=c*10+1;}if(i!=(b-1))printf("%d+",a*c);elseprintf("%d=%d\n",a*c,s);c=1;}}//递归函数int jieguo(int a,int b){int k=1,i,sum;if(b==1)sum=a*1;else{for(i=0;i!=(b-1);i++){k=k*10+1;}sum=a*k+jieguo(a,(b-1));}return sum;}3. 从键盘任意输入10个不相同的整数,然后,输入要查找的数x,如果在这10个数中找到x,则打印“Found!”;如果找不到,则打印“Not found!”。

#include "stdio.h"void main(){int i,a[10],b,flag=0;printf("请输入10个数:");printf("\n");for(i=1;i<11;i++){printf("[%d] ",i);scanf("%d",&a[i-1]);}printf("请输入要查找的数:\n");scanf("%d",&b);for(i=0;i<10;i++){if(a[i]==b){printf("Found! a[%d]=%d\n",i+1,b);flag=1;}}if(flag==0)printf("Not found!\n");}4 编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。

拷贝时,‘\0'也要拷贝过去。

‘\0'后面的字符不拷贝。

#include <stdio.h>#include <string.h>void main(){int i,flag=0;char a[30],b[30];printf("请输入一个字符串:");gets(a);for(i=0;i<30;i++){if(a[i]=='\0'){b[i]='\0';flag=i;i=31;}else{b[i]=a[i];}}printf("新的字符串是:");for(i=0;i<=flag;i++){printf("%c",b[i]);}printf("\n");}//简单版1:for(i=0; (b[i]=a[i])!='\0';i++);//简单版2:while(*p1++==*p2++);5. 编写一个猜数字游戏程序。

程序要求:1、随机对一个4个元素的整型数组赋值(要求每个元素的数字不相同,值在0-9之间),采用srand(time(NULL))获得随机数种子,然后用rand()求随机数2、从键盘中输入猜测的数字,对输入数字进行判断,可做为字符串输入3、如果输入数字的长度不符等于4(用strlen()函数),或有其它非数字字符,或数字有重复,则要求重新输入。

相关文档
最新文档