设为首页 加入收藏

TOP

C语言基础考试题(一)
2015-07-16 12:04:11 来源: 作者: 【 】 浏览:184
Tags:语言基础 试题

//

// main.m

// C语言考试题库

//

// Created by MRBean on 15/5/20.

// Copyright (c) 2015年 MRBean. All rights reserved.

//

?

#import

?

/** 5 , 12题

* 判断一个数是否是质数

*

* @param x 要判断的数

*

* @return 返回0代表不是质数,1代表质数

*/

int isZhiShu(int x)

{

int count = 0;

for (int i=1; i<=x; i++) {

if (x%i==0) {

count++;

}

}

if (count==2) {

return 1;

}

return 0;

}

?

//=============================================================

?

/**

* 6.

* 写出一个计算三角形面积的函数

*/

typedef struct SanJiaoXing

{

double a;//三角形的一条边长度

double b;

double c;

?

}SanJiaoXing;//定义一个结构体变量,变量类型是 SanJiaoXing

?

double mianJi(SanJiaoXing s)//第6题计算三角形的面积

{

?

double area = 0;//三角形的面积

if (s.a +s.b >s.c && s.a +s.c >s.b && s.b +s.c >s.a )//能构成三角形的条件是任意两边之和大于第三边

{

double r = (s.a + s.b + s.c)/2;

area = sqrt(r*(r-s.a)*(r-s.b)*(r-s.c));//使用海伦公式来计算面积

printf("三角形的面积是 %g",area);

return area;

}

else

{

printf("不能构成三角形!");

return area;

?

}

?

?

}

//===============================================

?

/**

* 7.判断圆是否重叠

*

*/

?

//定义一个圆结构体

typedef struct Circle

{

double x;//圆心的x坐标

double y;//圆心的y坐标

double r;//圆的半径

}Circle;

?

int chongDie(Circle a,Circle b)

{

double distance = sqrt(pow(a.x-b.x, 2)+pow(a.y-b.y, 2));//圆心之间的距离

double radiusSum = a.r+b.r;

if(distance

{

printf("两个圆之间重叠!\n");

return 1;//重叠

}

else {

printf("两个圆不重叠!\n");

return 0;//不重叠

?

}

}

?

//====================================

/**

* 8.字符串加密

*

*/

?

char *JiaMi(char str[])

{

for (int i=0; str[i]; i++) {

if (str[i]=='z') {

str[i]='a';

}

else if (str[i]=='Z')

{

str[i]='Z';

}

else if ((str[i]>='A' && str[i]<='Y') || (str[i]>='a'&&str[i]<='y'))

{

str[i]++;

}

?

}

printf("加密之后的字符串是 %s",str);

return str;

}

?

//===============================================

/**

* 11.定义一个3个顶点(使用结构体),判断该3个点是否可以构成三角形,如果可以构成三角形,计算三角形的面积(海伦公式);否则打印”不能构成三角形”.

*

*/

?

//定义就一个点结构体类型

typedef struct

{

double x;

double y;

}MPoint;

?

//根据三角形的三个顶点计算其面积

double mianJi2(MPoint a,MPoint b,MPoint c)

{

double len1 = sqrt(pow(a.x-b.x, 2)+pow(a.y-b.y, 2));//ab之间的距离

double len2 = sqrt(pow(a.x-c.x, 2)+pow(a.y-c.y, 2));//ac之间的距离

double len3 = sqrt(pow(c.x-b.x, 2)+pow(c.y-b.y, 2));//cb之间的距离

double area = 0;//三角形的面积

if (len1+len2>len3 && len1+len3>len2 && len2+len3>len1)

{

double r = (len1 + len2 +len3)/2;

area = sqrt(r*(r-len1)*(r-len2)*(r-len3));

printf("三角形的面积是%g",area);

return area;

}

?

else

{

printf("这三个点不能构成三角形!");

return area;

}

?

}

?

?

//=================================================

?

?

?

?

?

?

?

?

?

int main(int argc, const char * argv[]) {

?

//==========================================

/**

* 1.输入两个正整数m,n。输出其最大公约数和最小公倍数

* 使用辗转相除法求两个数a,b的最大公约数c

*/

?

// int m;

// int n;

// printf("请输入两个数:\n");

// scanf("%d%d",&m,&n);

// int temp = m*n;//暂存m*n乘积,以便来计算最小公倍数

// int c = m%n;

// while (c!=0) {

// m = n;//除数作为被除数

// n = c;//余数作为除数

// c = m%n;

// }

// printf("最大公约数:%d,最小公倍数%d\n",n,temp/n);

?

// ==============================================

/**

* 2,输入一行字符串,分别统计大写字母和小写字母的个数

*/

?

// char str[1000];

// int count1 = 0;//小写个数个数

// int count2 = 0;//大写

// printf("请输入一个字符串\n");

// gets(str);

// for (int i=0; str[i]!='\0'; i++) {

// if (str[i]>='a' && str[i]<='z') {

// count1++;

// }

// else if (str[i]>='A' && str[i]<='Z') {

// count2++;

// }

// }

// printf("大写字母的个数是 %d,小写字母的个数是%d",count1,count2);

?

//================================================

?

/**

* 3,输入两个正整数,a和n 程序输出 a+aa+aaa+...(a...a)(n个a)的值

*/

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据结构之---C语言实现链式队列 下一篇通讯录(C语言)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: