❶ 潭浩强c语言设计.(三版)第5 章里的一道习题,帮我解一下
按我的理解这题在了解圆锥体是由一个直角三角形旋转360度而成之后就只涉及到一些初中的知识(两点距离公式,平行线性质),最后的v即为所求
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double len( double x1, double y1, double x2, double y2 );
void main()
{
double x = 0.0;
double y = 0.0;
int st = 0;
double h = 10.0;
double c = 0.0;
double r = 1.0;
double v = 0;
scanf("%lf %lf", &x, &y );
if( ( c = len( 2, 2, x, y ) ) < r ) st = 1;
else if( ( c = len( 2,-2, x, y ) ) < r ) st = 1;
else if( ( c = len( -2, -2, x, y ) ) < r ) st = 1;
else if( ( c = len( -2, 2, x, y ) ) < r ) st = 1;
else v = 0;
if( st != 0 )
{
v = ( r-c )*h / r;
}
printf("v = %lf\n",v);
}
double len( double x1, double y1, double x2, double y2 )
{
return sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );
}
❷ c语言程序设计的黄容、赵毅主编
1.1一个C语言程序
1.2计算机程序设计与程序设计语言
1.2.1程序与指令
1.2.2程序设计语言
1.3C语言的发展与应用现状
1.4C语言的特点
1.4.1C语言的优势
1.4.2如何学习C语言程序设计
1.4.3C语言的语法特点
1.4.4C语言的结构特点
1.4.5C语言的编译与编程环境
习题
第2章用C语言编写简单程序
2.1在屏幕上显示自定义文字“Hello World!”
2.1.1程序解析
2.1.2程序的三种结构
2.2摄氏温度与华氏温度换算(简单的顺序结构程序的编写)
2.2.1程序解析
2.2.2常量、变量和数据类型
2.2.3赋值运算和算术运算
2.2.4格式化输出函数printf
2.3判断一元二次方程是否有实数解(简单的分支结构程序的编写)
2.3.1程序解析
2.3.2关系运算
2.3.3if…else二分支语句
2.3.4格式化输入函数scanf
2.4计算自由落体反弹高度和总距离(简单的循环结构程序
——for语句的编写)
2.4.1指定次数的循环程序设计
2.4.2for语句
2.4.3计算自由落体反弹高度和总距离
2.4.4程序解析
习题
第3章分支结构程序设计
3.1从键盘输入一个控制命令字符,判断输入是否正确
3.1.1程序解析
3.1.2字符类型
3.1.3逻辑运算符和逻辑表达式
3.1.4字符型数据的输入和输出
3.2分支结构程序设计——求解一元二次方程
3.2.1程序解析
3.2.2if 语句的三种形式
3.2.3if 语句的嵌套
3.3模拟工程控制,根据指令进行相应的操作
3.3.1程序解析
3.3.2switch语句
习题
第4章循环结构程序设计
4.1输入一批学生的成绩,统计平均分
4.1.1程序解析
4.1.2while语句
4.1.3数列问题求解
4.2用牛顿迭代法求方程2x3-4x2+3x-6=0的根
4.2.1程序解析
4.2.2do…while 语句
4.2.3循环语句的选择
4.3打印九九乘法表
4.3.1程序解析
4.3.2循环的嵌套
4.4求素数
4.4.1程序解析
4.4.2用break语句和continue语句改变循环状态
4.5复杂循环结构程序设计
4.5.1傅里叶级数逼近
4.5.2数据处理与回归分析
习题
第5章C语言的数据类型和表达式
5.1C语言的基本数据类型
5.2常量和变量
5.2.1常量
5.2.2变量
5.3运算符和表达式
5.3.1算术运算符和算术表达式
5.3.2强制类型转换运算符
5.3.3自增、自减运算符
5.3.4赋值运算符和赋值表达式
5.3.5关系运算符和表达式
5.3.6逻辑运算符和表达式
5.3.7条件表达式
5.3.8逗号表达式
5.4综合程序设计案例
5.5算法与程序设计
习题
第6章数组
6.1排序问题
6.1.1程序解析
6.1.2一维数组的定义和引用
6.1.3一维数组的初始化
6.1.4使用一维数组编程
6.2找出矩阵中最大值所在的位置
6.2.1程序解析
6.2.2二维数组的定义和引用
6.2.3二维数组的初始化
6.3数据通信过程中的信息加密问题
6.3.1程序解析
6.3.2一维字符数组
6.3.3字符串处理
习题
第7章函数
7.1用函数求几何图形的面积
7.1.1程序解析
7.1.2函数的定义
7.1.3函数的声明
7.1.4函数的调用
7.2用函数求Fibonacci数列
7.2.1程序解析
7.2.2形式参数与实际参数
7.2.3函数的返回值
7.2.4值传递与地址传递
7.3变量与函数
7.3.1局部变量和全局变量
7.3.2变量的存储类别
7.3.3函数的递归调用——求n!
习题
第8章指针及其应用
8.1替代用变量名引用数据的新方法
8.1.1指针概念的引入
8.1.2定义指针变量
8.1.3指针与变量的关系
8.1.4为指针变量赋值及指针变量的初始化
8.1.5利用指针变量进行数据处理
8.2指针和一维数组
8.3利用被调函数对主调函数中的数组元素进行冒泡排序
8.3.1指针变量作为函数参数
8.3.2数组名作为函数的参数
8.4字符串和字符指针
8.4.1字符串常量的值
8.4.2使用字符指针处理字符串的程序举例
习题
第9章结构体、共用体和枚举类型
9.1按价格排序输出一组待售汽车的信息
9.1.1程序解析
9.1.2结构体类型的概念和定义
9.1.3结构体类型变量的定义
9.1.4结构体类型变量的使用
9.1.5结构体变量作为函数参数
9.2编写一个书籍管理程序,显示所有书籍信息
9.2.1程序解析
9.2.2结构体数组
9.2.3结构体数组的应用实例
9.3共用体——每个时刻只能有一个成员占用内存的“结构体”
9.3.1程序解析
9.3.2共用体类型的定义
9.3.3共用体变量的定义
9.3.4共用体变量的引用
9.4让变量的取值局限于特定范围
9.4.1枚举类型的定义
9.4.2枚举变量的定义
9.4.3枚举类型的应用
9.5随心所欲地安排数据类型名——typedef的使用方法
9.5.1利用typedef定义类型名
9.5.2typedef的典型用法
习题
第10章宏定义与文件包含
10.1宏定义
10.1.1程序解析
10.1.2无参宏定义
10.1.3带参宏定义
10.2文件包含
10.3条件编译
习题
第11章文件
11.1将“欢迎卓越工程师”写入文件
11.1.1程序解析
11.1.2C文件概述
11.1.3文件指针
11.1.4文件的打开与关闭
11.2文件的读写——读取工程文件
11.2.1程序解析——读取工程文件
11.2.2字符读写函数fgetc和fputc
11.2.3字符串读写函数fgets和fputs
11.2.4数据块读写函数fread和fwrite
11.2.5格式化读写函数fscanf和fprintf
11.3文件的随机读写
11.3.1改变文件位置指针函数fseek( )
11.3.2位置指针重返文件头函数rewind( )
11.3.3位置指针当前值函数 ftell( )
11.3.4文件的随机读写
11.4文件检测函数
11.4.1文件结束检测函数feof函数
11.4.2读写文件出错检测函数ferror函数
11.4.3文件出错标志和文件结束标志置0函数clearerr函数
习题
附录AASCII编码表
附录BC语言常用的库函数
附录CC语言运算符优先级表
参考文献
❸ C语言题目解答~~
答案为:(OON,C)
首先,str是一个二维字符串数组,保存着"SUN""MOON""STAR""X"四个字符串,
*(str+1)表示str[1]的首地址,即"MOON"
*(str+1)+1后地址后移一位,打印的是"OON"
*(str+2)表示str[1]的首地址,即"STAR"
(*(st+2)+2)表示str[2][2]的地址,即'A'的地址,而*(*(st+2)+2)表示取出了这个字符,这个表达式的值就是'A'。而最后一个+2表示将"A"的ASCII码+2,即后移2位,就是'C'
❹ c语言程序设计习题三
1、r!=0 r=m%n
2、s=s+f(i)
3、i<n a[i] max
❺ C语言习题,请高人指导解答!
1. sizeof(float)是(B)。
A. 双精度型表达式
B.一个整型表达式
C. 一个函数调用
D. 一个不合法的表达式
满分:5 分
2. 对于条件表达式(M)?(a++):(a--),其中的表达式M等价于(B)。
A. M==0
B. M==1
C. M!=0
D. M!=1
满分:5 分
3. 若有定义:intx=7;floata=2.5,b=4.7;则表达式a+x%3*(int)(a+b)%2/4的值是(A)。
A. 2.5
B. 2.75
C. 3.5
D. 0
满分:5 分
4. 下面四个选项中,均是C语言关键字的选项是(B)。
A. auto enumin clude
B. switch typedef continue
C. signenionscanf
D. if struct type
满分:5 分
5. 下列关于switch语句和break语句的结论中,只有(B)是正确的。
A.break语句是switch语句的一部分
B. 在switch语句中可以根据需要使用或不使用break语句
C. 在switch语句中必须使用break语句
D. "以上三个结论有两个是正确的"
满分:5 分
6. 在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是(全都不是)。
A. (2>x>-2)||(4>x>8)
B. ((x<=-2)||(x>=2)||((x>4)||(x>=8))
C. (x<2)(x>=-2)(x>4)(x<8)
D. (x>-2)(x>4)||(x<8)(x<2)
满分:5 分
7. 以下是正确的C语言标识符是(B)。
A. #define
B. _123
C. %d
D. \n
满分:5 分
8. 以下叙述中不正确的是(B)
A. 在C程序中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 在C程序的函数中,最好使用全局变量
C. 在C程序中,形参只是局限于所在函数
D. 在C程序中,函数名的存储类别为外部
满分:5 分
9. 已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为(B)。
A. D
B. 68
C. 一个不确定的值
D. C
满分:5 分
10. 若有定义:intA[3][4];能表现数组元素A[1][1]的是(没有!C有点像,是不是写错了?(*(A+1))[1]正确)
A. (A[1]+1)
B. *(A[1][1])
C. (*(A+1)[1])
D. *(A+5)
满分:5 分
11. 设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是(B)。
A. 0~255
B. 0~65535
C. -32768~+32767
D. -256~+255
满分:5 分
12. 若x为float型变量,则以列程序段结果是(B)x=1234.6789;printf(“%-2.1f”,x);
A. 输出格式描述符的域宽度不够,不能输出
B. 输出为1234.7
C. 输出为1234.6
D. 输出为-1234.6
满分:5 分
13. 下面四个选项中,均是合法转义字符的选项是(A)。
A. \'' '\\' '\n'
B. "\''\017''\""'"
C. \018''\f''xab'
D. \\0''\101''xlf'
14. 有两个字符数组a、b,则以下正确的输入语句是(没有正确的)。
A. gets(a,b);
B. "scanf(""%s%s"",a,b);"
C. "scanf(""%s%s"",a,b);"
D. "gets(""a""),gets(""b"");"
15. 下列四组选项中,均不是C语言关键字的选项是(A)。
A. define IFtype
B. get cchar printf
C. include scanf case
D. whilegopow
❻ C语言 编程考试题,求解答。
这些都是一些很简单的题目。我现在没有事做,就帮你写写吧。等着,我在编。
这是第二题的程序:
#include<stdio.h>
voidmain()
{
intyear;
printf("请输入年份:");
scanf("%d",&year);
if((year%400==0)||(year%4==0&&year%100!=0))
printf("%d年是闰年。",year);
else
printf("%d年不是闰年。",year);
}
这是第三题的程序:
#include<stdio.h>
intmax(inta,intb)
{
intt;
t=a<b?a:b;
returnt;
}
floatarea(intr)
{
returnr*r*3.1415926;
}
voidmain()
{
inta,b;
intr;
printf("请输入2个数值:");
scanf("%d%d",&a,&b);
r=max(a,b);
printf("半径为%d的园的面积为%f。",r,area(r));
return;
}
以下是第四题的程序:
#include<stdio.h>
intreverse(inta)
{
intsum=0;
while(a>0)
{
sum=sum*10+a%10;
a/=10;
}
returnsum;
}
voidmain()
{
inta;
printf("请输入数值:");
scanf("%d",&a);
printf("数值%d逆序输出为%d。",a,reverse(a));
return;
}
以下是第五题的程序:
#include<stdio.h>
voidmain()
{
inta[10]={0,1,2,3,4,5,6,7,8,9};
intsum=0;
inti;
for(i=0;i<10;i++)
sum+=a[i];
printf("用数组计算的结果为%d ",sum);
sum=0;
for(i=0;i<10;i++)
sum+=*(a+i);
printf("用指针计算的结果为%d ",sum);
return;
}
以下是第六题的程序:
#include<stdio.h>
#include<string.h>
voidmain()
{
chara[20];
inti,j;
printf("Pleaseinput:");
scanf("%s",a);
j=strlen(a);
for(i=0;i<j;i++)
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
printf("变成大写输出为:%s",a);
return;
}
以下是第七题的程序:
#include<stdio.h>
#include<string.h>
structComputer
{
charname[10];
intsum;
};
voidmain()
{
inti;
structComputerpc[3]={{"lenovo",0},{"fondon",0},{"dell",0}};
charbuff[10];
for(i=0;i<10;i++)
{
printf("请输入电脑的名字:");
scanf("%s",buff);
if(strcmp(pc[0].name,buff)==0)
pc[0].sum++;
elseif(strcmp(pc[1].name,buff)==0)
pc[1].sum++;
elseif(strcmp(pc[2].name,buff)==0)
pc[2].sum++;
else
printf("输入错误,此票作废! ");
}
for(i=0;i<3;i++)
printf("电脑%s的得票为%d. ",pc[i].name,pc[i].sum);
return;
}
全部写玩了,全部测试过,完全可以编译,没有问题。
满意请采纳,谢谢。
❼ c语言程序设计课后习题解答与实验指导
#include<stdio.h>
int max(int x,int y,int z)
{
int t;
t=x>y?x:y;
t=t>z?t:z;
return(t);
}
int min(int x ,int y,int z)
{
int t;
t=x<y?x:y;
t=t<z?t:z;
return(t);
}
int aver(int x ,int y,int z)
{
int t;
t=(x+y+z)/3;
return(t);
}
void main()
{ int x,y,z,a,b,c;
scanf("%d,%d,%d",&x,&y,&z);
a=(*max)(x,y,z);
b=(*min)(x,y,z);
c=(*aver)(x,y,z);
printf("%d,%d,%d\n",a,b,c);
}
建议改成:
#include<stdio.h>
int max(int x,int y,int z)
{
int t;
t=x>y?x:y;
t=t>z?t:z;
return(t);
}
int min(int x ,int y,int z)
{
int t;
t=x<y?x:y;
t=t<z?t:z;
return(t);
}
float aver(int x ,int y,int z)
{
int t;
t=(float)((x+y+z)/3.0);
return(t);
}
void main()
{ int x,y,z,a,b;float c;
scanf("%d,%d,%d",&x,&y,&z);
a=(*max)(x,y,z);
b=(*min)(x,y,z);
c=(*aver)(x,y,z);
printf("max=%d\nmin=%d\naver=%g\n",a,b,c);
}