c上机作业2
C语言程序设计上机指导书及答案
姓名:_________________ 学号:_________________ 专业:_________________日期:_________________指导原则:促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。
更快更好地掌握所学知识,技能和软件的一向开发方法目的:1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。
2,通过上机实验,熟悉某个C语言集成开发环境。
掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程3,通过上机实验,要学会调试程序。
能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。
要求:1,复习与本次实验相关的教学内容2,了解集成开发环境的操作步骤3,准备好实验内容。
对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。
4,要准备好调试和运行程序时所需的数据。
5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。
并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。
6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。
第一次上机作业熟悉C语言集成开发环境实验目的:1,熟悉C语言集成开发环境2,掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。
3,掌握C语言程序的基本结构实验要求:1, 程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。
2,编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。
实验内容:1,在D盘新建文件夹:D:\C语言程序\×××(所在班级如0709401)\×××(自己学号或姓名如01),作为以后所做程序的存放位置。
二级C上机编程答案※※A※B……题型
注意:部分源程序在文件PROG1.C中。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
【参考答案】
void fun(char *a,char *h,char *p)
{
int i=0;
char *q=a;
while (q<h) /*判断前导*号的结束*/
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
【参考答案】
void fun (char *a)
{
char *p=a;
while(*p==′*′)
p++; /*指针p指向字符串第一个字母*/
for(;*p!=′\0′;p++,a++)
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*G。
【参考答案】
void fun (char *a,int n ,int h , int e)
{
int i,j=0;
for(i=h;i<n-e;i++) /*第一个字母和最后一个字母之间的字符全不删除*/
strcpy(a,p);
C上机作业(第2次)参考答案
第2次上机作业参考答案2-1.c#include <stdio.h>#include <conio.h>void main(){float x,y;printf("Input x:");scanf("%f",&x);y=x*x+2*x-10;printf("\ny=%f",y);getch();}2-2.c#include<stdio.h>#include<conio.h>void main(){int a,b,p,m,t,d;printf("Input two numbers:");scanf("%d %d",&a,&b);p=a+b;m=a-b;t=a*b;printf("%d+%d=%d\n%d-%d=%d\n%d*%d=%d\n",a,b,p,a,b,m,a,b,t);if(b!=0){ d=a/b;printf("%d/%d=%d\n",a,b,d);}elseprintf("%d/%d=error!",a,b);getch();}2-3.c#include <stdio.h>#include <conio.h>void main(){int ab012345678901234567890123456789_1;int ab012345678901234567890123456789_2;}编译时报错:Multiple declaration for 'ab012345678901234567890123456789'2-4.c#include<stdio.h>#include<conio.h>void main(){printf("int size:%d\nfloat size:%d\nlong size:%d\ndoulbe size:%d\nchar size:%d\n",sizeof(int),sizeof(float),sizeof(long),sizeof(double),sizeof(char));getch();}2-5.c#include<stdio.h>#include<conio.h>void main(){int a=-123,b=123;printf("a and b in memory:%x,%x\n",a,b);getch();}2-6.c#include<stdio.h>#include<conio.h>void main(){double a=11.1111111,b=66.6666666;float s1;double s2;s1=a+b;s2=a+b;printf("\n%.10f\n%.20f",s1,s2);getch();}2-7.c#include<stdio.h>#include<conio.h>void main(){int a,b,c,v;printf("Input a,b,c:");scanf("%d %d %d",&a,&b,&c);v=a*b*c;printf("V=%d",v);getch();}2-8.c#include <stdio.h>#include <conio.h>void main(){int n;printf("Input n:");scanf("%d",&n);if( n%5==0&&n%3==0)printf("\nyes");elseprintf("\nno");getch();}2-9.c#include<stdio.h>#include<conio.h>void main(){int a,b,c,d;printf("Input a,b,c:");scanf("%d %d %d",&a,&b,&c); if(a>b){d=a;a=b;b=d;}if(b>c){d=b;b=c;c=d;}if(a>b){d=a;a=b;b=d;}printf("\n%d, %d, %d",a,b,c); getch();}算法2#include<stdio.h>#include<conio.h>void main(){int a,b,c,d;printf("Input a,b,c:");scanf("%d %d %d",&a,&b,&c); if(a>b){ a=a+b; b=a-b; a=a-b; } if(a>c){ a=a+c; c=a-c; a=a-c; }if(b>c){ b=b+c; c=b-c; b=b-c; } printf("\n%d, %d, %d",a,b,c);getch();}。
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上机练习二级C上机练习数据输入/输出练习1.编写一个C程序,输出以下信息:******************************Very Good!******************************2.写一个程序,输入a,b,c三个值,输出其中最大者。
3.将“China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母,例如,字母"A"后面第4个字母是"E",用"E"代替"A".因此,"China"应译为"Glmre".请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成'G','1','m','r','e',并输出.顺序程序设计1. 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=*****,n=*****,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。
要求输出的结果如下:a=□3□□b=□4□□c=□5x= 1.20XX年00,y= 2.*****,z= -3.*****x+y=□3.60□□y+z=-1.20□□z+x=-2.40u= □*****□□n=□□□*****c1=’a’□or□97(ASCII)c2=’b’□or□98(ASCII)2.下面的scanf函数输入数据,使a=10,b=20,c1=’A’,c2=’a’,x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据?scanf(“%5d%5d%c%c%f%f%*f,%f”,a,b,c1,c2,x,y,3.输入一个华氏温度,要求输出摄氏温度,公式为C=(5/9)(F-32)输出要有文字说明,取2位小数。
二级c语言上机考试题库答案
二级c语言上机考试题库答案1. 题目:编写一个C语言程序,计算并输出两个整数的和。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现字符串的反转。
```c#include <stdio.h>#include <string.h>void reverse(char str[]) {int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);printf("反转后的字符串为:");reverse(str);printf("\n");return 0;}```3. 题目:编写一个C语言程序,计算并输出一个3x3矩阵的转置矩阵。
```c#include <stdio.h>#define ROWS 3#define COLS 3void transposeMatrix(int matrix[ROWS][COLS], inttransposed[COLS][ROWS]) {for (int i = 0; i < ROWS; i++) {for (int j = 0; j < COLS; j++) {transposed[j][i] = matrix[i][j];}}}void printMatrix(int matrix[ROWS][COLS]) {for (int i = 0; i < ROWS; i++) {for (int j = 0; j < COLS; j++) {printf("%d ", matrix[i][j]);}printf("\n");}}int main() {int matrix[ROWS][COLS] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};int transposed[COLS][ROWS];transposeMatrix(matrix, transposed);printf("原始矩阵:\n");printMatrix(matrix);printf("转置矩阵:\n");printMatrix(transposed);return 0;}```4. 题目:编写一个C语言程序,实现冒泡排序算法。
二级c语言上机实例
说明:主要找你的填空题第一道题的题干,然后后面的答案都是相对应一套一套的,如:假如你的填空题第8道题的题干和这里的第8套是一样的,那你所有题(改错、程序设计)的答案都是相对应的第8题,其他类推。
程序设计题加粗字为需输入的答案。
一、程序填空题1. t = __1__; t *= 1.0)*x/_2__;while (_3_ >= -6);2. switch(__1__)case 1: c1++; __2_;case 2: c2++;___3___;3. if(t%2==__1__)x=__2__+t; n=__3__;4. rmax=a[i][j]; c=__1__ ; find= __2__ ;/**********foun d**********/__3__ ;5. void fun(char(*ss) __1__, int k)while(i< __2__)ss[i][k]=__3__;6. void fun(int(*t)___1___ )___2___=t[i][j]+t[j][i];___3___ =0;7. int __1__ i < __2__ a[0][i] = __3__8. while(t<=__1__)s2=(__2__)%10;if(s1+s2+s3==__3__)9./**********found**********/___1___;sum+=___2___ sum+=t[i][n-i-___3___]10. __1__fun(char ch)if (ch>='0' &&___2___)return '9'- (ch-___3___)11. i=__1__;__2__;x=(2.0*i-1)/((__3__)*(2.0*i));12. while (!feof(__1__)) if (n.sno__2__sno)fseek(__3__,-(long)sizeof(STU) 13. for(i=0; i< __1__ ; i++)if( strstr(ss[i], __2__) != NULL )if(find==__3__)printf("\nDon'tfound!\n");14. for(p=1; p<= __1__; p++)for(j=0; j< __2__ ; j++)a[i][N-1]= __3__;15. t = (a>b) ? (b>c?b :(a>c?c:___1___)) :((a>c)?___2___ :((b>c)?c:___3___));16. if((ch>='a')___1___(ch<='z'))return ch+'a'-___2___return ___3___17. sum+= *s- __1___2__; return__3__18.f = __1__; t *=(__2__)*x/i f+= __3__;19. if(n>=len)strcpy(__1__);t[j++]= __2__ ;t[j]= __3__ ;20. __1__ fun(struct student *a) __2__+= 1;return __3__ ;21. max = min = ___1___; if (max<___2___) if (min>___3___)22. void fun(int___1___ , int n)for(___2___; i++)t[i][n-1-i]=___3___;23. void fun(int___1___, int n) for (i=0; i<n-1; i+=___2___)for (j=___3___; j<n; j++)24. f = 1.0+___1___; t *= x/___2___;f += ___3___;25. t = ___1___; for (i=___2___; i<n; i++) t *= x/___3___;26. b__1__ = 10004;strcpy(b__2__,"LiJie");fun(__3__);27. k=__1__; t=__2__;k=k*__3__;28. s=__1__; for(i=1;i<=__2__; i++)s=s+(2.0*i-1)*(2.0*i+1)/__3__; 29. ch=tolower(__1__);k[n]+= __2__ ;if(max<k[n]) max= __3__ ;30. __1__ t; for (i=0;i<__2__; i++)if(strcmp(__3__) >0)31. if (___1___== 0)__2__ = a[i]; return ___3___;32. t=*n % __1__;if(t%2!= __2__)*n=__3__;33. for(i=0; i< __1__ ; i++)if(len<= __2__) strcpy(ss[j++],__3__ );34. __1__ ; flag=1;if (*s==' ') flag=__2__ ; __3__ ; 35. t[j]=__1__; j++;for(i=0; i<__2__;i++) t[j+k]=__3__;36. for(i=0; i< __1__ ;i++) return__2__ ; if(n==__3__)37. lp= __1__ ; lp++;rp _2__ ;if(lp<rp)__3__ ;38. x=__1__/4;while(x __2__ e)x=__3__/(t*t); 39. for (i=0;i<___1___; i++) a[i] =a[n-1-___2___];___3___ = t;40. b = __1__;strcpy(__2__,"LiSi");printf("%6.2f ",b.__3__);41. for (___1___; j<i;j++)if (___2___%j == 0)if (___3___>=i)42. i=__1__;while(__2__)x=x+t*i; i=__3__;43. __1__ fun(structstudent a)strcpy(__2__,"LiSi");for (i=0; i<3; i++)__3__+= 1;44. p =(n%2==0)?n/2:n/2+___1___;a[i] = a[p+___2___];___3___ = t;45. if (a[i]%2==__1__)a[j] = a[i]; __2__;return ___3___;46. n=__1__;while(t<=__2__)__3__;47. *(t+n)= __1__ ;n++; __2__ ;return __3__ ;48. ((___1___%t==0)&& (i/t<n))for(t=1; t<maxt*(n-1); ___2___)return ___3___;49.k= __1__ ;if(strlen(ps[k])< strlen(__2__) ) k=j;ps[k]= __3__ ;50. for (j=a[i]*2;j<=n; j+=___1___)while(___2___==0)if(a[i]!=___3___)第01套填空题:【1】x【2】n 【3】fabs(t)改错题:【1】for(i=1;i<=y;i++)【2】t=t%1000;第02套填空题:【1】n%10【2】break 【3】break改错题:【1】if(t==0) 【2】*zero=count;第03套填空题:【1】0 【2】10*x 【3】n/10改错题:【1】*t=0;【2】if(d%2!=0) 第04套填空题:【 1】j 【2】0 [3]i++改错题:【1】for(i=2;i<=m;i++)【2】y-=1.0/(i*i);第05套填空题:【1】[M] 【2】N 【3】0改错题:【1】t=1; 【2】return(2*s);第06套填空题:【1】 [N] 【2】t[i][j] 【3】t[j][i]改错题:【1】#define FU(m,n) ((m)/(n))【2】return (value);第07套填空题:【1】k 【2】N 【3】a[k][i]改错题:【1】for(i = strlen( t )-1;i;i--)【2】if(t[j] > t[j + 1 ] )第08套填空题:【1】999 【2】t/10 【3】x改错题:【1】void fun(long s,long *t)【2】while(s>0) 第09套填空题:【1】sum=0【2】t[i][i] 【3】1改错题:【1】double r;【2】while(fabs(m-n)>0.00 1)第10套填空题:【1】char 【2】ch<='9' 【3】'0' 改错题:【1】b[k]=*p;【2】b[k]=' ';k++;第11套填空题:【1】0 【2】i++ 【3】2.0*i 改错题:【1】void fun (char *s, char *t)【2】t[2*d] = 0;第12套填空题:【1】(fp) 【2】== 【3】fp改错题:【1】n=strlen( aa ) ;【2】ch=aa[i];第13套填空题:【1】N 【2】substr【3】0改错题:【 1】fun(int x,int y, intz)【2】return j;第14套填空题:【 1】k【2】N-1【3】temp改错题:【1】void fun(int a[][M],int m)【2】a[j][k]=(k+1)*(j+1);第15套填空题:【1】a【2】a【3】b改错题:【1】c=tolower(c);【2】c=c+5;第16套填空题:【1】&&【2】'A'【3】ch改错题:【1】void fun(int *a)【2】a[j]=a[j-1];第17套填空题:【 1】48【2】s++【3】sum改错题:【1】if((k%13 == 0) || (k%17== 0))【2】}第18套填空题:【 1】1【2】-1【3】t改错题:【1】for(i=1;i<=3;i++)【2】if(k>=0&&k<=6)第19套填空题:【1】t,s【2】s[i]【3】0改错题:【 1】if(i%k==0)【2】if(k>=i)第20套填空题:【1】struct student *【2】a->score[i]【3】a改错题:【1】char*fun( char(*sq)[M] )【2】returnsp;第21套填空题:【1】a[i]【2】a[j] 【3】a[j]改错题:【 1】switch(g)【2】case 1:return 1; case2:return 1;第22套填空题:【1】t[][N] 【2】i=0;i<n【3】s改错题:【1】fun(int a[],int m)【2】elseif(m>a[mid])第23套填空题:【1】*a【2】2【3】i+1改错题:【1】sum=0;【2】if((i+1)%5==0)第24套填空题:【1】x【2】n【3】t改错题:【1】d=1;s=0;【2】d=d/10;第25套填空题:【1】1【2】1【3】i改错题:【1】k=i;【2】c=k;第26套填空题:【1】->sno【2】->name 【3】&t改错题:【1】doublefun(double a,doublex0)【2】if(fabs(x1-x0)>0.00001)第27套填空题:【1】1【2】2*i【3】(-1)改错题:【1】k++;【2】if(m==k)第28套填空题:【1】0【2】n【3】(t*t)改错题:【 1】for(i=0;str[i];i++)【2】if(substr[k+1]==0)第29套填空题:【 1】*s【2】1【3】k[n]改错题:【1】floatfun(int k)【2】return s;第30套填空题:【1】struct student【2】n-1【3】a[i].name,a[j].name改错题:【1】q=p+i;【2】while(q>p)第31套填空题:【1】a[i]%2【2】a[j]【3】j改错题:【1】fun(int n)【2】if(n==1)第32套填空题:【 1】10【2】0【3】x改错题:【1】if(n==0)【2】result *=n-- ;第33套填空题:【1】N【2】k【3】ss[i]改错题:【1】int k=0;【2】while( *p || *q ) 第34套填空题:【1】n++【2】0【3】s++改错题:【1】t+=s[k];【2】*aver=ave;第35套填空题:【1】s[i]【2】k【3】0改错题:【1】while(*w)【2】if(*r==*p)第36套填空题:【1】N 【2】i【3】-1改错题:【1】a2=k/10;【2】return i; 第37套填空题:【1】s 【2】--【3】return 0 改错题:【 1】double fun (int n)【2】c=a;a+=b;b=c;第38套填空题:【 1】3.【2】>【3】(2*i+1)改错题:【 1】double fun(int n)【2】s=s+(double)a/b;第39套填空题:【1】n/2【2】i【3】a[n-i-1]改错题:【1】n=*p-'0';【2】n=n*8+*p-'0';第40套填空题:【1】a 【2】【3】score[i]改错题:【1】s[j++]=s[i];【2】s[j]=0;第41套填空题:【1】j=2【2】i【3】j改错题:【1】sum=0;j=0;【2】if(sum%4==2)第42套填空题:【1】1【2】s【3】i*10改错题:【1】int fun(int n,intxx[][M])【2】printf("%d",xx[i][j] );第43套填空题:【1】struct student【2】【3】a.score[i]改错题:【1】if(p==n) return -1;【2】a[i]=a[i+1];第44套填空题:【1】1【2】i【3】a[p+i]改错题:【 1】floatk;【2】if(*c>*a)第45套填空题:【1】1【2】j++【3】j改错题:【1】t=a;a=b;b=t;【2】return(b);第46套填空题:【1】0【2】x【3】t++改错题:【 1】inti,sl;【2】t[i]=s[sl-i-1];第47套填空题:【1】*s【2】s++【3】n改错题:【1】int j,c=0; double xa=0.;【2】if(x[j]>=xa)第48套填空题:【1】i【2】t++【3】count改错题:【1】intfun(int a,intb,int c)【2】elsereturn 1;第49套填空题:【1】i【2】ps[j]【3】tp改错题:【1】double fun(int n)【2】returnsum;第50套填空题:【1】a[i]【2】a[i]【3】0改错题:【1】y=1;【2】d=a-i;编程题参考1、double fun(double x){int i=0;double s=1,a=1;while(fabs(a)>0.000001){a=a*(0.5-i)*x/(i+1);s+=a;i++;}return s;}2、double fun(int n){int i;double s=0,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}3、void fun(char p1[],char p2[]){while(*p1) p1++;while(*p2){*p1=*p2;p1++;p2++;}*p1=0;}4、int fun(int score[], int m, int below[]) {int i=0,s=0,n=0; for(i=0;i<m;i++) s+=score[i];s/=m;for(i=0;i<m;i++) {if(score[i]<s) {below[n]=score[i]; n++;}} return n;}5、void fun( char *a,int n ){/* 以下代码仅供参考 */int i=0,j,k=0;while(a[k]=='*')k++; /* k为统计*字符个数 */if(k>n){i=n;j=k;/* 以下完成将下标为k至串尾的字符前移k-n个位置 */while(a[j]){a[i]=a[j];i++;j++;}a[i]=0;}}6、void fun( char *a ){i nt i=0,j=0;while(a[i]=='*')i++;while(a[i]){a[j]=a[i];i++;j++;}a[j]=0;}7、void fun( char *ss ){int i=1;while(ss[i-1]&&ss[i]){if(ss[i]>='a'&&ss[i] <='z')ss[i]+='A'-'a';i+=2;}}8、void fun( STRECa[] ){STREC tmp;int i,j;for(i = 0; i < N; i++)for(j = i+1; j < N; j++){ /* 请按题目要求完成以下代码 */if(a[i].s<a[j].s){tmp=a[i];a[i]=a[j];a [j]=tmp; }}}9、void fun( char *a,char *h,char *p ){a=h;while(h!=p){if(*h!='*'){*a=*h;a++;}h++;}while(*p){*a=*p;a++;p++;}*a=0;}10、double fun( STREC*h ){int i=0;double s=0;while(h->next){h=h->next;s+=h->s;i++;}s/=i;return s;}11、void fun(char *s, chart[]){int i=0,j=0;while(s[i]){if(i%2==1&&s[i]%2==1){t[j]=s[i];j++;}i++;}t[j]=0;}12、double fun( STREC *h ){double s=0;while(h->next){h=h->next;if(s<h->s)s=h->s;}return s;}13、void fun( char *a, int n,int h,int e ) {int i;for(i=0;i<n-h-e;i++)a[i]=a[i+h];a[i]=0;}14、void fun(int a, intb, long *c){*c=a/10*10+a%10*1000+b/10+b%10*100;}15、double fun(int n){int i;double s=0,a=0;for(i=1;i<=n;i++){a+=sqrt(i);s+=a;}return s;}16、int fun(int n){int i,s=0;for(i=2;i<n;i++){if(n%i==0) s+=i;}return s;}17、double fun( int n){int i,s=0;for(i=21;i<n;i++){if(i%3==0&&i%7==0)s+=i;}return sqrt(s);}18、double fun(int n) {int i;double s=1,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}19、void fun ( int x, int pp[], int *n ){int i;for(i=1,*n=0;i<=x;i+=2){if(x%i==0){pp[*n]=i;(*n)++; }}}20、void fun(int a, int b,long *c){*c=a/10*100+a%10+b/10*10+b%10*1000;}21、void fun(STREC *a){int i;double s=0;for(i=0;i<N;i++)s+=a->s[i];a->ave=s/N;}22、void fun( char *a,char *p ){char *b=a;while(b<p){if(*b!='*'){*a=*b;a++;}b++;}while(*p){*a=*p;a++;p++;}*a=0;}23、double fun( STREC*a, STREC *b, int *n ){int i;double s=0;for(i=0;i<N;i++)s+=a[i].s;s/=N;for(i=0,*n=0;i<N;i++ ){if(a[i].s<s){b[*n]=a[i]; (*n)++;}}return s;}24、double fun(double x[9]){int i;double s=0;for(i=0;i<8;i++) s+=sqrt((x[i]+x[i+1] )/2);return s;}25、double fun(doublex[10]){int i;double s=0,x1=0;for(i=0;i<10;i++)x1+=x[i];x1/=10;for(i=0;i<10;i++)s+=(x[i]-x1)*(x[i]-x1);s=sqrt(s/10);return s;}26、double fun( STREC*a, STREC *b, int *n ){int i;double s=0;for(i=0;i<N;i++)s+=a[i].s;s/=N;for(i=0,*n=0;i<N;i++){if(a[i].s>=s){b[*n]=a[i];(*n)++;}}return s;}27、void fun(int a[],int n , int *max,int *d ){int i;for(i=1,*max=a[0],*d=0;i<n;i++){if(*max<a[i]){*max=a[i];*d=i;}}}28、double fun ( double eps){int i=1;double s=1,a=1;while(a>eps){a=a*i/(2*i+1);s+=a;i++;}return s*2;}29、double fun( intn ){int i;double s=0;for(i=1;i<=n;i++) { s+=1.0/(i*(i+1));}return s;}30、int fun( STREC*a,STREC *b,int l, inth ){int i,j;for(i=0,j=0;i<N;i++){if(a[i].s>=l&&a[i].s<=h){b[j]=a[i];j++;}}return j;}31、void fun( char*a,int n ){int i=0,j=0;while(a[i]){if(a[i]=='*')j++;else j=0;i++;}if(j>n){a[i-j+n]='\0';}}32、long fun ( char *p){/* 以下代码仅供参考 */int i,len; /* len为串长 */long x=0;len=strlen(p);/* 以下完成数字字符串转换为一个数字。
《C语言程序设计》第2次上机作业
实验4选择结构程序设计1.实验目的(1)了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if 语句的使用(包括if 语句的嵌套)。
(4)熟练掌握多分支选择语句——switch 语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
2.实验内容本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
(1)有一函数:)10()101()1(11312≥<≤<⎪⎩⎪⎨⎧--=x x x x x x y 写程序,输入x 的值,输出y 相应的值。
用scanf 函数输入x 的值,求y 值(第4章第6题)。
运行程序,输入x 的值(分别为x<1、1≤x<10、x≥10这3种情况),检查输出的y 值是否正确。
(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。
要求在输入后先对其进行检查是否小于1000的正数。
若不是,则要求重新输入(第4章第5题)。
(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E 。
90分以上为A ,81~89分为B ,70~79分为C ,60~69分为D ,60分以下为E (第4章第8题)。
①事先编好程序,要求分别用if 语句和switch 语句来实现。
运行程序,并检查结果是否正确。
②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错”,程序结束。
(4)输入4个整数,要求按由小到大顺序输出(第4章第11题)。
在得到正确结果后,修改程序使之按由大到小顺序输出。
C--上机作业答案讲解
第一章作业答案.1。
编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F—32)程序代码:#include〈iostream>using namespace std;void main(){float F,C;cout〈<”Please input F:”;cin〉>F;C=5*(F-32)/9。
0;cout<<”C="<〈C<〈endl;}运行结果:2。
编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积.程序代码:#include〈iostream〉using namespace std;#define PI 3。
14159void main(){float r,h,v;cout<<”Please input r h:”;cin〉>r>〉h;v=PI*r*r*h;cout〈<”v="〈<v〈<endl;}运行结果:3.输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area。
若则area=程序代码:#include〈iostream〉#include〈math。
h〉using namespace std;void main(){float a,b,c,p,area;cout〈〈"Please input a b c:";cin>〉a〉>b>>c;if((a+b〉c)&&(b+c>a)&&(a+c〉b)){p=(a+b+c)/2.0;area=sqrt(p*(p—a)*(p—b)*(p-c));cout<<"area=”〈<area<〈endl;}else cout〈<"input error!"〈<endl;运行结果:4。
输入a,b,c的值,求一元二次方程:的解。
二级c上机答案
二级c上机数据输入/输出练习1.编写一个C程序,输出以下信息:******************************Very Good!******************************解:main ( ){printf(“****************************** \n”);printf(“\n”);printf(“ Very Good! \n”);printf(“\n”);printf(“****************************** \n”);}2.写一个程序,输入a,b,c三个值,输出其中最大者。
解:main ( ){int a,b,c,max;printf(“请输入三个数a,b,c: \n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf(“最大数为:%d ”,max);}3.将"China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母, 例如,字母"A"后面第4个字母是"E",用"E"代替"A".因此,"China"应译为"Glmre". 请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成'G','1','m','r','e',并输出. main(){char c1="C",c2="h",c3="i",c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);}顺序程序设计4.4 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51247,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。
经典新版计算机二级C语言上机试题
#include <stdio.h> #include <string.h> void fun(char *p,char *q,char *c) { int k=0; while(*p||*q) /**********************found***********************/ { if (*p<=*q) c[k]=*q; else c[k]=*p; if(*p) p++; if(*q) q++ ; /**********************found***********************/ k++ } } void main() { char a[10]="fshADfg",b[10]="sdAEdi",c[80]={'\0'}; fun(a,b,c); printf("The string a:"); puts(a); printf("The string b:"); puts(b); printf("The result :"); puts(c); }
例题2 填空题
试题程序
下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
例题6 填空题
1
下列给定程序中,函数fun()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
【C语言程序设计】上机作业2+答案
else if (i <= 10) { sum = 100; for ( j=1; j < i; j++) sum -= j; } else sum = i*i;
if (invalid) printf("i<0, Invalid Input!\n"); else printf("sum = %d\n", sum);
printf("\n"); } }
第二次上机作业(续)
2. 编写一个C程序,能读入并计算一个只 含有加减运算的表达式,每一个输入的 数据都是整数,除第一个数外,其余每 个数前面都有一个运算符。
例如, 23+43-233+234; 表达式以分号“;”结束
解一: #include <stdio.h> void main() { int result, data, operator, invalid; /* result --- the result of computation. data --- the second number in computation. operator --- '+' --> +1 ‘-’ --> -1 invalid --- 0 --> valid input. 1 --> invalid input. */
while (fabs(tmp) >= Thresh) { ex = ex + tmp; tmp = tmp*x/(++i); } printf("Our iterative result is: exp(%.2f) = %f\n", x, ex); printf("The reference result is: exp(%.2f) = %f\n", x, exp(x)); }
二级C语言上机题库复习资料及参考答案
二级C语言上机题库复习资料及参考答案第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处tructtudentt;第二处for(i=0;i第三处if(trcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/某某found某某/q=p+i;/某某found某某/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
intfun(STREC某a,STREC某b,intl,inth){inti,j=0;for(i=0;iif((a[i].>=1&&a[i].<=h)b[j++]=a[i];returnj;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->ne某t;第三处q=q->ne某t;2.程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/某某found某某/p=j;/某某found某某/p=i;3.程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
voidfun(intm,int某a,int某n){inti;某n=0;for(i=7;i<=m;i++)if((i%7==0)||(i==0))a[(某n)++]=i;}第三套1.程序填空函数fun的功能是:逆置数组元素是的值。
C语言上机实验 答案
实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:(实验指导书P79)*************************Very Good*************************2、计算两个整数的和与积。
(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
(书P3)4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>void main( ){ printf(“********************\n”);printf(“ Very Good\n”);printf(“********************\n”);}2、#include <stdio.h>void main( ){ int a,b,c,d;printf(“Please enter a,b:”);scanf(“%d,%d”,&a,&b);c=a+b; d=a*b;printf(“%d+%d=%d\n”,a,b,c);printf(“%d*%d=%d\n”,a,b,d);}3、#include <stdio.h>#include <math.h>void main( ){ double x,s;printf(“Please input value of x:”);scanf(“%lf”,&x);s=cos(x);printf(“cos(%lf)=%lf\n”,x,s);}4、#include <stdio.h>void main( ){ printf(“==================================\n”); printf(“ 1 输入数据 2 修改数据\n”);printf(“ 3 查询数据 4 打印数据\n”);printf(“===================================\n”);}5、#include <stdio.h>void main( ){ int x,y,t;printf(“Please enter x and y:”);scanf(“%d%d”,&x,&y);t=x; x=y; y=t;printf(“After swap:x=%d,y=%d\n”,x,y);}实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
二级C上机题
⼆级C上机题简单计算5、计算n门课程的平均分,计算结果作为函数值返回。
float fun(float *a,int n) { int i;float sum=0;for(i=0;isum+=a[i];return sum/n;}13、函数求出w的后n-1位的数作为函数值返回。
unsigned fun ( unsigned w ) {unsigned h=w,k=1;while(h/10){ k*=10;h=h/10; }w=w%k;return w;}21、计算并输出n(包括n)以内能被5或9整除的所有⾃然数的倒数之和。
double fun(int n){ int i;double sum=0;for(i=1;i<=n;i++)if(i%5==0||i%9==0)sum+=1.0/i;return sum;}47、利⽤以下所⽰的简单迭代⽅法求⽅程:cos(x)-x=0的⼀个实根。
Xn+1=cos(Xn)迭代步骤如下:(1)取x1初值为0.0;(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出⼀个新的x1;(4)若x0-x1的绝对值⼩于0.000001,执⾏步骤(5),否则执⾏步骤(2);(5)所求x1就是⽅程cos(x)-x=0的⼀个实根,作为函数值返回。
float fun(){ double x1,x0; x1=0;x0=x1; x1=cos(x0); while(fabs(x0-x1)>=0.000001) { x0=x1; x1=cos(x0);}return (float)x0;} 49、求n以内(不包括n)同时能被3与7整除的所有⾃然数之和的平⽅根s,并作为函数值返回。
double fun(int n){ int i;double sum=0;for(i=1;iif(i%3==0&&i%7==0)sum+=i;return sqrt(sum);}51、求Fibonacci数列中⼤于s的最⼩的⼀个数,结果由函数返回int fun(int s){int f1=0,f2=1,f;while (f<=s){ f=f1+f2;f1=f2;f2=f; }return f;}56、使实型数保留2位⼩数,并对第三位进⾏四舍五⼊(规定实型数为正数)。
二级C语言上机考试题库及答案
二级C语言上机考试题库及答案1. 题目:编写一个C语言程序,实现输入一个整数,判断其是否为素数,并输出结果。
程序代码如下:```c#include <stdio.h>#include <math.h>int isPrime(int num) {if (num <= 1) return 0;for (int i = 2; i <= sqrt(num); i++) {if (num % 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;}答案:该程序首先定义了一个判断素数的函数`isPrime`,它通过遍历2到`sqrt(num)`之间的所有整数,检查是否有能整除`num`的数。
如果找到,则`num`不是素数。
在`main`函数中,程序提示用户输入一个整数,然后调用`isPrime`函数判断该数是否为素数,并输出相应的结果。
2. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、删除学生信息和显示所有学生信息。
程序代码如下:```c#include <stdio.h>#include <stdlib.h>typedef struct {char name[50];int score;} Student;Student students[100];int count = 0;void addStudent(const char* name, int score) {if (count < 100) {strcpy(students[count].name, name);students[count].score = score;count++;} else {printf("学生信息已满。
第一部分C++语言上机练习(第二版)
第⼀部分C++语⾔上机练习(第⼆版)第⼀章 C++语⾔⼊门【上机练习】1. 输⼊三个数,计算并输出它们的平均值以及三个数的乘积,写出程序。
2. 输⼊圆的半径r,求圆的⾯积和周长(pi为3.1415926)。
3. 加法计算器:编程由键盘输⼊两个整数a和b,将它们的和输出到屏幕上。
4. 某梯形的上底、下底和⾼分别为8,12,9,求该梯形的⾯积。
)( 梯形⾯积公式为 s=5. 已知图圆柱体的⾼为12,底⾯圆的半径为7,求圆柱体表⾯积。
第⼆章顺序结构程序设计第⼆节运算符和表达式【上机练习】1.已知某梯形的上底a=13,下底b=18,⾼h=9,求它的⾯积s。
2.已知某圆的半径r=139,求该圆的周长c与⾯积s。
3.输⼊长⽅形的边长a,b,计算它的⾯积和周长,输出。
4.读⼊摄⽒温度c,写程序将它转换成华⽒温度f输出。
已知f=9c/5+325.输⼊⼀个三位⾃然数,把这个数的百位与个位数对调,输出对调后的⾃然数。
第六节顺序结构实例【上机练习】1.有三个⼩朋友甲⼄丙。
甲有50粒糖果,⼄有43粒糖果,丙有13粒糖果。
现在他们做⼀个游戏。
从甲开始,将⾃⼰的糖分三份,⾃⼰留⼀份,其余两份分别给⼄与丙,多余的糖果⾃⼰吃掉,然后⼄与丙也依次这样做。
问最后甲、⼄、丙三⼈各有多少粒糖果?2.输⼊两个正整数a和b,编程交换这两个变量的值。
3.编写程序把⼀个三位整数反转,例如358反转成853。
4.某车棚存有⾃⾏车和三轮车共65辆,它们的轮⼦数合计为150个,求该棚内存有的⾃⾏车和三轮车各是多少辆?5.五位好朋友相聚。
第⼀位朋友带来了很多糖块赠送给各位朋友,使每⼈的糖块在各⾃原有的基础上翻了⼀倍;接着第⼆位好友也同样向每⼈赠送糖块,他同样使每⼈的糖块在各⼈已有的数量上翻了⼀倍;第三、第四、第五位好友都照此办理。
经过这样的赠送之后,每⼈的糖块恰好都为32块。
问各位好友原先的糖块数分别是多少?第三章程序的控制结构第⼆节 if选择结构【上机练习】1、判断两个数a,b,输出较⼤数的平⽅值。
c语言第2次上机作业[1]
本次上机作业分为两部分1指针基本概念2 数组提高体题目较多,指针基本概念题和数组提高题中的阅读程序题的前5小题(做到红色标号位置即可)必须当堂提交,剩余的题目3月17日前提交即可—如全部当堂提交可获得高分题目就在原题做即可----请独立完成,严禁抄袭---否则0分1指针基本概念题:1.设有定义“int a=3,b,*p=&a;”,则下列语句中不能使b为3的语句是_D________。
A. b=*&a;B. b=*p;C. b=a;D. b=*a;2.若有说明:int i,j=7,*p=&i; 则与i=j;等价的语句是___B______。
A. i=*p;B. *p=*&j;C. i=&j;D. i=**p;3.int j,*p=&j; 要实现j的内容加10,错误的是____D_____。
A. *p=*&j+10;B. j=*p+10;C. *p=*p+10;D. *p=&j+10;4.设指针x指向的整型变量值为25,则printf("%d\n", ++*x);的输出是_D_______。
A. 23B. 24C. 25D. 265.设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是__B_______。
A. k=*P1+*P2;B. P2=k;C. P1=P2;D. k=*P1 *(*P2);6.对基类型相同的指针变量不能进行的运算是____A_____。
A. +B. -C. =D. ==7.若有以下定义,则不能表示a数组元素的表达式是_B________。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;A. *pB. a[10]C. *aD. a[p-a]2、指针基本概念填空题1.设有char *a="ABCD"; 则printf("%s",a);的输出是_ABCD__________________,而printf("%c",*a);的输出是A___________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序程序设计
一、必须上交的作业
1.输入三角形的三边长,求三角形的面积。
利用海伦公式:
area= sqrt(p(p-a)(p-b)(p-c)),其中P是半周长。
在程序中不考虑能否构成三角形,在输入三边长的时候,一定要输入可以构成三角形的正确数据,文件名c2_1.c。
2.求ax2+bx+c=0方程的根,设b2-4ac>0,文件名c2_2.c
3. 已知华氏温度转换为摄氏温度的公式如下:c=5/9(F-32) 其中C为摄氏温度,F为华氏温度,编写程序将任意的华氏温度转换为摄氏温度输出,文件名c2_3.c。
二、自己练习的作业
1. 从键盘输入一个大写字母,在显示屏上显示对应的小写字母。
(提示:大写字母的ASC码值加32得到对应的小写字母ASC码值)
2、编写程序用scanf函数输入圆的半径值,求圆周长、圆面积。
输出计算结果,输出时要求有文字说明,取小数点后2位数字。
三、上交作业的地方
位置:FTP://192.168.9.211/班级编号/序号
班级编号:3班为c3;6班为c6
特别强调:
(1)每次作业放在一个文件夹中,文件夹以自己的学号+
姓名+作业次数命名,如2006121801张三01。
作业完成后,将该文件夹形成同名的压缩文件上传到以上的作业位置中。
(2)文件夹中要包含当次作业每道题的C文件或C++文件,文件的命名按照题目的要求来命名。