华南农业大学C语言实验上机实验第四版参考答案.

合集下载

华南农业大学C语言实验上机实验第四版参考答案

华南农业大学C语言实验上机实验第四版参考答案

华南农业大学C语言实验上机实验第四版参考答案c语言程序设计上机实验指导与习题参考答案(第四版)实验1c语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

(2)了解在该系统上如何编辑、编译、连接和运行一个c程序。

(3)通过运行简单的c程序,初步了解c程序的特点。

(4)在教师的指导下,学会使用在线评判系统。

二、实验内容1.运行第一个c程序[题目:thefirstcprogram]将下列程序输入visualc++,编译、连接和运行该程序。

#include\main(){printf(\}[具体操作步骤](1)在编辑窗口中输出程序。

(2)留存程序,取名为a1.c。

(3)按照第一章中介绍的方法,编译、连接和运行程序。

(4)按照第三章了解的方法,将代码递交至在线评判系统,系统回到“通过”,则该题顺利完成。

2.在在线评判系统中提交实现了计算a+b功能的程序[题目1001:排序a+b]由键盘输入两个整数,计算并输出两个整数的和。

实现该功能的程序如下,#include\main(){inta,b;scanf(\printf(\}(1)在程序编辑窗口中输出程序。

(2)留存程序,取名为a2.c。

(3)按照前二章中介绍的方法,编译、连接和运行程序。

(4)在程序运行过程中,输入1530l(l则表示输出回车符)(5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。

45(6)按照第三章中了解的方法步入在线评判系统。

(7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。

(8)查阅回去题目建议后,页面页面下端的“sumbit”,参考第二章递交程序的方法递交程序a2.c。

(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。

3实验2基本数据类型、运算和表达式一、实验目的(1)掌握c语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。

c语言第四版习题2答案

c语言第四版习题2答案

c语言第四版习题2答案C语言第四版习题2答案在学习C语言编程的过程中,习题是非常重要的一部分。

通过解答习题,我们可以加深对C语言知识的理解,提高编程能力。

在C语言第四版中,习题2是一个非常基础的练习,但是掌握好这些基础知识对于后续学习和实践都非常重要。

习题2要求我们编写一个简单的C程序,输出一行文本。

这个习题看似简单,但是却考察了我们对C语言基本语法的掌握和理解。

通过编写这个程序,我们可以加深对C语言输出函数的理解,同时也可以熟悉C语言的编译和运行过程。

下面是习题2的答案示例:```c#include <stdio.h>int main() {printf("Hello, world!\n");return 0;}```这个程序非常简单,但是却包含了很多基本的知识点。

首先是#include<stdio.h>,这是包含标准输入输出库的语句,我们需要在程序中包含这个头文件才能使用printf函数。

然后是int main(),这是程序的入口函数,所有的C程序都必须包含这个函数。

在main函数中,我们使用printf函数输出了一行文本"Hello, world!\n",\n表示换行。

最后是return 0;,这是程序的返回值,0表示程序正常结束。

通过编写和运行这个程序,我们可以深入理解C语言的基本语法和程序结构。

这个习题虽然简单,但是却是我们学习C语言编程的第一步,只有打好基础,我们才能在后续的学习和实践中更加游刃有余。

总之,C语言第四版习题2的答案虽然简单,但是却包含了很多基础知识点,通过认真学习和练习,我们可以更加深入地理解C语言编程,为日后的学习和实践打下坚实的基础。

希望大家能够认真对待每一个习题,不断提高自己的编程能力。

c语言第四版课后习题答案

c语言第四版课后习题答案

c语言第四版课后习题答案C语言第四版课后习题答案在学习C语言第四版课程后,许多学生都会遇到各种各样的问题和疑惑。

为了帮助大家更好地掌握C语言的知识,我们整理了一些课后习题的答案,希望能够对大家有所帮助。

1. 什么是C语言?C语言是一种通用的高级程序设计语言,它广泛应用于系统软件、应用软件、驱动程序、网络通信等领域。

C语言具有高效、灵活、可移植等特点,是程序员必备的基本技能之一。

2. C语言的基本语法有哪些?C语言的基本语法包括数据类型、变量、运算符、控制语句、函数等。

学习C 语言首先要掌握这些基本语法,才能够编写出正确的程序。

3. 如何定义一个变量?在C语言中,可以使用关键字“int”、“float”、“char”等来定义不同类型的变量。

例如:int a; // 定义一个整型变量afloat b; // 定义一个浮点型变量bchar c; // 定义一个字符型变量c4. 如何进行条件判断?在C语言中,可以使用“if”、“else”、“switch”等关键字来进行条件判断。

例如:if (a > b) {printf("a大于b");} else {printf("a小于等于b");}5. 如何定义一个函数?在C语言中,可以使用关键字“void”、“int”、“float”等来定义不同类型的函数。

例如:int max(int a, int b) {if (a > b) {return a;} else {return b;}}通过学习C语言第四版课程,我们可以更好地理解和掌握C语言的知识,提高自己的编程能力。

希望大家能够通过不断练习和实践,掌握C语言的基本原理和技巧,成为一名优秀的程序员。

华南农业大学c语言上机考试题目

华南农业大学c语言上机考试题目

1打印数字空心菱形Time Limit:1000MS Memory Limit:65536K题型: 编程题语言: 无限制描述由键盘输入n(n为奇数),打印如下图空心菱形例n=712 23 34 43 32 21输入格式整数输出格式如题输入样例3输出样例12 21作者Admin答案:#include <stdio.h>#include <math.h>int main(){int n,i,j;scanf("%d",&n);n/=2;for(i=-n;i<=n;++i){for(j=0;j<2*n+1-abs(i);++j){if(j==abs(i)||j==2*n-abs(i)){printf("%d",n-abs(i)+1);}else{printf("\040");}}printf("\n");}return 0;}2两数和为1909Time Limit:1000MS Memory Limit:65536K题型: 编程题语言: 无限制描述由键盘输入10个整数,编程判断是否存在两个数的和为1909,存在输出Y,不存在输出N输入格式10个整数,由空格分隔输出格式Y或者N输入样例2 1900 42 3123 31 23 343 213 34 9输出样例Y提示作者Admin#include<stdio.h>#include<stdlib.h>main(){int a[10];int i,j;int flag = 0;printf("input ten numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){for(j=0;j<10;j++)if(a[j] + a[i] == 1909 && i!=j){flag = 1;break;}}if(flag) printf("Y\n");else printf("N\n");system("pause");}3回文串的判断Time Limit:1000MS Memory Limit:65536K题型: 编程题语言: 无限制描述回文串是指一个字符串从左读到右与从右读到左是一样的,现由键盘输入一行字符(最多不超过80个字符,以回车结束),判断能否通过去掉0个或1个字符,使得字符串成为回文串,如果可以输出Y,否则输出N输入格式一行字符输出格式Y或N输入样例abca输出样例Y提示提示,去掉c字符,即可成为回文串作者Admin#include "stdio.h"#include "string.h"int main(){int n;char a[100]="abca";int i,j,flag;n=strlen(a);i=0;j=n-1;flag=0; // characters qty need insertedwhile ( (flag<2) // only need 0 or 1 character&& ((i+1)<=(j-1)) // have character to compare){if (a[i]==a[j]) {i++; j--;}else if (a[i]==a[j-1]) {flag++; i++; j-=2;}else if (a[i+1]==a[j]) {flag++; i+=2; j--;}else flag=2;}if (flag<2) printf("Y");else printf("N");return 0;}二:#include<stdio.h>#include<conio.h>#define SIZE 20int isPalindrome(char []); /* Prototype only send the number and type of arguments to the Compiler. */main(){ /*Local Declarations*/char str[SIZE];/*Statements*/printf("请输入字符串,以回车结束:\n");scanf("%s",str); /*Record the string.*/if(isPalindrome(str)==0) /*The string is not a palindrome.*/ { printf("The string is not a palindrome.\n"); }else /*The string is a palindrome.*/{ printf("The string is a palindrome.\n"); }system("pause");return 0;}三:#include<stdio.h>#include<string.h>void main(){char str[20],copy[20];char temp;char *head,*tail;printf("Please input a string:\n");gets(str);strcpy(copy,str);head=str;tail=str+strlen(str)-1;while(head<tail){temp=*head;*head++=*tail;*tail--=temp;}if(strcmp(copy,str)==0)printf("该字符串为回文。

c语言第四版习题答案

c语言第四版习题答案

c语言第四版习题答案C语言第四版习题答案C语言作为一门广泛应用于计算机编程领域的编程语言,其重要性不言而喻。

对于初学者来说,通过解答习题可以更好地理解和掌握C语言的基本概念和语法规则。

本文将为读者提供C语言第四版习题的答案,帮助读者更好地学习和巩固C语言的知识。

第一章:计算机概述1. 题目:计算机的五大组成部分是什么?答案:计算机的五大组成部分包括输入设备、输出设备、中央处理器(CPU)、主存储器和辅助存储器。

2. 题目:什么是二进制?答案:二进制是一种用0和1表示数字和字符的计算机语言。

计算机内部的所有数据都以二进制形式存储和处理。

第二章:C语言基础1. 题目:C语言的注释有几种形式?答案:C语言的注释有两种形式,分别是单行注释(以双斜杠“//”开头)和多行注释(以“/*”开头,“*/”结尾)。

2. 题目:C语言中的变量有哪些基本数据类型?答案:C语言中的变量有基本数据类型,包括整型(int)、字符型(char)、浮点型(float和double)和无类型(void)。

第三章:运算符和表达式1. 题目:C语言中的赋值运算符有哪些?答案:C语言中的赋值运算符包括“=”(简单赋值)、“+=”(加后赋值)、“-=”(减后赋值)等。

2. 题目:C语言中的逻辑运算符有哪些?答案:C语言中的逻辑运算符包括“&&”(逻辑与)、“||”(逻辑或)和“!”(逻辑非)。

第四章:控制语句1. 题目:C语言中的if语句和switch语句有什么区别?答案:if语句根据条件的真假来执行不同的代码块,而switch语句根据表达式的值来选择执行哪个代码块。

2. 题目:C语言中的循环语句有哪些?答案:C语言中的循环语句包括for循环、while循环和do-while循环。

第五章:数组和指针1. 题目:C语言中如何定义一个一维数组?答案:C语言中可以通过指定数组的类型和大小来定义一个一维数组,例如int array[10]表示定义一个包含10个整型元素的数组。

c语言第四版习题2答案

c语言第四版习题2答案

c语言第四版习题2答案C语言第四版习题2答案C语言作为一门广泛应用于计算机科学和软件工程领域的编程语言,其重要性不言而喻。

而对于学习C语言的人来说,练习和理解习题是非常重要的一部分。

本文将为大家提供C语言第四版习题2的答案,帮助大家更好地掌握C语言的知识。

习题2主要涉及C语言的基础知识和语法,包括变量的定义和使用、数据类型、运算符、控制流等内容。

下面我们将逐一解答这些习题,帮助读者更好地理解和掌握C语言的基本概念。

1. 编写一个程序,要求用户输入一个整数,然后输出该整数的平方和立方。

解答:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("该整数的平方是:%d\n", num * num);printf("该整数的立方是:%d\n", num * num * num);return 0;}```2. 编写一个程序,要求用户输入两个整数,然后输出这两个整数的和、差、积和商。

解答:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("和:%d\n", num1 + num2);printf("差:%d\n", num1 - num2);printf("积:%d\n", num1 * num2);printf("商:%d\n", num1 / num2);return 0;}```3. 编写一个程序,要求用户输入一个华氏温度,然后将其转换为摄氏温度并输出。

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 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

(2)了解在该系统上如何编辑、编译、连接和运行一个 C程序。

(3)通过运行简单的 C 程序,初步了解 C程序的特点。

(4)在教师的指导下,学会使用在线评判系统。

二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。

includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。

(2)保存程序,取名为a1.c。

(3)按照第一章中介绍的方法,编译、连接和运行程序。

,则该题完成。

4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。

实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。

(2)保存程序,取名为a2.c。

(3)按照前二章中介绍的方法,编译、连接和运行程序。

(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。

45(6)按照第三章中介绍的方法进入在线评判系统。

(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。

(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。

(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。

华农C语言教材习题答案

华农C语言教材习题答案

华农C语言教材习题答案注:答案仅供参考分期还款:#include#includeint main(){double d, p,r;scanf("%lf%lf%lf",&d,&p,&r);printf("%.1f", log10(p/(p-d*r))/log10(1+r)); return 0;}计算分段函数函数值:#includeint main(){double x;scanf("%lf",&x);if(x<1) printf("%.2f", x);else if(x>=1 && x<10) printf("%.2f", 2*x-1); else printf("%.2f", 3*x-11);}成绩等级评分:#include#includeint main(){int score;scanf("%d", &score);if(score>100 || score<0)printf("error");else if(score>=90)printf("A");else if(score>=80)printf("B");else if(score>=70)printf("C");else if(score>=60)printf("D");elseprintf("E");return 0;}20秒后时间:#include#includeint main(){int h,m,s;scanf("%d:%d:%d", &h,&m,&s); s=s+20;if(s>59){s=s%60;m++;if(m>59){m=m%60;h++;if(h>23)h=0;}}printf("%02d:%02d:%02d\n", h, m, s); return 0;}分期还款(加强版):#include#includeint main(){double d, p,r;scanf("%lf%lf%lf",&d,&p,&r);if(d==0)printf("0.0\n");else if(d*(1+r)-p>d)printf("God\n");else{printf("%.1f", log10(p/(p-d*r))/log10(1+r)); }return 0;}字母分类统计:#include#includeint main(){char ch;int nL=0, nN=0, nS=0, nO=0;while((ch=getchar())!='\n'){if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')nL++;else if (ch>='0'&&ch<='9')nN++;else if (ch==' ')nS++;elsenO++;}printf("%d %d %d %d\n", nL, nN, nS, nO); return 0;}计算数列和:#includemain(){ int i,n;double a=2,b=1,s=0;scanf("%d",&n);for(i=1;i<=n;i++){ s=s+a/b;a=a+b;b=a-b;}printf("%.4f\n",s);}自由落体:#include#includeint main(){double sum=-100, d=100; int i,n;scanf("%d", &n);for(i=1; i<=n; i++){sum+=2*d;d/=2;}printf("%.3f %.3f", sum, d); return 0;}迭代法求平方根:#include#includeint main(){double a, x0, x1=1;scanf("%lf", &a);do{x0=x1;x1=1.0/2*(x1+a/x1);}while(fabs(x1-x0)>=1e-5); printf("%.4lf\n", x1); return 0;}打印三角形:#include#define abs(x) ((x)>=0?(x):-(x)) int main(){int n,i,j;scanf("%d", &n);for(i=-(n-1); i<=(n-1); i++) {for(j=0; j<="" p="">printf(" ");for(j=0; j<="" p="">printf("*");printf("\n");}return 0;}勾股数:#include#includeint main(){int i,j,k,n;scanf("%d", &n);for(i=1; i<=n; i++)for(j=i; j<=n; j++){k=(int)sqrt(i*i+j*j);if(k*k==i*i+j*j && k<=n) printf("%d %d %d\n", i,j,k);}return 0;}插入数据:int n,i;scanf("%d", &n);for(i=14; i>=0; i--)if(a[i]>n) a[i+1]=a[i]; else break;a[i+1]=n;输出不同的数:#include"stdio.h"main(){ int a[20];int i,t,p=0;for(i=0;i<10;i++){ scanf("%d",&a[i]);for(t=0;t<i;t++)< p=""> if(a[t]==a[i])break;if(t==i)printf("%d\n", a[i]);}}鞍点:#include#includeint main(){int i,j,a[3][4],flag=0,col,r; for(i=0;i<3;i++)for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++){col=0;for(j=1;j<4;j++)if(a[i][j]>a[i][col]) col=j; for(j=0;j<4;j++){if(a[i][j]==a[i][col]) {for(r=0;r<3;r++)if(a[r][j]<="" p="">if(r==3){printf("%d\n", a[i][j]); flag=1;}}}}if(!flag)printf("NO\n");return 0;}回文串:#include "stdio.h"#include "string.h" main(){ int i, j;char buf[100];scanf("%s",buf);for(i=0, j=strlen(buf)-1;i<="" p=""> if(buf[i]!=buf[j]) break;if(i>=j)printf("Y");elseprintf("N");}ASCII码值之和的差:#includeint sum(char *s){int t=0,i=0;while(s[i]!='\0')t+=s[i++];return t;}int main(){char s1[81],s2[82];gets(s1);gets(s2);printf("%d", sum(s1)-sum(s2)); return 0;}所有数字之和:#include "stdio.h"int sum(int n){int ret=0;while(n>0){ret+=n%10;n/=10;}return ret;}main(){int n;scanf("%d", &n);printf("%d", sum(n));}元音字母:#include "stdio.h"void yuan(char *s,char *s2){while(*s!='\0'){if(*s=='a' ||*s=='o' ||*s=='e' ||*s=='i' ||*s=='u' || *s=='A' ||*s=='O' ||*s=='E' ||*s=='I' ||*s=='U'){*s2=*s; s2++;}s++;}*s2='\0';}main(){char str[81], str2[81];gets(str);yuan(str,str2);printf("%s", str2);}字符统计:#include#include#includeint nL=0, nN=0;int statistics(char *s){int ret=0;while(*s!='\0'){if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')nL++;else if (*s>='0'&&*s<='9') nN++;else if (*s==' ')ret++;s++;}return ret;}int main(){char s[81];int nS;gets(s);nS = statistics(s);printf("%d %d %d\n", nL, nN, nS); return 0;}选择排序:#includeint sort(int a[], int n){int i,j,k,tmp;for(i=0;i<="" p="">{k=i;for(j=i+1; j<="" p="">if(a[k]>a[j]) k=j;tmp=a[k];a[k]=a[i];a[i]=tmp;}}int main(){int a[10];int i;for(i=0; i<10; i++) scanf("%d", &a[i]); sort(a,10);for(i=0; i<10; i++) printf("%d\n", a[i]); return 0;}x的n次方:#includeint F(int x, int n){if(n==1) return x;else return F(x, n-1)*x;}int main(){int x, n;scanf("%d%d", &x, &n); printf("%d", F(x, n));return 0;}行列互换:#includevoid s *a, int *b){int temp;temp=*a;*a=*b;*b=temp; }void col(int a[][4], int i, int j) {int k;for(k=0; k<4; k++)s[k][i], &a[k][j]);}void row(int a[][4], int i, int j) {int k;for(k=0; k<4; k++)s[i][k], &a[j][k]);}int main()int a[4][4];int i,j;for(i=0; i<4; i++)for(j=0; j<4; j++)scanf("%d", &a[i][j]);col(a,0,2);row(a,0,2);col(a,1,3);row(a,1,3);col(a,0,3);row(a,0,3);for(i=0; i<4; i++){for(j=0; j<4; j++)printf("%d ", a[i][j]);printf("\n");}return 0;}学生信息统计:#includevoid average(double a[][5], int n) { int i,j;double sum;for(i=0; i<="" p="">{sum=0;for(j=0; j<5; j++)sum+=a[i][j];printf("%.2f ", sum/5);printf("\n");}void average2(double a[][5], int n) {int i,j;double sum;for(j=0; j<5; j++){sum=0;for(i=0; i<="" p="">sum+=a[i][j];printf("%.2f ", sum/n);}printf("\n");}void top(double a[][5], int n) {int i,j; double max;for(j=0; j<5; j++){max=a[0][j];for(i=1; i<="" p="">if(a[i][j]>max) max = a[i][j]; printf("%.2f ", max);}printf("\n");}int main(){double a[10][5];int i, j;for(i=0; i<10; i++)for(j=0; j<5; j++)scanf("%lf", &a[i][j]);average(a,10);average2(a,10);top(a,10);return 0;}一年的第几天:#includestruct DATE{int year;int month;int day;};int days(struct DATE date){int day,sum;if(date.year%4==0&&date.year%100!=0||date.year%400== 0) {day=29;}else{day=28;};switch(date.month){case 1:sum=0;break;case 2:sum=31;break;case 3:sum=31+day;break;case 4:sum=62+day;break;case 5:sum=92+day;break;case 6:sum=123+day;break;case 7:sum=153+day;break;case 8:sum=184+day;break;case 9:sum=215+day;break;case 10:sum=245+day;break;case 11:sum=276+day;break;case 12:sum=306+day;break;};return(sum+date.day);}int main(){struct DATE d;scanf("%d-%d-%d", &d.year, &d.month, &d.day); </i;t++)<>。

C上机实验4含答案及代码

C上机实验4含答案及代码

特别注意事项:1,文件名“_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。

程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。

特别注意事项:1,文件名“_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。

程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。

实验4_1_1/*************************************************使用全局变量,求两正整数的最大公约数和最小公倍数*************************************************/#include <iostream>using namespace std;int maxgy;int maxgb;void fun(int a,int b){int t,i;if(a<b){t=a;a=b;b=t;} // 求的a为最大数i=b;while(i>=1){if(b%i==0 && a%i==0){maxgy=i;break;}i--;}i=a;while(i>=a){if(i%a==0 && i%b==0){ maxgb=i;break;}i++;}}void main (){ int x,y;cout<<"input data x,y:";cin>>x>>y;fun (x,y);cout<<"该两个数的最大公约数是:"<<maxgy<<endl;cout<<"该两个数的最大公倍数是:"<<maxgb<<endl;}程序说明:将两正整数的最大公约数和最小公倍数都设为全局变量,先做好函数的声明和定义,再用main主函数调用。

C语言程序设计第四版答案

C语言程序设计第四版答案

C语言程序设计第四版答案C语言程序设计是一门广泛应用于计算机编程的高级编程语言,被广泛地应用于软件开发、系统编程等领域。

作为一门计算机语言,学习者在学习的过程中可能会遇到一些问题,需要寻找相应的答案。

本文将提供C语言程序设计第四版中一些常见问题的答案,帮助读者更好地理解和掌握C语言。

1. 题目一答案Q: 在C语言中,如何声明一个整型变量?A: 在C语言中,我们可以使用关键字`int`来声明一个整型变量。

例如:`int num;`表示声明了一个名为`num`的整型变量。

2. 题目二答案Q: 如何实现C语言中的条件语句?A: C语言中的条件语句可以使用`if`语句来实现。

例如:```cif (condition) {// 如果条件成立,执行这里的代码} else {// 如果条件不成立,执行这里的代码}```其中`condition`是一个逻辑表达式,根据条件的真假来决定执行哪一段代码块。

3. 题目三答案Q: 如何使用循环语句实现重复执行的功能?A: C语言中的循环语句有多种形式,常见的有`for`循环和`while`循环。

例如:```cfor (int i = 0; i < 10; i++) {// 循环执行的代码块}```上述代码表示从0到9,共执行10次循环。

我们可以通过修改循环条件和循环体内的语句来实现不同的循环需求。

4. 题目四答案Q: 如何进行变量的输入和输出?A: C语言中,我们可以使用`scanf`函数来从用户输入读取数据,并使用`printf`函数来进行输出。

例如:```cint num;scanf("%d", &num); // 从用户输入读取一个整数并赋值给变量numprintf("输入的数字是:%d\n", num); // 打印变量num的值```需要注意的是,`scanf`和`printf`函数的格式控制符需要与变量的类型相匹配。

C语言程序设计上机习题答案华南农业大学

C语言程序设计上机习题答案华南农业大学

C语言程序设计上机实验指导与习题参考答案华南农业大学上机实验实验 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);1printf("%d", a + b);}(1)在程序编辑窗口中输入程序。

(2)保存程序,取名为 a2.c。

(3)按照前二章中介绍的方法,编译、连接和运行程序。

(4)在程序运行过程中,输入15 30↙(↙表示输入回车符)(5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。

45(6)按照第三章中介绍的方法进入JudgeOnline实验系统。

(7)显示题目列表,点击题号为1001,题名为“计算 a+b”的题目。

(8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。

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

格式:一题号一答案,相对应1001#include "stdio.h"int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a+b);}1007#include "stdio.h"int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a+b);}1014#include"stdio.h"void main(){float area,r;scanf("%f",&r);area=3.14159*r*r;printf("%0.2f",area);}1015#include<stdio.h>void main(){float f,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f",c);}1016#include<stdio.h>main(){char a,b,c,d,e;scanf("%c%c%c%c%c",&a,&b,&c,&d,&e); if(a<='Z'&&a>='A')a=a+32;if(b<='Z'&&b>='A')b=b+32;if(c<='Z'&&c>='A')c=c+32;if(d<='Z'&&d>='A')d=d+32;if(e<='Z'&&e>='A')e=e+32;printf("%c%c%c%c%c",a,b,c,d,e);}1017#include "stdio.h"void main(){int n,place;scanf("%ld",&n);if(n>99999999)place=9;else if(n>9999999)place=8;else if(n>999999)place=7;else if(n>99999)place=6;else if(n>9999)place=5;else if(n>999)place=4;else if(n>99)place=3;else if(n>9)place=2;else place=1;printf("%ld\n",place);}1018#include<stdio.h>main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);}1019#include"stdio.h"main(){int a,b,c,d,e;scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);if(a%27==0)printf("YES\n");else printf("NO\n"); if(b%27==0)printf("YES\n");else printf("NO\n"); if(c%27==0)printf("YES\n");else printf("NO\n"); if(d%27==0)printf("YES\n");else printf("NO\n");if(e%27==0)printf("YES\n");else printf("NO\n"); }1020#include"stdio.h"main(){int n;scanf("%d",&n);if(n<0)printf("negative\n");else printf("positive\n");if(n%2==0)printf("even\n");else printf("odd\n");}1023#include<stdio.h>int main(){float a,b,c;char op;scanf("%f%c%f",&a,&op,&b);switch(op){case'+':c=a+b;break;case'-':c=a-b;break;case'*':c=a*b;break;case'/':c=a/b;break;default:printf("error");break;}printf("result=%.2f",c);}1024#include<stdio.h>void main(){long i,n=1,a;scanf("%ld",&a);for(i=1;i<=a;i++)n=n*i;printf("%ld\n",n);}1025#include<stdio.h>void main(){long n,sum=0,i,t=1;scanf("%ld",&n);for(i=1;i<=n;i++){sum=sum+t;t=t+2;}printf("%ld\n",sum);}1026#include<stdio.h>void main(){char c;int s=0,a;while((c=getchar())!='\n') {if(c>='0'&&c<='9'){a=c-48;s=s+a;}}printf("%d",s);}1028#include<stdio.h>#include<math.h>main(){int m,k,i;for(m=2;m<=200;m++) {k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>k)printf("%d\n",m); }}1029#include<stdio.h>void main(){long r,m,n;scanf("%ld,%ld",&m,&n); while(m!=0){r=n%m;n=m;m=r;}printf("%ld\n",n);}1030#include<stdio.h>void main(){char c;while((c=getchar())!='\n'){if(c>='A'&&c<='Z')c=c+32;putchar(c);}}1031#include <stdio.h>void main(){int i,num=0,word=0;char c;for(i=0;(c=getchar())!='\n';i++)if(c==' ')word=0;else if(word==0){word=1;num++;}printf("%d",num);}1035#include"stdio.h"#include"math.h"void main(){int n,i,j,k;scanf("%d",&n);for(i=1;i<=2*n+1;i++){k=abs(n+1-i);for(j=1;j<=k;j++)printf("");for(j=1;j<=2*n+1-2*k;j++)printf("*"); printf("\n");}}1037#include<stdio.h>main(){int i,t,n;float a=2,b=1,s=0;scanf("%d",&n);for(i=1;i<=n;i++){s=s+a/b;t=a;a=a+b;b=t;}printf("%.4f\n",s);}1038#include<stdio.h>#include<math.h>main(){int n,i,j,k,h;scanf("%d",&n);for(i=-n+1;i<=n-1;i++){for(j=0;j<abs(i);j++)printf(" ");for(k=1;k<=n-abs(i);k++)printf("%d",k); for(h=n-abs(i)-1;h>=1;h--)printf("%d",h); printf("\n");}}1039#include<math.h>main(){int a[10];int i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=9;i>=0;i--)printf("%d\n",a[i]);}1040#include"stdio.h"main(){int a[20];int i,t,p=0;for(i=0;i<20;i++){scanf("%d",&a[i]);for(t=0;t<i;t++)if(a[t]==a[i])break;if(t==i)p++;}printf("%d",p);}1042#include<stdio.h>#include<math.h>void main(){int m,i;scanf("%d",&m);for(i=1;i<=38;i++)if(0.01*(pow(2,i-1)-1)-i*m>=0)break; printf("%d",i-1);}1044#include"stdio.h"main(){int i,t,min;scanf("%d",&min);for(i=1;i<10;i++){scanf("%d",&t);if(t<min)min=t;}printf("%d\n",min);}1046#include"stdio.h"#include"string.h"main(){int a[100]={0},b[100]={0},c[100]={0}; char s[101];int i=0,n1=0,n2=0,max=0,e=0;gets(s);n1=strlen(s);for(i=n1-1;i>=0;i--)a[n1-1-i]=s[i]-'0'; gets(s);n2=strlen(s);for(i=n2-1;i>=0;i--)b[n2-1-i]=s[i]-'0';if(n1>n2)max=n1;else max=n2;for(i=0;i<=max;i++){c[i]=(a[i]+b[i]+e)%10;e=(a[i]+b[i]+e)/10;}if(c[max]>0)printf("%d",c[max]); for(i=max-1;i>=0;i--)printf("%d",c[i]);}1047#include<stdio.h>main(){int a[10];int i,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){for(j=0;j<9-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<10;i++)printf("%d",a[i]);}1050#include"stdio.h"main(){int i,j;char a[80],b[80];gets(a);gets(b);for(i=0;a[i]!='\0';i++){for(j=0;b[j]!='\0';j++)if(a[i+j]!=b[j])break;if(b[j]=='\0')break;}if(a[i]!='\0')printf("%d",i+1); else printf("Not Found");}1051#include<stdio.h>main(){int i,j,k,a[3][4],max,maxj,flag; for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];maxj=0;for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];maxj=j;}flag=1;for(k=0;k<3;k++)if(max>a[k][maxj]){flag=0;break;}if(flag){printf("%d",max);break;}}if(!flag)printf("NO");}1059#include"stdio.h"int f(int m,int n){int r;while((r=m%n)!=0){m=n;n=r;}return n;}main(){int a,b,n;scanf("%d%d",&a,&b);printf("%d\n",f(a,b));}1062#include<stdio.h>void main(){int a[3][4],b[4][3],i,j; for(i=0;i<3;i++)for(j=0;j<4;j++) {scanf("%d",&a[i][j]); b[j][i]=a[i][j];}for(i=0;i<4;i++){for(j=0;j<3;j++) printf("%d",b[i][j]); printf("\n");}}1065#include"stdio.h" main(){printf("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");}1083long fanc(int a) {long i,n=1;for(i=1;i<=a;i++)n=n*i; return n;}void main(){int n;scanf("%d",&n);printf("%ld",fanc(n)); }1084#include"stdio.h"void fun(int i){if(i>1)fun(i/2);printf("%d",i%2);}main(){int n;scanf("%d",&n);fun(n);}1091#include"stdio.h"void swap(int*p1,int*p2){int temp;temp=*p1;*p1=*p2;*p2=temp;}int main(){int a,b;int*pa,*pb;scanf("%d%d",&a,&b);pa=&a;pb=&b;if(a<b)swap(pa,pb);printf("%d%d\n",a,b);}1092#include"stdio.h"#include"string.h"int f(char*p){return strlen(p);}int main(){char s[80];int i;scanf("%s",s);i=f(s);printf("%d",i);}1117#include"stdio.h"void main(){int a,b;/*定义整型变量a和b*/ int i,j;/*定义实型变量i和j*/b=6;i=3.14;j=i*a*b;printf("a=%d,b=%d,i=%f,j=%f\n",a,b,i,j); }1118#include "stdio.h"void main(){ float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e='\\';printf("%f,%d,%d,%c,%c", a,b,c,d,e);}1119#include"stdio.h"void main(){int a,b,c;float d=15,e,f;a=35%7;b=15/10;c=b++;e=15/10;f=d/10;printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f); }1120#include"stdio.h"#include"math.h"void main(){float a,b;scanf("%f,%f",&a,&b);if(fabs(a*a+b*b-1)<1e-3)printf("Y\n");else printf("N\n");}}#include"string.h"void main(){char s[80];/*定义字符数组s*/ strcpy(s,"abcdefghijklmn");printf("%s",s);}1122#include"stdio.h"#include"string.h"main(){char s[100]="";char a[30];gets(a);strcat(s,a);gets(a);strcat(s,a);gets(a);strcat(s,a);/*可以写多行代码*/printf("%s",s);}1123#include"stdio.h"void main(){char s[50];printf("What's your name?");gets(s);/*由键盘读入字符串*/ printf("Your name is",);printf("%s",s);/*打印字符串*/}1124int f1(int x){static int z=3,y=0;y++;z++;return(x+y+z);}main(){int a=1,k;for(k=0;k<3;k++)printf("%4d",f1(a)); }/*定义结构体类型*/struct student{char name[20];char sex;int num;float score;}main(){struct student stu;scanf("%s",);scanf("%*c%c",&stu.sex);scanf("%d",&stu.num);scanf("%f",&stu.score);printf("%s\n",);printf("%c\n",stu.sex);printf("%d\n",stu.num);printf("%f\n",stu.score);}1126#include "stdio.h"void main(){ char ch;ch = getchar();putchar(ch);}1127#include "stdio.h"void main(){int a,b;scanf("%d%*c%d",&a,&b); printf("%d", a+b);}1145/*判断一个数是否是回文数;*/#include<stdio.h>int main(void){int val;int m,sum=0;printf("请输入数字:");scanf("%d",&val);m=val;while(m){sum=sum*10+m%10;m/=10;}if(val==sum)printf("Y\n");elseprintf("N\n");return 0;}6567#include "stdio.h"main(){printf("The first C Program\n"); }6568#include <stdio.h>main(){printf("C:\\ABC.TXT");}11126#include <stdiio.h>int max(int x,int y){if(x>y)return x;else return y;}int main(){int a,b;scanf("%d%d",&a,&b);printf("%d\n",max(a,b));}结束!资源提供出处/bbs2/bbs2/forum.php。

c语言程序设计第四版课后习题答案

c语言程序设计第四版课后习题答案

c语言程序设计第四版课后习题答案C语言程序设计第四版是一本经典的编程教材,为学习C语言的初学者提供了全面的知识和实践指导。

在学习过程中,课后习题是巩固所学知识和提高编程能力的重要环节。

本文将为读者提供一些C语言程序设计第四版课后习题的答案,并探讨其中的一些关键概念和技巧。

第一章介绍了C语言的基本概念和编程环境的设置。

在课后习题中,有一个常见的问题是要求编写一个简单的Hello World程序。

这个程序非常简单,只需使用printf函数打印出"Hello World"即可。

通过这个练习,读者可以熟悉C语言的基本语法和函数的使用。

第二章讲解了C语言的数据类型和变量。

在课后习题中,有一个常见的问题是要求计算两个整数的和并输出结果。

读者可以使用scanf函数获取用户输入的两个整数,然后使用加法运算符计算它们的和,并使用printf函数输出结果。

通过这个练习,读者可以巩固对数据类型和变量的理解,并学会使用基本的输入输出函数。

第三章介绍了C语言的运算符和表达式。

在课后习题中,有一个常见的问题是要求计算一个圆的面积和周长。

读者可以使用宏定义或者变量来表示圆的半径,然后使用相应的公式计算面积和周长,并使用printf函数输出结果。

通过这个练习,读者可以熟悉算术运算符和数学函数的使用,同时加深对表达式和运算符优先级的理解。

第四章讲解了C语言的控制语句,包括条件语句和循环语句。

在课后习题中,有一个常见的问题是要求编写一个判断一个数是否为素数的程序。

读者可以使用循环语句和条件语句来实现这个功能,通过判断该数是否能被2到其平方根之间的数整除来确定是否为素数,并使用printf函数输出结果。

通过这个练习,读者可以熟悉条件语句和循环语句的使用,同时加深对算法设计和逻辑思维的理解。

第五章介绍了C语言的函数和递归。

在课后习题中,有一个常见的问题是要求编写一个递归函数来计算一个整数的阶乘。

读者可以使用递归的思想,将问题拆解成更小的子问题,并使用递归函数来解决。

C语言上机实验答案

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( “ Very Good\n ” );2、 #include <stdio.h>void main( ) { int a,b,c,d;printf( printf( );{ printf( );Please enter a,b: ”);scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b;printf( printf( }“ %d+%d=%d”\n ,a,b,c); “ %d*%d=%d\”n ,a,b,d);3、#include <stdio.h> #include <math.h> void main( ){ double x,s; printf( scanf( “ Please input value of x: ”); “%lf ”,&x);s=cos(x);printf(}“ cos(%lf)=%lf\n ”,x,s);4、#include <stdio.h>void main( ) { printf(printf( printf( printf(}“==================================”\n) ; “ 1 输入数据 2 修改数据\n ”);“ 3 查询数据 4 打印数据\n ”);“===================================”\ n);5、#include <stdio.h> void main( ){ int x,y,t;printf( scanf( “ Please enter x and y: ”); “%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语言程序设计实验指导书参考答

华农C语言程序设计实验指导书参考答以下是为大家整理的华农c语言程序设计实验指导书参考答的相关范文,本文关键词为华农,语言,程序设计,实验,指导书,参考,题目,1118,赋,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

[题目1118:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:voidmain(){floata;intb,c;chard,e;a=3.5;b=a;c=330;d=c;4e='\\\\';printf(\}运行结果为:3.500000,3,330,J,\\[提示]赋值语句具有类型转换的功能,但可能会改变数据。

3.基本运算[题目1119:基本运算,写出程序运行结果]阅读下面程序,写出运行结果:voidmain(){inta,b,c;floatd=15,e,f;a=35%7;b=15/10;c=b++;e=15/10;f=d/1 0;printf(\}运行结果为:0,2,1,15.000000,1.000000,1.500000[提示]除法分整除与普通除法之分。

5[题目1126:字符的输入与输出]编程实现由键盘输入一个字符后,在屏幕上输出该字符。

参考程序:#include\main(){charch;ch=getchar();putchar(ch);}[题目1127:计算加法]编程实现由键盘输入一个加法式,输出正确的结果。

(两个加数均为整数)[第一组自测数据]参考程序:#include\main(){inta,b;scanf(\printf(\}[题目1014:求圆面积]参考程序:#include\main(){floatarea,r;scanf(\area=3.14159*r*r;printf(\}3[题目1015:计算摄氏温度值]参考程序:#includevoidmain(){floatf,c;scanf(\c=5.0/9*(f-32);printf(\}4参考程序:#include\#include\voidmain(){floata,b;scanf(\if(fabs(a*a+b*b-1)elseprintf(\}[题目1017:求数的位数]参考程序:main(){intn,place;scanf(\if(n>99999999)place=9;elseif(n>9999999)place=8;elseif(n>999999)place =7;elseif(n>99999)place=6;elseif(n>9999)place=5;elseif(n>999)place=4;e lseif(n>99)place=3;elseif(n>9)place=2;elseplace=1;printf(\}[题目1018:数的排序]3,6,9参考程序:#includemain(){inta,b,c,t;scanf(\if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;} printf(\}参考程序:#includemain(){chara,b,c,d,e;scanf(\if(a printf(\}#include\main(){inta,b,c,d,e;scanf(\if(a'==0)printf(\if(b'==0)printf(\if(c'==0)printf(\if(d'==0)printf(\if(e' ==0)printf(\}参考程序:#include\main(){intn;scanf(\if(n[题目1023:简单计算器]参考程序:#includeintmain(){floata,b,c;charop;scanf(\switch(op){case'+':c=a+b;break;case'-':c=a-b;break;case'*':c=a*b;break;case'/':c=a/ b;break;default:printf(\break;}printf(\}9[题目1024:计算阶乘]输入正整数n,计算n!,结果用长整型数表示(注n!=1*2*3*...*n)参考程序:#includemain(){longi,n=1,a;scanf(\for(i=1;i[题目1025:计算数列和]参考程序:#includemain(){longn,sum=0,i,t=1;scanf(\for(i=1;i printf(\}或#includemain(){longn,sum;scanf(\sum=n*n;printf(\}注:评判系统不对程序实现细节进行分析,只对运行结果进行评测。

c语言程序第四版课后习题答案

c语言程序第四版课后习题答案

c语言程序第四版课后习题答案C语言程序设计是计算机科学领域中最基础、最重要的编程语言之一。

无论是学习计算机科学专业的学生,还是从事软件开发的工程师,都需要掌握C语言的基本知识和编程技巧。

而《C语言程序设计(第四版)》则是一本经典的教材,为学习C语言的人提供了丰富的习题,以巩固和拓展所学知识。

本文将为读者提供一些《C语言程序设计(第四版)》课后习题的答案,希望能够帮助读者更好地理解和掌握C语言。

1. 编写一个程序,将输入的字符串反向输出。

```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");gets(str);int len = strlen(str);printf("反向输出的字符串为:");for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```这个程序首先使用`gets()`函数获取用户输入的字符串,然后使用`strlen()`函数获取字符串的长度。

接下来,使用一个循环逆序输出字符串中的每一个字符。

2. 编写一个程序,求1到100之间所有奇数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("1到100之间所有奇数的和为:%d", sum);return 0;}```这个程序使用一个循环,从1开始,每次增加2,即可遍历1到100之间的所有奇数。

在循环中,将每个奇数累加到变量`sum`中。

最后,输出`sum`的值即可。

华农c语言程序设计上机实验指导与习题答案

华农c语言程序设计上机实验指导与习题答案
实验实验实验4课堂课堂课堂课后课后课后101810181018数的排序数的排序数的排序includestdiohincludestdiohincludestdiohintmainintmainintmain100710071007判断整数是否为平方数判断整数是否为平方数判断整数是否为平方数includestdiohincludestdiohincludestdiohincludemathhincludemathhincludemathhintmainintmainintmainscanffz
scanf("%f",&rrr);
printf("%.2f",rrr*3.14159*rrr);
}
1015计算摄氏温度
#include <stdio.h>
int main()
{
float _temp;
scanf("%f",&_temp);
printf("%.2f",(_temp-32)*5/9);
}
while (n<81)
{
c=getchar();
if (c=='\n') break;
if (c<58&&c>47) _result=_result+c-48;
n++;
}
printf("%d",_result);
return 0;
}
1029
#include <stdio.h>
int main()
{
if (c[i]=='\n') break;
i++;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i=3.14; j=i*a*b;
printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i, j);
}
[具体操作步骤]
(1)将代码补充完整;
(2)在codeblocks或VC++上运行通过;
(3)在在线评判系统上提交;
[题目6568:在显示屏上显示指定字符]
要求编写一个程序,在显示屏上显示如下内容(全为半角字符,且不包括空格):
二、实验内容
[题目1126:字符的输入与输出]
编程实现由键盘输入一个字符后,在屏幕上输出该字符。
[第一组自测数据]
[键盘输入]
a↙
[正确输出]
a
[第二组自测数据]
[键盘输入]
+↙
[正确输出]
+
参考程序:
#include "stdio.h"
main()
{ char ch;
ch = getchar();
二、实验内容
1.变量的定义
[题目1117:变量定义,按要求完成程序]
下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺in()
{
int a, b; /*定义整型变量a和b*/
int i, j; /*定义实型变量i和j*/
a=5;
b=6;
intmain()
{ float a;
int b, c;
char d, e;
a=3.5;
b=a;
c=330;
d=c;
e='\141;
printf("%f,%d,%d,%c,%c", a,b,c,d,e);
}
运行结果为:
3.500000,3,330,J,a
[提示]赋值语句具有类型转换的功能,但可能会改变数据。
3.基本运算
[题目1119:基本运算,写出程序运行结果]
阅读下面程序,写出运行结果:
#include "stdio.h"
main()
{ int a, b, c;
float d=15, e, f;
a=35%7;
b=15/10;
c=b++;
e=15/10;
f=d/10;
printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f);
C语言程序设计上机实验指导与习题参考答案(第四版)
(学生改编)
实验1 C语言程序初步
一、实验目的
(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。
(3)通过运行简单的C程序,初步了解C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
main()
{ int a, b;
scanf("%d%d", &a, &b);
printf("%d", a + b);
}
(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入
15 30↙
(↙表示输入回车符)
(5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。
3
实验2基本数据类型、运算和表达式
一、实验目的
(1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运
算符的使用。
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
[正确输出]
13355.02
[第二组自测数据]
[键盘输入]
11.2↙
[正确输出]
394.08
[提示]结果保留两位小数可采用printf函数的格式控制字符来实现。
参考程序:
(3)按照第一章中介绍的方法,编译、连接和运行程序。
(4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。
2.在在线评判系统中提交实现了计算a+b功能的程序
[题目1001:计算a+b]
由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下,
#include "stdio.h"
二、实验内容
1.运行第一个C程序
[题目:The first C Program]
将下列程序输入visual c++,编译、连接和运行该程序。
#include"stdio.h"
main()
{
printf("The first C Program\n");
}
[具体操作步骤]
(1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
45
(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
C:\ABC.TXT
[提示]注意转义字符在程序中的使用。
参考程序:
#include "stdio.h"
int main()
{
printf("C:\\ABC.TXT");
}
2.赋值表达式与赋值语句
[题目1118:赋值表达式与赋值语句,写出程序运行结果]
阅读下面程序,写出运行结果:
#include "stdio.h"
}
运行结果为:
0,2,1,15.000000,1.000000,1.500000
[提示]除法分整除与普通除法之分。
5
实验3基本输入与输出
一、实验目的
(1)熟练掌握putchar、getchar、printf、scanf函数的使用方法。
(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
putchar(ch);
}
[题目1127:计算加法]
编程实现由键盘输入一个加法式,输出正确的结果。(两个加数均为整数)
[第一组自测数据]
[键盘输入]
10+20↙
[正确输出]
30
[第二组自测数据]
[键盘输入]
-15+60↙
[正确输出]
45
参考程序:
#include "stdio.h"
main()
{ int a, b;
scanf("%d%%d", &a,&b);
printf("%d", a+b);
}
[题目1014:求圆面积]
由键盘输入圆半径r,请计算该圆的面积。(注:π取3.14159,结果保留两位小数位;另外,程序只
要能对r在0到10000范围的情况输出正确答案即可)
[第一组自测数据] [键盘输入] 2
65.2↙
相关文档
最新文档