当前位置:文档之家› C语言上机试题及答案

C语言上机试题及答案

C语言上机试题及答案
C语言上机试题及答案

实验一Visual C++6.0 的使用及顺序结构程序设计

一、实验目的

1、掌握启动和退出VC6 的方法。

2、熟悉VC6 开发环境。

3、初步掌握简单程序的上机操作基本步骤,熟悉 C 单文件程序的输入、编译、链接和运行过程。

4、初步掌握程序的编辑修改和调试。

5、熟练使用赋值运算、算术运算等表达式。

6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。

二、实验内容

1、下面C 语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。

请同学们按照下面的实验指导学习VisualC++6 .0 的使用。

1.启动VisualC++6 .0 开发环境

(1) 单击“开始”按钮,选择“程序”——〉“Microsoft Visual Studio 6 .0 菜单项, 单击“MicrosoftVisualC++6 .0”,屏幕出现标题为“当时的提示”的窗口。

(2) 单击“结束”按钮,关闭窗口,进入VC6.0 开发环境的主窗口。

2.使用Visual C++6.0 对一个 C 程序进行编辑、编译、连接和运行。

⑴分析

Visual C++6.0 中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、

连接和运行四个步骤。

⑵步骤

①编辑

图 1-2 编辑窗口

②编译

编译是使用系统提供的编译器将文本文件 Exa.c 生成机器语言的过程,结果为

Exa.obj ,由

于没有得到系统分配的绝对地址,还不能直接运行,如图 1-3 所示。选择

Build 菜单下的 Co

mpile Exa.c ,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将

源程序 Exa.c 编译为目标文件

Exa.obj 。 编译结果如图

1-4 所示。如果出现运行错误,应该分

析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重 新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图

1-5 所示。

图 1-1 New 对话框

编辑是将 C 源程序输入计算机的过程。在 Visual C++6.0

主界面下,点击

File 菜单,选择

New 菜单项,即可出现

New 对话框,如图

1-1 所示。在弹出窗口中的

Files 标签页下,选择

C

++ Source File 。在选项卡右面的 File 编辑框里输入文件名如 “ Exa .c ”, 在 Location 编辑框里输

入文件路径,如 “d:test 。”点击 OK 按钮。将出现编辑窗口,如图

1-2 所示。 在图 1-2 所示的

右端编辑窗口里输入以下

C 源程序并保存文件。

include

void main() {

printf("

}

欢迎同学们来到华北水院计算中心! ");

图1-3 编译源程序图1-4 编译结果

图1-5 编译成功

③连接

连接是将目标文件Exa.obj 转换为可执行文件Exa.exe 的过程。如图1-6 所示选择Build 菜单下的Build Exa.exe 。连接无错时,将目标文件Exa.obj 连接为Exa.exe 。

图1-6 源程序

④运行

运行是执行可执行文件Exa.exe ,屏幕输出运行结果。如图1-7 所示选择Build 菜单下的Execute Exa.exe 。

图1-7 运行程序

运行结果如图1-8 所示:

图1-8 运行结果

3.关闭系统工作区空间

单击“文件︱关闭工作区”菜单命令,关闭系统工作区空间。此时读者可以开始输入调试第(2) 个 C 程序文件。

4.退出VC6.0 开发环境

单击主窗口右上角的“关闭”按钮,退出VC6.0 。

2、验证程序,熟悉VC6.0 编程环境及调试程序的步骤。

已知三角形三条边长a,b,c,计算三角形面积公式为:

s=0.5*(a+b+c)

area s(s a)( s b)( s c)

编写程序,要求从键盘输入a,b,c 的值,计算并输出三角形面积。其中源程序代码如下:#include

#include

void main()

{

double a,b,c,s,area;

printf("input a,b,c:");

scanf("%lf,%lf,%lf",&a,&b,&c); // 输入三角形的三条边

s=(a+b+c)/2.0;

area=sqrt(s*(s-a)*(s-b)*(s-c)) // 求三角形的面积

prinf("area=%f\n",area);

}

具体要求:

(1 )在VC6.0 环境中输入上述源程序。

(2 )对源程序进行编译连接,若有错误请调试修改。

(3) 运行程序,并输入三条边长,观察程序运行结果。

图1-9 为程序运行时,当输入三条边长分别为 3 ,4,5 时的运行结果,可作为参考。

图 1 - 9 上述程序的运行结果

三、问题讨论

1、使用printf 函数输出数据时如果想使数据左对齐该如何设置?

2、使用scanf函数时,输入项为何必须是变量地址而不是变量名?

四、实验总结

1 总结本次实验完成情况、相关知识掌握情况

2 总结本次实验编辑、编译、连接、运行所取得的经验

3 分析本次实验出现的主要错误最直接原因

实验二选择结构程序设计

一、实验目的

1 、熟悉VC6.0 编程环境。

2、进一步熟悉用VC6.0 调试 C 语言源程序的过程。

3、熟练使用关系表达式和逻辑表达式作为if 语句的条件判断。

4、熟练掌握if 语句和switch 语句的使用方法。

二、实验内容

1、身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,

影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身

高和自身性别密切相关。

设faHeight 为其父身高,moHeight 为其母身高,身高预测公式为:

男性成人时身高= (faHeight + moHeight) * 0.54(cm)

女性成人时身高= (faHeight * 0.923 + moHeight) / 2(cm)

此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高 1.5% 。

编程从键盘输入你的性别(用字符型变量sex 存储,输入字符 F 表示女性,输入字符M 表示男性)、父母身高(用实型变量存储,faHeight 为其父身高,moHeight 为其母身高)、是否喜爱体育锻炼(用字符型变量sports 存储,输入字符Y 表示喜爱,输入字符N 表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet 存储,输入字符Y 表示喜爱,输入字符N 表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。

程序代码:

:#include

main()

{

char sex; /* 孩子的性别*/

char sports; /* 是否喜欢体育运动*/

char diet; /* 是否有良好的饮食习惯*/

float myHeight; /* 孩子身高*/

float faHeight; /* 父亲身高*/

float moHeight; /* 母亲身高*/

printf(" 你是男孩(M) 还是女孩(F):");

scanf(" %c", &sex); /* 在前加一个空格,将存于缓冲区的回车符读入*/

printf(" 你爸多高(cm):");

scanf("%f", &faHeight);

printf(" 你妈多高(cm):");

scanf("%f",&moHeight);

printf(" 你喜欢运动吗(Y/N)?");

scanf(" %c", &sports); /* 在前加一个空格,将存于缓冲区的回车符读入*/

printf(" 你有一个良好的生活习惯吗(Y/N)?");

scanf(" %c", &diet); /* 在前加一个空格,将存于缓冲区的回车符读入*/

if (sex=='M'||sex=='m')

myHeight = (faHeight + moHeight) * 0.54;

else

myHeight = (faHeight * 0.923 + moHeight)/2.0;

if (sports =='Y'||sports=='y')

myHeight = myHeight * ( 1 + 0.02);

if (diet =='Y'||diet=='y')

myHeight = myHeight * (1 + 0.015);

printf(" 你将来的身高是%f(cm)\n",myHeight);

}

设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

自己弄运行信息结果吧2、使用switch 语句实现下面程序。

输入一个学生的两门课成绩(百分制),计算该学生的总分并要求输出成绩等级‘ A’、‘B’、‘C’、‘D’、‘ E’。总分在180 分以上为‘ A’,160~179 分为‘ B’,140~159 分为‘ C’,120~139 分为‘ D’,120 分以下为‘ E’。

具体要求:

①学生的两门课成绩通过键盘输入,成绩应该都为整数,输入之前要有提示信息。

②若输入的成绩不是百分制成绩,则给出错误提示信息,并且不再进行下面的等级评价;若输入的成

绩是百分制成绩,则计算总分,并根据要求评价等级。

③按下面形式输出结果:

总分---- 〉等级

如:186 --- 〉A

把正确的程序源代码写在下面。

程序代码:

#include

main()

{

int score1,score2 ,sum,mark;

printf(" 请输入你的成绩:");

scanf("%d%d",&score1,&score2);

sum=score1+score2;

mark=sum/10; /* 采取整除方法,将mark 取值压缩到有限的去值范围内*/ switch(mark)

{

case 20:

case 19:

case 18:

printf("%d --- >A\n",sum);

break;

case 17:

case 16:

printf("%d --- >B\n",sum);

break;

case 15:

case 14:

printf("%d --- >C\n",sum);

break;

case 13:

case 12:

printf("%d --- >D\n",sum);

break;

case 11:

case 10:

case 9:

case 8:

case 7:

case 6:

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:

printf("%d-->E\n",sum);

break;

default:

printf(" 输入错误\n"); /* 处理非法数据*/

}

}

设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

自己弄运行信息结果吧三、问题讨论

在使用switch 语句时, switch 和case后值的类型要求以及default 子句和break 语句的位置有什么需要注意的地方?举例说明

四、实验总结

1 总结本次实验完成情况、相关知识掌握情况

2 总结本次实验编辑、编译、连接、运行所取得的经验

3 分析本次实验出现的主要错误最直接原因

实验三循环结构程序设计

一、实验目的

5、熟练掌握while 语句,do-while 语句和for 语句的格式和功能,能够用这些语句实现循环

结构程序设计的方法。

6、熟练掌握循环语句嵌套使用的基本形式,能够用循环语句实现多重循环。

7、掌握在循环结构程序设计中使用break 语句和continue 语句改变程序流程。

8、通过编程和调试程序,加深对while 语句、do while 语句和for 语句的理解,学习编程

和测试的基本方法。

9、实验前复习while 语句、do while 语句和for 语句的概念。

二、实验内容

1. 打印100-200 之间的所有素数(按照每行 5 个显示)

程序代码:

对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

2. 编程输出如下上三角形式的九九乘法表。

1 2 3 4 5 6 7 8 9

- - - - - - - - -

1 2 3 4 5 6 7 8 9

4 6 8 10 12 14 16 18

9 12 15 18 21 24 27

16 20 24 28 32 36

25 30 35 40 45

36 42 48 54

49 56 63

64 72

81

程序代码:

对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

三、问题讨论

break 语句和continue 语句在循环结构中使用时有何区别?举例说明。

四、实验总结

1 总结本次实验完成情况、相关知识掌握情况

2 总结本次实验编辑、编译、连接、运行所取得的经验

3 分析本次实验出现的主要错误最直接原因

实验四使用数组的程序设计

一、实验目的

1、正确理解数组的概念,熟练掌握一维数组和二维数组的定义和初始化方法。

2、熟练掌握字符数组和字符串的区别和使用、字符串函数的使用。

3、熟练掌握一维数组、二维数组以及字符串的输入和输出方法。

4、了解数组的地址、数组元素的地址及一维数组和二维数组的存储结构。

5、掌握字符串的结束标志,正确使用字符串的结束标志对字符串进行处理。

6、通过编程和调试程序,加深对数组、字符数组和字符串函数应用的理解。

7、实验前复习数组、字符数组和字符串函数的概念。

二、实验内容

1、打印fabonacci 数列的前20 项,该数列前两项为1,以后各项均为前相邻两项之和。

程序代码:

#include

void main()

{long int f[20]={1,1};

int j;

for(j=2;j<20;j++)

f[j]=f[j-1]+f[j-2];

for(j=0;j<20;j++)

{printf("%15ld",f[j]);

if((j+1)%5==0)

printf("\n");

}

}

对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

2、从键盘输入一个班学生(最多30 人)的成绩,然后按降序进行排列。#include

#define N 5

void main()

{int a[N],i,j,t;

printf("input scores of students:",N);

for(i=0;i

scanf("%d,",&a[i]);

for(i=0;i

for(j=0;j

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("the sorted scores:\n");

for(i=0;i

printf("%10d",a[i]);

printf("\n");

}

3、

程序代码:

对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

c『运行结果:』

3、编写一个程序,利用字符数组实现两个字符串的比较。(注意不能使用字符串比较函数strcmp() )

#include

#define n 7

void main()

{char s1[n],s2[n];

int i;

printf("input %d characters\n",n);

scanf("%s\n",s1);

scanf("%s\n",s2);

if(s1!=s2)

{for(i=0);i

{if(s1[i]>s2[i])

{printf("%s>%s",s1,s2);

break;}

else if(s1[i]

{printf("%s<%s",s1,s2);

break;}

else

continue;}

}

else

printf("%s=%s",s1,s2);

}

程序代码:

对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

三、问题讨论

1使用%s 格式符输入字符串到数组时能否将空格符输入?如果不能该如何使用其它方法解决?举例说明

2数组在“定义”时和“引用”时所带的下标有何区别?

四、实验总结

需多操作才能熟练掌握各种 C 语言.

1总结本次实验完成情况、相关知识掌握情况

2总结本次实验编辑、编译、连接、运行所取得的经验

3分析本次实验出现的主要错误最直接原因

实验五函数与编译预处理

一、实验目的

10 、掌握函数定义及调用的方法,正确理解函数调用时实参和形参的对应关系;

11 、掌握并正确使用数组作为函数参数;

12 、掌握函数的嵌套调用和递归调用的方法;

13 、理解变量的作用域和生存期;

14 、掌握宏定义、文件包含。

二、实验内容

1、分析下面的程序并上机运行程序,要求写出 3 组以上程序的运行结果。

#include

int fun(int k)

{

int result=1,i;

for(i=1;i<=k;i++)

{

result=result*i;

}

return result;

}

void main()

{

int n;

printf("Input n please(1<=n<=10)");

scanf("%d",&n);

printf("%d!=%d\n",n,fun(n));

}

『运行结果:』

2、编写程序,输出2~n 之间的所有素数,n 由键盘输入。要求判断素数的过程要写在函数中,由主函数调用实现,并写出 2 组以上程序运行结果。

程序代码:

#include

#include

void main()

{ int i,j,k,n,m=0;

printf("input n please!\n");

scanf("%d",&n);

for(i=2;i<=n;i++)

{ j=sqrt(i);

for(k=2;k<=j;k++)

if(i%k==0)

break;

if(k>j)

{m++;

printf("%3d",i);

if(m%10==0)

printf("\n");

}

}

}

『运行结果:』

3、编程实现输入8 个学生某门功课的成绩,用函数求出平均分,并在主函数中输出平均分以及高于平均分的同学的成绩。并写出 2 组以上程序运行结果。

程序代码:

#include

float average(float x[8])

{ f loat sum;

int k;

sum=x[0];

for(k=1;k<8;k++)

{ sum=sum+x[k];

}

return(sum/8);

}

void main()

{ f loat cj[8],aver;

int m,j;

printf("input scores of eight students:\n");

for(j=0;j<8;j++)

scanf("%f",&cj[j]);

aver=average(cj);

for(m=0;m<8;m++)

{ if(cj[m]>aver)

printf(" 高于平均分:%f\n",cj[m]);

}

printf("average=%6.2f\n",aver);

}

运行结果:』

三、问题讨论

1、举例说明自动变量和静态变量的区别。

2、

答:自动变量是指那些当程序的流程转到该函数时才开辟的单元,执行后又立即释放的变量。静态变量则是指在整个程序运行期间分配固定存储空间的变量。

四、实验总结

1 总结本次实验完成情况、相关知识掌握情况

2 总结本次实验编辑、编译、连接、运行所取得的经验

3 分析本次实验出现的主要错误最直接原因

答: 1. 实验完成,知识还未完全掌握。

2. 要注意书写格式的正确。

3. 主要原因是对知识的不理解。

实验六使用指针的程序设计

一、实验目的

15 、掌握指针的概念,会定义和使用指针变量;

16 、能正确使用数组的指针和指向数组的指针变量;

17 、熟悉指针作为函数参数的定义和调用方法;

18 、能正确使用字符串的指针和指向字符串的指针变量。

二、实验内容

1. 分析下面的程序并上机运行程序,要求写出 3 组以上程序的运行结果。

#include

void main()

{

int *p1,*p2,*p;

int a,b;

printf("Input a b please");

scanf("%d%d",&a,&b);

p1=&a;

p2=&b;

if(a>b)

{ p=p1;p1=p2;p2=p;}

printf("*p1=%d, *p2=%d\n",*p1,*p2);

printf("a=%d, b=%d\n",a,b);

}

『运行结果:』

2. 下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n 给了数组

中数据的个数,利用指针odd 返回奇数之和,利用指针even 返回偶数之和。请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。

#include

#define N 10

void fun(int *a,int n,int *odd,int *even)

{

}

void main()

{

int a[N]={1,10,2,3,19,6},i,n=6,odd,even;

printf("The original data is:\n");

for(i=0;i

printf("%5d",*(a+i));

printf("\n\n");

fun(a,n,&odd,&even);

printf("The sum of odd numbers:%d\n",odd);

printf("The sum of even number:%d\n",even);

}

『运行结果:』

3. 编程实现从键盘输入一个字符ch 和一个字符串str ,利用字符指针实现删除字符串

str 中和字符ch 相等所有字符,然后输出字符串str 。运行程序并写出 2 组以上程序运行结果。

程序代码:

『运行结果:』

三、问题讨论

1. 简述字符串数组和字符指针的区别,举例说明。

四、实验总结

1 总结本次实验完成情况、相关知识掌握情况

答:通过本次实验我学习了关于指针的一些应用和怎样用指针来解决一些实际问题。

2 总结本次实验编辑、编译、连接、运行所取得的经验

3 分析本次实验出现的主要错误最直接原因

答:对课本上的知识记忆的不够牢固,对一些知识似懂非懂的,理解的不清楚。还有就是对计算机的的操作不够熟练,操作起来很慢,还经常出错。以后需加强练习。

实验七、结构体程序设计

一、实验目的

1. 掌握结构体类型变量和数组、共用体类型变量和数组以及枚举类型变量的定义

和使用。

2. 掌握链表的基本,初步学会对链表进行操作。

3. 通过编程和调试程序,加深对结构体和共用体概念的理解。

4. 实验前复习结构体类型、共用体类型和枚举类型的概念。

二、实验内容及步骤:

编程题:某单位进行选举,有 5 位候选人:zhang、wang、li 、zhao、liu 。编写一个统计每人得票数的程序。要求每个人的信息使用一个结构体表示, 5 个人的信息使用结构体数组。

程序代码:

#include

#include

#define M 5

#define N 10

struct per

{char name[20];

int t;

}leader[M]={"zhang",0,"wang",0,"li",0,"zhao",0,"ma",0};

void main()

{int i,j;

char sec[20];

for(i=0;i

{printf("%d please input your result:",i+1);

scanf("%s",sec);

for(j=0;j

{if(strcmp(leader[j].name,sec)==0)

leader[j].t++;}}

printf("the result:\n");

for(j=0;j

printf("%s\t%d\n",leader[j].name,leader[j].t);

}

对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

C语言上机报告答案

2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 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 #include 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; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

C语言上机题库百科园第2章!南信大!

第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4

C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是()

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数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说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言上机实验[1]

实验四循环结构程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握while语句、do-while语句和for语句。 2、练习并掌握循环结构的嵌套形式。 3、掌握循环结构的程序设计方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P41) 2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P42) 3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(实验指导书P167) 4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小 于10-6为止。(实验指导书P169) 5、计算1!+2!+……+n! 的值,n值由键盘输入。(实验指导书P176) 6、输入10个整数,统计并输出其中正数、负数和零的个数。 四、实验答案:(代码+运行结果截屏) 实验五综合实验1:结构化程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(实验指导书P162) 2、百马百担问题。(实验指导书P45) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验答案:(代码+运行结果截屏)

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a #include int main(void) { char c1,c2;

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

C语言 数组 实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

C语言上机实验题

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> 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 <> #include <> 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 <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> 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语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include 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 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 main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include 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 fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include #define N 4 fun(int t[][N], int n) { int i, sum; ___1___; for (i=0; i

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include #include /********found********/ fun(int n) { double A = 1; int i; /********found********/ for(i=2;i #include void fun (int a, int b, long *c) { }

大连理工c语言第五次上机作业参考答案

第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include #define N 10 void shift(int a[ ],int n,int m); void main( ) { int i,n,m; int a[N]; printf("Input n(n<=10):"); scanf("%d",&n); printf("Input %d integers:\n",n); for(i=0;i=0;j--) a[j+1]=a[j]; a[0]=t; } } n

相关主题
文本预览
相关文档 最新文档