c语言实验题
C语言实验7(附参考答案)
实验7:程序的输入输出实验目的:1、熟悉字符的输入输出和格式化的输入输出,了解基本规则。
2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。
实验内容:1、若int a,b; scanf(“%d%d”,&a,&b); 不可以用___A____作为输入的分隔符。
A), B)空格 C)回车 D) TAB键2、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当用户从键盘输入时,正确的数据输入方式是_______。
int a1,a2; char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>3、阅读以下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为_______。
main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值4、根据定义和数据的输入方式,输入语句的正确形式为_______。
已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf(“%f,%f”,&f1,&f2);B)scanf(“%f%f”,&f1,&f2);C)scanf(“%3.2f %2.1f”,&f1,&f2);D)scanf(“%3.2f%2.1f”,&f1,&f2);5、以下说法正确的是_______。
A)输入项可以为一实型常量,如scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);6、已有定义int x; float y;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345 678<回车>,则x的值为_______ ,y的值为_______。
计算机C语言实验报告含答案
高级语言程序设计(C语言)实验报告。
………………………………………………………………………………………………一、实验题目:语句与顺序结构控制程序设计1)编写程序,已知圆半径radius=1.25,求圆周长和面积。
源代码:运行结果:#include <stdio.h> d=7.853981#define PI 3.1415926 s=4.908735void main(){float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf("d=%f\n",d);printf("s=%f\n",s);}2)编写程序完成大写字母的小写转换。
源代码:运行结果:#include <stdio.h> 请输入一个大写字母:H void main() H h{char ch1,ch2;printf("请输入一个大写字母:");ch1=getchar();ch2=ch1+32;printf("%c %c\n",ch1,ch2);}3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。
源代码:运行结果:#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3{int a,g,s,b;printf("请输入一个整数:");scanf("%d",&a);b=a/100;s=(a%100)/10;g=a%10;printf("b=%d,s=%d,g=%d\n",b,s,g);}二、实验题目:选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。
编写程序,按从大到小的顺序排列这3个整数,使a成为最大的,c成为最小的,并且按序输出这3个整数。
c语言实验题目
实验3 顺序结构编程 (2)实验4 if分支结构编程 (3)实验5 if分支结构和switch分支结构编程 (5)实验6 分支结构嵌套和for循环编程练习 (10)实验7和while和do-while练习 (13)实验8 for循环嵌套练习 (16)实验9 函数设计编程练习 (19)实验10函数设计编程练习 (21)实验11 数组编程练习 (24)实验3 顺序结构编程实验题目1 输入两个整型数x,y,求x,y之和、差、积、x/y的商和余数提示: (1)定义整形变量变量int x,y;(2)和、差、积、商和求余数的运算符分别是+、-、*、/、%(3)输入两个整型数可以调用scanf()函数scanf("%d %d", &x,&y);实验题目2 按下列要求编写程序,对变量a,b,c进行unsigned int型说明,将65赋给a,66赋给b,67赋给c,对变量a,b,c用%c格式输出显示提示: (1)定义变量unsigned int a ,b,c;(2)字符型数据输出的格式控制符是%c(3)C语言中的赋值符号是=“65赋给a”表示为a = 65;实验题目3 输入三角形的三条边的边长,求三角形的面积从键盘输入三个整数,判断能否构成三角形的三边,如果能就计算输出三角形面积,按照下图给出的公式计算三角形的面积:s=(a+b+c)/2a,b,c代表三角形的三条边提示1、开根号的数学库函数是sqrt,例如y=sqrt(x),表示求变量x开根号,并把结果赋值给变量y。
2、调用数学库函数必须用如下命令#include <math.h>要求:(1)存储三角形三边的变量用double型(2)打印三角形面积时小数保留两位%.2lf实验题目4 已知半径r=3.4cm,编程求圆的周长和面积:提示: (1)定义浮点型变量使用关键字float;(2)浮点型数据输出的格式控制符是%f(3)C语言中没有∏这个符号,编写程序时直接使用3.14159。
C语言实验报告题及答案
《C程序设计实验》实验一C程序开发环境(2学时)1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。
2.实验内容(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;(2)输入并调试、运行下面的程序。
#include <stdio.h>int main( ){printf ("This is a C program.\n");return 0;}(3)输入并调试、运行下面的程序。
#include <stdio.h>int main( ){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c = max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if (x > y) z = x;else z = y;return(z);}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。
4.问题讨论将printf函数改为print,调试并分析结果。
实验二数据类型、运算符与表达式(2学时)1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。
2.实验内容(1)输入并调试、运行下面的程序。
#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);return 0;}(2)输入并调试、运行下面的程序。
#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。
C语言实训题及参考答案
C语言实训题及参考答案第一题:编写一个程序,将输入的两个整数进行加法运算,并输出结果。
参考答案:```c#include <stdio.h>int main() {int num1, num2, result;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);result = num1 + num2;printf("加法结果:%d", result);return 0;}```第二题:编写一个程序,判断输入的整数是否为偶数,并输出“是”或“否”。
参考答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("是");} else {printf("否");}return 0;}```第三题:编写一个程序,计算输入字符串的长度,并输出结果。
参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);printf("字符串长度:%d", length);return 0;}```第四题:编写一个程序,将输入的字符串反转,并输出结果。
参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int i, length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);for (i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```第五题:编写一个程序,将输入的数组元素按从小到大的顺序排序,并输出结果。
C语言课后实验设计题目及答案
设 total:桃子的总数
x1 :前一天的桃子数
x2 : 后一天的桃子数
day: 天数
计算公式:x1=(x2+1)*2 第1天的桃子数是第2天桃子数加1后的2倍。
(2)求1-1/2+1/3-1/4+⋯⋯,输入1个正整数n(n<=100),计算并输出1-1/2+1/3-1/4+⋯⋯的前n项和(保留3位小数)。
实验项目四 分支结构程序设计
题目
(1)输入四个整数,输出其中的最小值。
实验报告
1、主程序:
// zx.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
}
2、主程序:
// s.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
x=x*x*x*x;return(x);
}
int main(int argc, char* argv[])
{
float x;
printf("请输入X=");
scanf("%f",&x);
double s;
C 语言 实验 + 答案 4题
}while(fabs(x1-x0)>1e-5);
printf("the root of equation is %5.2f\n",x1);
}
第四题:
第一个:
#include<stdio.h>
void main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
(3)用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
在得到正确结果后,请修改程序使所设的x初始值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的x初值对结果有没有影响,为什么?
修改程序,使之能输出对迭代的次数有无影响。
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("total=%d\n",x1);
}
第二个:
#include<stdio.h>
void main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{
x1=(x2+2)*2;
x2=x1;
day--;
}
printf("total=%d\n",x1);
if(m%i==0)
printf("%5d",i);
printf("\n");
}
}
}
第三题:
#include<stdio.h>
#include<math.h>
C语言综合实验题目
C语言综合实验题目(说明:每位同学必须按时完成所指定的综合实验题目,并提交详细的实验报告。
如果没有完成本次综合实验,总实验成绩以0分计,实验题目不能随意更改。
综合实验报告提交截止时间7月7号,其他实验提交截止时间7月3号)一.基本题目1.航班售票系统(请学号末尾位为0和5的同学完成)航班售票系统,要求完成以下功能:1)假设该民航有若干航班,要求实现增加航班和取消某个航班的功能。
2)查询:根据用户提出的终到站查询航班号、售票情况等航班信息;也可根据航班号,列出该航班已订票的乘客名单。
3)订票:根据航班号为客户订票,如该航班有余票,则为客户订票;如该航班已满员,则显示相应信息。
4)退票:按乘客要求退出已预定的机票。
提示:数据结构:可以使用链表表示航线表,对每个航班应包括以下信息:航班号、到达港、总座位数、余票额、乘客名单等;其中乘客名单应为一个单链表,每个乘客的信息有:乘客姓名、证件号码、座位号等,为方便查找,可考虑按乘客姓名排序;相应数据类型示范如下:struct cnode{ char name[20]; /*乘客姓名*/char idcard[30]; /*证件号码*/int seatno; /*座位号*/struct cnode *clink; /*下一乘客指针*/};struct pnode{ int no; /*航班号*/char destin[30]; /*终到站*/int limit,rest; /*总座位数、余票额*/struct cnode *clist; /*乘客名单*/struct pnode *plink; /*下一航班指针*/};2.银行帐户管理(请学号末尾位为1和6的同学完成)要求建立二进制文件存储银行帐户信息,其中每个用户帐户信息中要求保存帐号、用户身份证号码、用户姓名、用户地址、帐户金额等,完成以下功能:1)录入新帐户;2)查询帐户情况,根据输入的帐号查询用户情况和帐户金额;3)修改帐户信息,要求用户输入帐号,根据用户需要修改除了帐号之外的其余信息;4)删除帐户:根据输入的帐号找到要删除的帐号信息以后,经确认后删除该帐号信息;提示:程序中定义用户帐户结构体:struct account{char accountid[10];char customerid[30];char name[20];char address[30];float balance; };其中存储用户帐户信息的二进制文件中每个数据类型应为struct account,在操作之前可以考虑先将文件中的用户帐户信息读出并建立成一个链表,然后进行查询、删除等操作,可节省读写文件的时间;当录入新帐户信息、修改帐户信息之后,同时更新相应文件的内容;3.学生信息管理系统(请学号末尾位为2和7的同学完成)用户可以选择1-7可以分别进行学生信息的查看、添加、删除,修改,计算平均成绩,保存,退出系统操作。
c语言上机实验题及参考答案
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}
c语言实验习题及答案详解
1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 →3.142,10.123456 →10.123)#include<stdio.h>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=0.5;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 → 1+4+9+16=30)#include<stdio.h>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<stdio.h>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<stdio.h>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<stdio.h>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;#include<stdio.h>void main(){float f;double d;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。
C语言程序设计实验36题
C语言程序设计实验36题邓作杰编简单程序设计与基本数据处理1 显示短句在屏幕上显示一个短句“Programming in C is fun!”#include <stdio.h>int main (){printf(“Programming in Cis fun\n”);return 0;}2 求两个数的和与差输入整数a 和b,计算并输出a、b 的和与差。
#include <stdio.h>int main (){int a,b,s,t;printf (“please input a and b:”);scanf (“%d%d”,&a,&b);s=a+b;t=a-b;printf(“a+b=%d\na-b=%d\n”,s,t);return 0;}3 求平方根输入1 个实数x,计算并输出其平方根(保留1 位小数)#include <stdio.h>#include <math.h>int main (){int x;float y;printf("please input x:");scanf("%d",&x);y=sqrt(x);printf("the result is %.1f",y);return 0;}4 华氏温度转换为摄氏温度输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。
c = 5/9(f-32).#include<stdio.h>int main (){float f,c;printf(“please input f:”);scanf(“%f”,&f);c=5/9*(f-32);printf(“C is %.2f\n”,c);return 0;}5 大写字母转换成小写字母输入一个大写英文字母,输出相应的小写字母。
#include <stdio.h>int main(){char x;printf(“please input a char:”);scanf(“%c”,&x);if(x>=65&&x<=90)x=x+32;printf(“%c\n”,x);elseprintf(“error message!\n”);return 0;}6编写摄氏温度、华氏温度转换程序。
C语言实验题及参考答案
实验一1、计算整数各位数字之和(10 分)输入一个3 位正整数,将其每一位的数字相加,输出和输入格式:输入一个3 位正整数。
变量数据类型为unsigned 。
输出格式:输出整数每一位相加后的整数和。
输入样例:输出样例:【参考答案】#include "" int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。
变量数据类型为double 。
π 为。
输出格式:输出y 的值,精确到小数点后2 位。
输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x); y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数 (10 分)程序每次读入一个正3 位数,然后输出按位逆序的数字。
有结尾的0 时,输出不应带有前导的0。
比如输入700,输入格式:每个测试是一个3 位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:注意:当输入的数字含输出应该是7。
【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值 (10 分)本题要求编写程序,计算4 个整数的和与平均值。
C语言上机实验例题
实验一 C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、实验例题【例1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for.在Turbo C的集成环境下,键入如下源文件。
敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认noname.c文件名改为任意文件名。
程序example.c如下:main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}然后用Ctrl+F9执行example.c,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。
按回车键重新返回Turbo C的编辑环境。
注意,在运行程序之前最好先存盘。
【例2】输入并运行程序,写出运行结果。
main(){int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}运行方法同上,最后结果为:sum is 579。
【例3】输入并运行程序,写出运行结果。
main(){int a,b,c;int max(int,int);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}int max(int x,int y){int z;if (x>y) z=x;else z=y;return(z);}这个程序的功能是对于任意输入的两个整数,输出较大的那个数。
C语言程序设计综合实训题目
一、参考题目及选题(1)学生信息管理系统设计问题描述:学生信息包括:学号, 姓名, 年龄, 性别, 出生年月, 政治面貌, 籍贯, 家庭住址, 电话, E-mail等。
试设计一学生信息管理系统, 使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(4)学生信息排序、查询功能对信息进行排序, 可以按学号, 按姓名, 按性别, 按出生年月日, 按籍贯进行查询(5)信息统计a) 可以按性别, 按出生年, 按籍贯统计学生人数b) 可以按班级统计学生人数c) 可以按政治面貌统计学生人数按班级统计学生党员人数, 团员人数, 以及所占比例, 设计并输出统计报表。
(6)学生信息的删除与修改●设计要求:●界面比较美观;有一定的容错能力, 比如输入的成绩不在0~100之间, 就提示不合法, 要求重新输入;●最好用链表的方式实现。
算法分析:首先, 一个学生包括这么多的属性, 应该考虑定义一个结构, 其次, 我们应该考虑数据的存储形式:是定义一个数组来存储, 还是定义一个链表呢?在这里假如我们以数组的方式来存储, 当然可以, 但是我们知道, 假如我们定义一个数组的话, 我们首先必须知道学生人数大概是多少, 以便我们确定数组的大小, 但是题目中没有给出, 而且题目要求中有大量的删除、插入操作, 所以用链表的方式比较方便。
对于菜单的实现, 其实也比较简单, 首先我们用printf语句把程序的功能列出来, 然后等待用户输入而执行不同的函数, 执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
(2)、学生综合测评系统每个学生的信息为: 学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%, 10%, 10%, 20%。
C语言实验题
return 0;
}
矩阵转置
题目描述:输入N*N的矩阵,输出它的转置矩阵。
输入:第一行为整数N(1≤N≤100)。
接着是一个N*N的矩阵。
输出:转置矩阵。
样例输入:2
1 2
1 2
样例输出:1 1
2 2
代码:#include<stdio.h>
int main()
{int a[100][100];
输入:输入三边a、b、c
输出:输出面积,保留3位小数。
样例输入:1 2 2.5
样例输出:0.950
代码:int main()
{
float f,c;
scanf("%f",&f);
c=5*(f-32)/9;
printf("%.2f",c);
return 0;
}
一元二次方程
题目描述:解一元二次方程ax2+bx+c=0的解。
scanf("%d",&a[i][j]);}
for(i=0;i<n;i++)
{for(j=0;j<=i;j++)
s=s+a[i][j];}printf("%d",s);return 0;
}
单词统计
题目描述:从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入:输入只有一行句子。仅有空格和英文字母构成。
输出:输出数据只有一个,即摄氏温度,保留2位小数。
样例输入:32.0
样例输出:0.00
C语言实验题及参考答案
实验一1、计算整数各位数字之和(10 分)输入一个3位正整数,将其每一位的数字相加,输出和。
输入格式:输入一个3位正整数。
变量数据类型为unsigned。
输出格式:输出整数每一位相加后的整数和。
输入样例:输出样例:【参考答案】#include ""int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。
变量数据类型为double。
π为。
输出格式:输出y的值,精确到小数点后2位。
输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x);y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。
注意:当输入的数字含有结尾的0时,输出不应带有前导的0。
比如输入700,输出应该是7。
输入格式:每个测试是一个3位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值(10 分)本题要求编写程序,计算4个整数的和与平均值。
C语言实验题及参考答案
C语言实验题及参考答案1. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有整数。
```c#include <stdio.h>int main() {int n;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有奇数。
```c#include <stdio.h>int main() {int n;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {printf("%d ", i);}return 0;}```3. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有整数的和。
```c#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i++) {sum += i;}printf("1到%d的和为%d\n", n, sum);return 0;}```4. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有奇数的和。
```c#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {sum += i;}printf("1到%d的奇数的和为%d\n", n, sum);return 0;}```5. 编写一个程序,要求用户输入一个整数n,然后判断n是否为素数。
c语言实践试题及答案
c语言实践试题及答案一、选择题1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项是合法的C语言常量?A. 0.1E2B. 1.2eC. 1.2ED. 1.2e-3.5答案:A3. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. =答案:C5. 在C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B二、填空题1. 在C语言中,声明一个整型变量的语句是 ________。
答案:int variable_name;2. C语言中,用于定义一个数组的语句是 ________。
答案:type array_name[size];3. C语言中,用于定义一个指针的语句是 ________。
答案:type *pointer_name;4. C语言中,用于执行条件判断的语句是 ________。
答案:if (condition) { /* code */ }5. C语言中,用于执行循环的语句是 ________。
答案:for (initialization; condition; increment) { /* code */ }三、简答题1. 请简述C语言中函数的定义和调用过程。
答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。
函数调用则是在程序中使用函数名和参数列表来执行函数。
2. 解释C语言中指针和引用的区别。
答案:指针是一个变量,存储另一个变量的内存地址。
引用是变量的别名,不能改变其指向,且必须在声明时初始化。
四、编程题1. 编写一个C语言程序,计算并输出1到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;}```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组1:显示十个数据并找到最大值#include<stdio.h>void main(){int temp[10],i,max;i=0;while(i<10){scanf("%d",&temp[i]);i++;}max=temp[0];for(i=0;i<10;i++)if(max<temp[i])max=temp[i];printf("max=%d\n",max);}当输入超过十个数时,为什么它还是可以选出最大的那个数?2:求...的平均值!#include<stdio.h>double a[5]={2.38,3.142,5.64,8.27,6.44};void main(){int n;float sum=0.0;for(n=0;n<5;n++)sum+=a[n];printf("Average:%f\n",sum/5);}3.输入一串字符,判断单词个数!#include<stdio.h>void main(){char str[100];int i,num=0,w=0;char c;gets(str);for(i=0;(c=str[i])!='\0';i++){if(c==' ')w=1;else if(w==1){w=0;num++;}}printf("there are %d words\n",num);}4.函数:求两个数的最大公约数#include<stdio.h>void main(){int a,b,x;int gcd(int,int);printf("Enter a,b:");scanf("%d,%d",&a,&b);x=gcd(a,b);printf("The Result is:%d",x);}int gcd(int u,int v){int n,i,m=0;n=u<v?u:v;//*求两个数中较小者*//for(i=1;i<=n;i++){ if(u%i==0&&v%i==0)m=i;}return m;}5.求1+2+3+4..+n#include<stdio.h>void main(){int n;int sub(int);printf("\nEnter n:");scanf("%d",&n);printf("%d\n",sub(n));}int sub(int n){int a;if(n==1)return 1;a=n+sub(n-1);return(a);}6.求pi,精确到0.0005,pi/2=1+1/3+1/3 * 2/5+1/3 * 2/5 * 3/7.......#include<conio.h>#include<math.h>#include<stdio.h>void main(){double x;double pai(double);printf("\nPlease enter a precision:");/*precision :精确度输入0.0005*/scanf("%lf",&x);printf("\neps=%1f,pi=%lf",x,pai(x));}double pai(double eps){double x,y;int n;for(n=1,x=0,y=1;y>eps;n++){x+=y;y=n*y/(2*n+1);/*1+1/3+1/3 *2/5+1/3 * 2/5 * 3/7....其中,通项(每一小项)为n/2*n+1,在用递归的方法求通项,则:y=y*n/2*n+1;,然后把y 的值用x来储存起来,既:x+=y;*/}return(2*x);}7.C++求两点距离!(类)#include<math.h>#include<iostream.h>class comple{public:void set(int x,int y,int z,int w);double distance();void printf();private:int a,b,c,d;};void comple::set(int x,int y,int z,int w){a=x;b=y;c=z;d=w;}double comple::distance(){return sqrt((d-b)*(d-b)+(c-a)*(c-a));}void comple::printf(){cout<<"("<<a<<","<<b<<")"<<","<<"("<<c<<","<<d<<")"<<endl;}void main(){int e,f,g,h;comple comple1;cin>>e>>f>>g>>h;comple1.set(e,f,g,h);comple1.printf();cout<<comple1.distance()<<endl;}8.建一个复数类,求复数的模#include<math.h>#include<iostream.h>class comple{public:void set(int x,int y);double mode();void printf();private:int a,b;};void comple::set(int x,int y){a=x;b=y;}double comple::mode(){return sqrt(a*a+b*b);}void comple::printf(){cout<<a<<"+"<<b<<"i"<<endl;}void main(){comple comple1;comple1.set(5,8);comple1.printf();cout<<comple1.mode();}9.*一组数排序冒泡法#include<stdio.h>#define N 8void main()float x[N],t;int a,b;for(a=0;a<N;a++)scanf("%f",&x[a]);for(a=1;a<N;++a)for(b=0;b<N-a;++b)if(x[b]>x[b+1]){t=x[b];x[b]=x[b+1];x[b+1]=t;}printf("\n排序结果:"); for(a=0;a<N;a++)printf("%5.1f",x[a]);}函数法#include<stdio.h>#define N 8void main(){float x[N];int a;void sort(float *);for(a=0;a<N;a++)scanf("%f",&x[a]);sort(x);for(a=0;a<N;a++)printf("%5.1f",x[a]);}void sort(float *xx)int a,b;float t;for(a=1;a<N;++a)for(b=0;b<N-a;++b)if(xx[b]>xx[b+1]){t=xx[b];xx[b]=xx[b+1];xx[b+1]=t;}}10.计算3*3矩阵的乘积#include<stdio.h>#include<math.h>void main(){int i,j,k;int N=3;double x;double C[3][3];double A[3][3]={{23,2,19},{34,78,45},{10,23,18}}; double B[3][3]={{3,5,8},{2,6,7},{8,1,4}};for(i=0;i<N;i++)for(j=0;j<N;j++){x=0.0;for(k=0;k<N;k++)x+=A[i][k]*B[k][j];C[i][j]=x;for(i=0;i<N;i++)for(j=0;j<N;j++)printf("%7.0f%c",C[i][j],j==N-1?'\n':'');}11.输出一个10人的班中.......输出一个10人的班中,某门功课及格学生的学号,成绩,及格人数和及格率。
#include<stdio.h>void main(){int i,k=0,a[10][2];printf("input numbers and grades,press 0 to end.\n");for(i=0;i<10;i++){scanf("%d",&a[i][0]);scanf("%d \n",%a[i][1]);}for(i=0;i<10;i++){printf("number %d grade %d\n",a[i][0],a[i][1]);if(a[i][1]<60)contine;k++;}printf("the passed people:%d\n the passed rate: %5.2F%%\n",k,100. 0*k/10);}12输入一串字符,判断单词个数!#include<stdio.h>void main(){char str[100];int i,num=0,w=0;char c;gets(str);for(i=0;(c=str[i])!='\0';i++){if(c==' ')w=1;else if(w==1){w=0;num++;}}printf("there are %d words\n",num);}13.求e,e=1+1/1!+1/2!+1/3!......1/n!,e精确到1e-7! #include<stdio.h>void main(){int i;float sum=0.0;int fac(int);for(i=0;1.0/fac(i)>=1e-7;i++){sum+=1.0/fac(i);}printf("%f",sum);}int fac(int n){int k;if(n==0)k=1;elsek=n*fac(n-1);return k;}14.输入N个数,倒序输出#include<stdio.h>#define M 20void main(){int i,x[M],n,m,*p,*k,*j;printf("\nEnter n:");scanf("%d",n);printf("\nEnter array x[i](i=0~n):");for(i=0;i<n;i++)scanf("%d",x+i);printf("\n");m=n/2;k=x;j=x+n;p=x+m;for(;k<=p;k++,j--){int t=*k;k=j;*j=t;}printf("\nThe array inverted:\n");for(i=0;i<n;i++)printf("%d",x[i]);}。