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 Studio6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。

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

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

⑴分析Visual C++6.0 中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。

⑵步骤①编辑图 1-1 New 对话框编辑是将 C 源程序输入计算机的过程。

在Visual C++6.0 主界面下,点击File 菜单,选择Ne w 菜单项,即可出现New 对话框,如图1-1 所示。

在弹出窗口中的Files 标签页下,选择C++ Sour ce File。

在选项卡右面的File 编辑框里输入文件名如“Exa.c”,在 Location 编辑框里输入文件路径,2如 : \test”。

点击 OK 按钮。

将出现编辑窗口 ,如图 1-2 所示。

在图 1-2 所示的右端编辑窗口里输 入以下 C 源程序并保存文件。

图 1-2 编辑窗口②编译编译是使用系统提供的编译器将文本文件 Exa.c 生成机器语言的过程 ,结果为 Exa.obj ,由于没有 得到系统分配的绝对地址,还不能直接运行,如图 1-3 所示。

C语言程序设计上机指导书及答案

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

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实验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 mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。

河南科技大学C语言上机实验指导书答案

河南科技大学C语言上机实验指导书答案

河南科技大学C语言上机实验指导书答案C语言上机实验指导实验2.1-2.9答案2.1 实验1 C语言表达式1.阅读程序,分析结果,并上机验证(1) t=550 (2) a+u=22,b+u=-14 (3) f ge(4) x=3.600000,i=3 (5) a=100 c ike2.阅读程序,分析程序中的错误,每处错误均在提示行/********************/的下一行,请将错误改正,并上机验证。

(1) int a=3; (2) /********************//********************/ int a=99,b=100;a+=4(3) /********************/ (4) /********************/a=(int)c%3; int b;(5) /********************/a=5;3.阅读程序,在程序中提示行/********************/的下一行填写正确内容,将程序补充完整,并上机验证。

(1) int float (2) sqrt(x) (3) x*x+3*x+2(4) *(x+32) (5) abs(a)+abs(b)2.2 实验2 顺序结构程序设计1.阅读程序,分析结果,并上机验证(1) i=5,j=6 (2) i=5,j=6 (3) i=1234,j=5(4) i=12.500,j=-4.000 (5) c=652.阅读程序,分析程序中的错误,每处错误均在提示行/********************/的下一行,请将错误改正,并上机验证。

(1) /********************/ (2) /********************/scanf(―%f‖,&i); printf(―%c‖,a);(3) /********************/ (4) /********************/int b=20;a=10; scanf(―%d‖,&a);(5) /********************/scanf(―%d%d‖,a,b);3.阅读程序,在程序中提示行/********************/的下一行填写正确内容,将程序补充完整,并上机验证。

c语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
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语言上机练习参考答案

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语言上机实验 答案

C语言上机实验 答案

C语言上机实验答案c语言上机实验答案实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉vc++语言的上机环境及上机操作过程。

2、了解如何编辑、编译、连接和运行一个c程序。

3、初步了解c程序的特点。

三、实验内容:表明:前三为题必搞题目,后两为题Suippes题目。

1、输出入下信息:(实验指导书p79)*************************verygood*************************2、排序两个整数的和与内积。

(实验指导书p81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。

(书p3)4、在屏幕上表明一个文字菜单模样的图案:=================================1输入数据2修改数据3查询数据4打印数据=================================5、从键盘上输入两个整数,交换这两个整数。

四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#includevoidmain(){printf(“********************\\n”);printf(“verygood\\n”);printf(“********************\\n”);}2、#includevoidmain(){inta,b,c,d;printf(“pleaseentera,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#includevoidmain(){doublex,s;printf(“pleaseinputvalueofx:”);scanf(“%lf”,&x);s=cos(x);printf(“cos(%lf)=%lf\\n”,x,s);}4、#includevoidmain(){printf(“==================================\\n”);printf(“1输出数据2修正数据\\n”);printf(“3查阅数据4列印数据\\n”);printf(“===================================\\n”);}5、#includevoidmain(){intx,y,t;printf(“pleaseenterxandy:”);scanf(“%d%d”,&x,&y);t=x;x=y;y=t;printf(“afterswap:x=%d,y=%d\\n”,x,y);}实验二直观的c程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌控c语言的数据类型。

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

c语言上机实验完整答案————————————————————————————————作者:————————————————————————————————日期:实验一自测练习1程序代码#include"stdio.h"void main(){int x;scanf("%d",&x);if (x%2 !=0)printf("%d is an odd\n",x);elseprintf("%d is an even\n",x);}运行结果自测练习2程序代码#include"stdio.h"void main(){int i,sum;i=1;sum=0;while (i<=100){sum=sum+i;i++;}printf("sum=%d\n",sum); }运行结果自测练习3程序代码#include"stdio.h"void main(){int i,n; long p;p=1;printf("Enter n:");scanf("%d",&n);for (i=1;i<=n;i++)p=p*i;printf("p=%ld\n",p);}运行结果自测练习4程序代码#include"stdio.h"int max(int x,int y) {int z;if (x>y) z=x;else z=y; return(z);}void main(){int a,b,c;scanf("%d,%d",&a,&b); c=max(a,b);printf("max=%d\n",c); }运行结果自测练习5程序代码#include"stdio.h"void main(){int x,y;for(x=0;x<=25;x++)for(y=0;y<=50;y++)if(4*x+y*2==100)printf("兔=%d,鸡=%\n",x,y); }运行结果#include(stdio.h)void main(){int a=5;double x;printf("%d %d",sizeof(int),sizeof(a));printf("%d %d",sizeof(double),sizeof(x));printf("%d %d\n",sizeof(float),sizeof(char));}实验二自测练习一程序代码#include(stdio.h)void main(){int a=5;double x;printf("%d %d",sizeof(int),sizeof(a));printf("%d %d",sizeof(double),sizeof(x));printf("%d %d\n",sizeof(float),sizeof(char));}运行结果自测练习二程序代码#include(stdio.h)void main(){int a=5;printf ("%d %d\n",a,a++);}运行结果自测练习三程序代码#include(stdio.h)void main(){int a,b,c;a=1;b=2;c=3;printf ("%d\n\t%d%d\n%d%d\t\b%d\n",a,b,c,a,b,c);}运行结果实验三程序代码#include<stdio.h>void main(){ int x,h,y,m,s;printf("input x: ");scanf("%d",&x);h=x/3600;y=x%3600;m=y/60;s=y%60;printf("%d小时%d分钟%d秒",h,m,s); }运行结果程序代码#include<stdio.h>void main(){char a,b,c;printf("input x: ");b=getchar();a=b-1;c=b+1;printf("%c,%c,%c,",a,b,c); }运行结果程序代码#include<stdio.h>#include<math.h>void main(){int x;printf("input: ");scanf("%d",&x);printf("八进制:%o",x); printf("十六进制:%x",x); }运行结果程序代码#include<stdio.h>#define p 3.1415926 void main(){float r,h,v;printf("输入r: "); scanf("%f",&r); printf("输入h: "); scanf("%f",&h);v=p*r*r*h;printf("v=%f",v);}运行结果程序代码#include<stdio.h>#include<math.h>void main(){float x,y,z,w;printf("本金x,存款年限y,年利率z\n"); scanf("%f,%f,%f",&x,&y,&z);w=x*y*z;printf("利息=%lf\n",w);}运行结果实验四自测一程序代码#include"stdio.h"void main(){int A,B,C,D;int a=0,b=1,c=1,d=3;A=a*b&&c-d;B=c-d&&a*b;C=--a||++b&&--c;D=++b&&--c||--a;printf("%d,%d,%d,%d,%d\n",A,B,C,D);}运行结果自测二程序代码#include<stdio.h>void main(){int a,b,c,t,n;scanf("%d,%d,%d",&a,&b,&c);if(b>a){t=a;a=b;b=t;};if(c>b){n=b;b=c;c=n;};printf("a=%d,b=%d,c=%d\n",a,b,c); }运行结果自测三程序代码#include"stdio.h"#include"string.h"void main(){char s[6];int a,b,c,d,A,a1,b1,c1,d1;printf("输入一个小于六位的数\n");scanf("%s",&s);printf("%d\n",strlen(s));printf("再次输入这个数\n");scanf("%d",&A);a=A/10000; a1=A-a*10000;b=a1/1000;b1=a1-b*1000;c=b1/100;c1=b1-c*100;d=c1/10;d1=c1-d*10;if(a!=0)printf("%d%d%d%d%d",d1,d,c,b,a);else{if(b!=0)printf("%d%d%d%d",d1,d,c,b);else{if(c!=0)printf("%d%d%d",d1,d,c);else{if(d!=0)printf("%d%d",d1,d);elseprintf("%d",d1);}}}}运行结果自测四程序代码#include<stdio.h>void main(){int n,i=0,h;printf("input a number\n");scanf("%d",&n);h=n-7*i;while(h>7){i=i+1;h=n-7*i;}switch(h){case 1: printf("星期一\n"); break ;case 2: printf("星期二\n"); break ;case 3: printf("星期三\n"); break ;case 4: printf("星期四\n"); break ;case 5: printf("星期五\n"); break ;case 6: printf("星期六\n"); break ;case 7: printf("星期日\n"); break ;}}运行结果自测五程序代码#include<stdio.h>void main(){int a,s,w;printf("input the weight of thing and s \n"); scanf("%d,%d",&a,&s);if(a<=15)printf("收费为5元\n");if(a>15&&a<=30)printf("收费9元\n");if(a>30&&a<=45)printf("收费12元\n");if(a>45&&a<=60){if(s<1000)printf("收费14元\n");else{ w=14+s/1000;printf("收费%d元\n",w);}}if(a>60){if(s<1000)printf("收费15元\n");else{w=15+2*(s/1000);printf("收费%d元\n",w);}}}运行结果自测练习五实验1程序代码#include<stdio.h>void main (){int i,j=1,a,b,c,d,e;for(i=10000;i<=99999;i+=5){ a=i/10000;b=i%10000/1000;c=i%1000/100;d=i%100/10;e=i%10;if (a+b+c+d+e==9)j=j+1;}printf("这样的五位数有%d个\n",j-1);}运行结果实验2程序代码#include<stdio.h>void main (){char a;int i;for (i=1;;i++){a=getchar();if(a=='\n') break;switch(a){case '0':printf(" zero ");break;case '1':printf(" one ");break;case '2':printf(" two ");break;case '3':printf(" three ");break;case '4':printf(" four ");break;case '5':printf(" five ");break;case '6':printf(" six ");break;case '7':printf(" seven ");break;case '8':printf(" eight ");break;case '9':printf(" nine ");break;}}}运行结果实验3程序代码#include<stdio.h> void main (){int i,j,s=0,a=0,n; printf("Input n :"); scanf("%d",&n); for (i=1;i<=n;i++) {for(j=1;j<=i;j++) a=a+j;s=s+a;a=0;}printf("s=%d\n",s); }运行结果实验4程序代码#include<stdio.h>void main (){int i,j,a=0;for (i=10;i<=1000;i++){for(j=1;j<i;j++)if (i%j==0) a=a+j;if (i==a) printf("i=%d\n",i); a=0;}getchar();getchar();}运行结果实验5程序代码#include<stdio.h>void main (){int i,j=1;for (i=1;i<6;i++){j=(j+1)*2;}printf("一共摘了%d只桃子",j);getchar();getchar();}运行结果实验六——11程序代码#include<stdio.h>void as(float a[8]){int i;float s=0.00;for(i=0;i<8;i++)s+=a[i];printf("8个数的和为%f\n",s);printf("8个数的平均数为%f\n",s/8);}void main(){int j;float b[8];printf("输入8个浮点数\n");for(j=0;j<8;j++)scanf("%f",&b[j]);as(b);}程序代码2程序代码#include<stdio.h>void as(long b[],long m ); void main(){long i,j,n,g=0;long a[1000];for(i=2;i<1000;i++){n=0;for(j=1;j<i;j++){if(i%j==0)n=n+1;}if(n-1==0){a[g]=i;g++;}}as(a,g);}void as(long b[],long m ){long i,j,s,N;for(N=6;N<1000;N+=2)for(i=0;i<m;i++){s=0;for(j=0;j<m;j++){s=b[i]+b[j];if(s==N){printf("%d符合歌德巴赫猜想\n",N); break;}}if(s==N)break;}}运行结果4程序代码#include<stdio.h>int y(int k);void main(){int a,b,c;printf(" 年月日\n");scanf("%d %d %d",&a,&b,&c);if(y(a)==0){switch(b){case 1:printf("这是该年中的第%d天\n",c); break;case 2:printf("这是该年中的第%d天\n",31+c); break;case 3:printf("这是该年中的第%d天\n",59+c); break;case 4:printf("这是该年中的第%d天\n",90+c); break;case 5:printf("这是该年中的第%d天\n",120+c); break;case 6:printf("这是该年中的第%d天\n",151+c); break;case 7:printf("这是该年中的第%d天\n",181+c); break;case 8:printf("这是该年中的第%d天\n",212+c); break;case 9:printf("这是该年中的第%d天\n",243+c); break;case 10:printf("这是该年中的第%d天\n",273+c); break;case 11:printf("这是该年中的第%d天\n",304+c); break;case 12:printf("这是该年中的第%d天\n",334+c); break;}}if(y(a)==1){switch(b){case 1:printf("这是该年中的第%d天\n",c);break;case 2:printf("这是该年中的第%d天\n",31+c);break;case 3:printf("这是该年中的第%d天\n",60+c);break;case 4:printf("这是该年中的第%d天\n",91+c);break;case 5:printf("这是该年中的第%d天\n",121+c);break;case 6:printf("这是该年中的第%d天\n",152+c);break;case 7:printf("这是该年中的第%d天\n",182+c);break;case 8:printf("这是该年中的第%d天\n",213+c);break;case 9:printf("这是该年中的第%d天\n",244+c);break;case 10:printf("这是该年中的第%d天\n",274+c);break;case 11:printf("这是该年中的第%d天\n",304+c);break;case 12:printf("这是该年中的第%d天\n",335+c);break;}}}int y(int k){if(k%4==0&&k%100!=0||k%400==0)return 1;elsereturn 0;}程序代码2程序代码#include<stdio.h>void as(long b[],long m ); void main(){long i,j,n,g=0;long a[1000];for(i=2;i<1000;i++){n=0;for(j=1;j<i;j++){if(i%j==0)n=n+1;}if(n-1==0){a[g]=i;g++;}}as(a,g);}void as(long b[],long m ) {long i,j,s,N;for(N=6;N<1000;N+=2)for(i=0;i<m;i++){s=0;for(j=0;j<m;j++){s=b[i]+b[j];if(s==N){printf("%d符合歌德巴赫猜想\n",N); break;}}if(s==N)break;}3#include<stdio.h>void zsx(int b[],int k);void main(){int i,j,n=0,g=0;int a[50];for(i=10;i<50;i++){n=0;for(j=2;j<i;j++)if(i%j==0)n=n+1;if(n==0){a[g]=i;g++;}}printf("两位数的绝对素数有:\n"); zsx(a,g);}void zsx(int b[],int k){int i,a,h,j,n=0;int c[50];for(i=0;i<=k;i++){ a=b[i]/10;h=b[i]%10;c[i]=h*10+a;}for(i=0;i<=k;i++){for(j=2;j<c[i];j++)if(c[i]%j==0)n=n+1;if(n==0)printf("%d ",c[i]);} printf("\n");}#include<stdio.h>int y(int k);void main(){int a,b,c;printf(" 年月日\n");scanf("%d %d %d",&a,&b,&c);if(y(a)==0){switch(b){case 1:printf("这是该年中的第%d天\n",c); break; case 2:printf("这是该年中的第%d天\n",31+c); break; case 3:printf("这是该年中的第%d天\n",59+c); break; case 4:printf("这是该年中的第%d天\n",90+c); break; case 5:printf("这是该年中的第%d天\n",120+c); break; case 6:printf("这是该年中的第%d天\n",151+c); break; case 7:printf("这是该年中的第%d天\n",181+c); break; case 8:printf("这是该年中的第%d天\n",212+c); break; case 9:printf("这是该年中的第%d天\n",243+c); break; case 10:printf("这是该年中的第%d天\n",273+c); break; case 11:printf("这是该年中的第%d天\n",304+c); break; case 12:printf("这是该年中的第%d天\n",334+c); break; }}if(y(a)==1){switch(b){case 1:printf("这是该年中的第%d天\n",c);break; case 2:printf("这是该年中的第%d天\n",31+c);break; case 3:printf("这是该年中的第%d天\n",60+c);break; case 4:printf("这是该年中的第%d天\n",91+c);break; case 5:printf("这是该年中的第%d天\n",121+c);break;case 6:printf("这是该年中的第%d天\n",152+c);break; case 7:printf("这是该年中的第%d天\n",182+c);break; case 8:printf("这是该年中的第%d天\n",213+c);break; case 9:printf("这是该年中的第%d天\n",244+c);break; case 10:printf("这是该年中的第%d天\n",274+c);break; case 11:printf("这是该年中的第%d天\n",304+c);break; case 12:printf("这是该年中的第%d天\n",335+c);break; }}}int y(int k){if(k%4==0&&k%100!=0||k%400==0)r eturn 1;elser eturn 0;}#include<stdio.h>float f(float n,float x){float k;k=(n+x)*(n+x)*(n+x)+(n+x)-1;return k;}void main(){float a;float x;printf("input two number\n");scanf("%f %f",&a,&x);printf("%f\n",f(a,x));}#include<stdio.h> long p(int n){int i,s=1;for(i=1;i<=n;i++)s=s*i;return s;}long s(int b){int i,m=0;for(i=1;i<=b;i++)m=m+p(i);return m;}void main(){int x,y;printf("input two number\n"); scanf("%d %d",&x,&y); printf("%f\n",(s(x)*1.0)/s(y)); }#include<stdio.h>long p(int a){static j;long s=1;for(j=1;j<=a;j++)s=s*j;return s;}void main(){static i;float m=0;for(i=1;((i+1)*1.0)/p(i)>=1e-6;i++)m=m+((i+1)*1.0)/p(i);printf("%f\n",m);}#include<stdio.h>char b[100];void ms(char a[]){int i,s1=0,s2=0,s3=0,s4=0;for(i=0;a[i]!='\0';i++){if(a[i]==' ')s1=s1+1;else if(a[i]>='0'&&a[i]<='9')s2=s2+1;else if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')s3+=1;elses4+=1;}printf("数字:%d;字母:%d;空格:%d;其他字符:%d\n",s2,s3,s1,s4); }void main(){gets(b);ms(b);}1#include<stdio.h>#include<string.h>void main(){char a[10]="12456",b[2];char c[11];int i,j,n;n=strlen(a);printf("%d\n",n);printf("input a number\n");gets(b);if(a[0]>b[0]){c[0]=b[0];for(i=1;i<=n+1;i++)c[i]=a[i-1];}else if(b[0]>a[n-1]){for(i=0;i<=n-1;i++)c[i]=a[i];c[n]=b[0];c[n+1]='\0';}else{for(i=0;i<=n-1;i++){if(b[0]>=a[i]&&b[0]<=a[i+1]){for(j=0;j<=i;j++)c[j]=a[j];c[i+1]=b[0];for(j=i+2;j<=n;j++)c[j]=a[j-1];c[j]='\0';break; }}}printf("%s\n",c); }2#include<stdio.h>#include<string.h>void main(){char a[100];int i,k=0,n;printf("input 字符串\n"); gets(a);n=strlen(a);for(i=0;i<n/2;i++){ if(a[i]!=a[n-i-1]){ printf("No\n");break;}elsek=k+1;}if(k==n/2)printf("Yes\n");}3#include<stdio.h>#define n 30void sp(float b[]);void su(float c[]);void main(){int i;float a[n];printf("输入%d个人的成绩\n",n);for(i=0;i<n;i++){scanf("%f",&a[i]);}sp(a);su(a);}void sp(float b[]){int i;float s=0,max,min;for(i=0;i<n;i++)s=s+b[i];max=b[0];min=b[0];for(i=1;i<n;i++){if(b[i]>=max)max=b[i];elsemin=b[i];}printf("平均分:%f\n max:%f\n min:%f\n ",(s*1.0)/n,max,min); }void su(float c[]){int i,s1=0,s2=0,s3=0,s4=0,s5=0;for(i=0;i<n;i++){ if(c[i>=90&&c[i]<=100])s1+=1;if(c[i]>=80&&c[i]<90)s2+=1;if(c[i]>=70&&c[i]<80)s3+=1;if(c[i]>=60&&c[i]<70)s4+=1;if(c[i]<60)s5+=1;}printf("90~100有%d人\n",s1);printf("80~89有%d人\n",s2);printf("70~79有%d人\n",s3);printf("60~69有%d人\n",s4);printf("59以下有%d人\n",s5);}4-1#include<stdio.h>#define n 10void main(){ int a[n][n],i,j;for(i=1;i<n;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<n;i++){for(j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<n;i++){ printf(" ");for(j=1;j<=i;j++)printf("%-5d",a[i][j]);printf("\n");}}4-2#include<stdio.h>#define N 12void main(){int a[N][N],i,j,n;for(i=1;i<=N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<=N;i++){for(j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<=N;i++){for(n=1;n<=(N+8-i)-N/2;n++)printf(" ");for(j=1;j<=i;j++){ printf("%-3d",a[i][j]);printf(" ");}printf("\n");}printf("\n");}5#include"stdio.h"#define N 3void s(int b[][N]);void main(){int i,j,a[N][N];printf("input %d number\n",N*N);for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);s(a);for(i=0;i<N;i++)printf("第%d行的最大数为%d\n",i+1,a[i][N-1]); }void s(int b[N][N]){int i,j,t;for(i=0;i<N;i++)for(j=0;j<N-1;j++){if(b[i][j]>=b[i][j+1]){t=b[i][j+1];b[i][j+1]=b[i][j];b[i][j]=t;} }}6#include<stdio.h>void main(){ char a[1000];int i,s=0;printf("输入一串英文单词,单词中间以空格分开\n"); gets(a);for(i=0;a[i]!='\0';i++)if(a[i]==' ')s+=1;printf("该字符串共有%d个单词\n",s+1);}7#include<stdio.h>void main(){char a[100],b[100],c[200];int i,j;printf("输入两个字符串\n");gets(a);gets(b);for(i=0;a[i]!='\0';i++)c[i]=a[i];for(j=0;b[j]!='\0';j++)c[i+j]=b[j];c[i+j]='\0';printf("%s\n",c);}8#include<stdio.h>#include<string.h>void main(){int i,j=0,n;char a[100],c[100];printf("输入一个字符串\n"); gets(a);n=strlen(a);for(i=1;i<n;i++){if(a[i]!='b'){c[j]=a[i];j++;}}c[j]='\0';printf("%s\n",c);}。

相关文档
最新文档