//
// main.c
// tt
//
// Created by Ibokan on 15/8/3.
// Copyright (c) 2015年 Ibokan. All rights reserved.
//
/*C考试题
1,输入一行字符串,统计小写字母的个数
2,打印100个质数
3,定义一个结构体包含圆心和半径,写一个函数,返回此圆形的面积以及圆心在第几象限
4,输入两个数,打印这两个数的最大公约和最小公倍数
5,计算 1-2+3-4+5-6+...100的结果
6,写一个函数,将字符串加密,加密规则为,a->b、z->a、A->B、Z->A以此类推
7,输入一个正整数n,求 1!+2!+...n!的值(n!表示n的阶乘)
8,用户输入10个数,返回最大值和最小值(数组实现)
9,输入一个数字,将其按位 拆开 例如 1234 ---> 1 2 3 4
10,判断字符串是否为回文字符串(qwerewq和qwerrewq均为回文字符串)
*/
//1,输入一行字符串,统计小写字母的个数
/*
#include <stdio.h>
#include <string.h>
int fun(char * string)
{
int length=(int)(strlen(string));
int i=0;
int count=0;
while (length)
{
if(((*(string+i)>='a'&&(*(string+i))<='z')))
{
count++;
}
i++;
length--;
}
return count;
}
int main(int argc, const char * argv[])
{
char str[255];
scanf("%s",str);
int count = fun(str);
printf("count = %d",count);
return 0;
}
*/
/*
#include <stdio.h>
void lowercaseCount()
{
char string[100];
int count = 0;
scanf("%s",string);
int length = strlen(string);
for (int i = 0; i <length; i++)
{
char c = string[i];
if (c>='a'&&c<='z')
{
count++;
}
}
printf("小写字母的个数是:%d",count);
}
int main(int argc, const char * argv[]) {
// insert code here...
lowercaseCount();
return 0;
}
*/
//2.打印100个质数
/*
#include <stdio.h>
#include <math.h>
void count()
{
int i=2;
int j,flag;
int count=0;
while (i)
{ flag=1;
for (j=2; j<i; j++)
{
if (i%j==0)
{ flag=0;
break;
}
}
if (flag==1)
{
count++;
printf("%d ",i);
}
i++;
if(count>=100)
{
return;
}
}
}
int main()
{
count();
}
*/
/*
*判断是否是质数
*是返回1 不是返回0
int checkPrimeNumber(int number)
{
if (number == 2)
{
return 1;
}
for (int i = 2; i < number ; i++)
{
if (number % i == 0)//如果能够被1和它本身以外的数整除
{
return 0;//返回0,不是质数
}
}
return 1;//如果一直不能被整除,说明还是质数,返回1
}
int main(int argc, const char * argv[])
{
int count = 0;
int i = 2;
while (count < 100)
{
if (checkPrimeNumber(i))
{
printf("%d: %d \n",count + 1,i);
count++;
}
i++;
}
return 0;
}
*/
//3,定义一个结构体包含圆心和半径,写一个函数,返回此圆形的面积以及圆心在第几象
/*
#include <stdio.h>
# define T 3.14
typedef struct wei
{
int x;
int y;
}wei;
typedef struct yuan
{
struct wei q;
int r;
}yuan;
double se(struct yuan p,int r)
{ double area;
area=T*(r*r);
if (p.q.x>0&&p.q.y>0)
{ printf("圆心在第一象限!\n");
}
if (p.q.x>0&&p.q.y<0)
{
printf("圆心在第二象限!\n");
}
if (p.q.x<0&&p.q.y>0)
{
printf("圆心在第三象限!\n");
}
if (p.q.x<0&&p.q.y<0)
{
printf("圆心在第四象限!\n");
}
return area;
}
int main()
{
struct yuan yuan1;
scanf("%d %d %d",&yuan1.q.x,&yuan1.q.y,&yuan1.r);
double area;
area=se(yuan1,yuan1.r);
printf("%.2lf\n",area);
}
*/
// 3,定义一个结构体包含圆心和半径,写一个函数,返回此圆形的面积以及圆心在第几象限
/*
#include <stdio.h>
#define PI 3.14
//点的结构体
typedef struct myPoint {
double x;//横坐标
double y;//纵坐标
} myPoint;
//圆的结构体
typedef struct Cricle {
myPoint point;//圆心
double r;//半径
}Cricle;
//判断圆心在第几象限
void checkPoint(Cricle cricle)
{
//如果x的坐标大于0,y的坐标大于0,位于第一象限
if (cricle.point.x > 0 && cricle.point.y > 0)
{
printf("圆心在第一象限\n");
}
//如果x的坐标小于0,y的坐标大于0,位于第二象限
else if (cricle.point.x < 0 && cricle.point.y > 0)
{
printf("圆心在第二象限\n");
}
//如果x的坐标小于0,y的坐标小于0,位于第三象限
else if (cricle.point.x < 0 && cricle.point.y < 0)
{
printf("圆心在第三象限\n");
}
//如果x的坐标大于0,y的坐标小于0,位于第四象限
else if (cricle.point.x > 0 && cricle.point.y < 0)
{
printf("圆心在第四象限\n");
}
//如果x的坐标等于0或者y的坐标等于0,位于坐标轴或者原点上
else if (cricle.point.x == 0 || cricle.point.y == 0)
{
printf("圆心坐标轴上\n");
}
}
//返回圆的面积
double Area(Cricle cricle)
{
double area = 0.0;
area = PI * cricle.r * cricle.r;
return area;
}
int main(int argc, const char * argv[]) {
Cricle cricle;
printf("请输入圆心坐标: ");
scanf("%lf %lf",&cricle.point.x,&cricle.point.y);
printf("请输入圆的半径: ");
scanf("%lf",&cricle.r);
printf("圆的面积是%g\n",Area(cricle));
checkPoint(cricle);
return 0;
}*/
//4.入两个数,打印这两个数的最大公约和最小公倍数
/*
#include <stdio.h>
int main()
{
int a,b,t;
scanf("%d %d",&a,&b);
if(a<b)
{t=b;
b=a;
a=t;
}
else
{
int r,p;
p=a*b;
while (b!=0)
{
r=a%b;
a=b;
b=r;
}
}
printf("最大公约数为%d\n",a);
printf("最小公倍数为%d\n",p/a);
}*/
//
// main.c
// C_exercise_Sun
//
// Created by 孙海金 on 15/8/3.
// Copyright (c) 2015年 Sun. All rights reserved.
//
/*
#include <stdio.h>
#include <string.h>
#include <math.h>
//返回number1和number2最小公倍数
int getMinMultiple(int number1,int number2)
{
int minMultiple = number1 > number2 ? number1 :number2;
while (1)
{
if (minMultiple % number1 == 0 && minMultiple % number2 == 0)
{
return minMultiple;
}
minMultiple++;
}
}
//求number1和number2的最大公约数
int getMaxCommandSubmultiple(int number1,int number2)
{
int minNumber = number1 < number2 ? number1 :number2;
for (int i = minNumber; i > 0; i--)
{
//如果number1和number2都能够被整除,既为最大公约数
if (number1 % i ==0 && number2 % i ==0) {
return i;
}
}
return 0;
}
int main(int argc, const char * argv[]) {
int number1,number2;
printf("请输入两个整数:");
scanf("%d %d",&number1,&number2);
printf("%d和%d的最小公倍数是:%d\n",number1,number2,getMinMultiple(number1, number2));
printf("%d和%d的最大公约数是:%d\n",number1,number2,getMaxCommandSubmultiple(number1,number2));
return 0;
}
*/
//5.计算 1-2+3-4+5-6+...100的结果
/*
#include <stdio.h>
int main()
{
int i;
int k=1;
int sum=0;
for (i=1; i<=100; i++)
{ sum=sum+i*k;
k=-k;
}
printf("%d\n",sum);
}*/
//6,写一个函数,将字符串加密,加密规则为,a->b、z->a、A->B、Z->A以此类推
/*
#include <stdio.h>
#include <string.h>
int main()
{
char str[20];
gets(str);
int l=(int)strlen(str);
int i=0;
while (l!=0)
{ str[i]=str[i]+1;
if (str[i]=='{')
{
str[i]='a';
}
if (str[i]=='[' )
{
str[i]='A';
}
i++;
l--;
}
puts(str);
}
*/
//
// main.c
// 6
//
// Created by 孙海金 on 15/8/3.
// Copyright (c) 2015年 Sun. All rights reserved.
//
/*
#include <stdio.h>
#include <string.h>
//加密字符串c
char *getString(char c[])
{
//获取字符串长度
int length = (int)strlen(c);
for (int i = 0; i<length; i++)
{
if (c[i] >= 'a' && c[i]<='y')
{
c[i] += 1;
}
else if(c[i] >= 'A' && c[i]<='Y')
{
c[i] += 1;
}
else if(c[i] == 'z')
{
c[i] = 'a';
}
else if(c[i] == 'Z')
{
c[i] = 'A';
}
}
return c;
}
int main(int argc, const char * argv[]) {
char c[255];
printf("请输入一个字符串:\n");
gets(c);
printf("输入的字符串是:%s\n",c);
char *d = getString(c);
printf("加密后的字符串是:%s\n",d);
return 0;
}*/
//7,输入一个正整数n,求 1!+2!+...n!的值(n!表示n的阶乘)
/*
#include <stdio.h>
int fun(int n)
{ int i;
int sum=1;
for (i=1; i<=n; i++)
{
sum*=i;
}
return sum;
}
int main()
{
int sum=0;
int i,n;
scanf("%d",&n);
for (i=1; i<=n; i++)
{
sum+=fun(i);
}
printf("%d\n",sum);
}
*/
//8,用户输入10个数,返回最大值和最小值(数组实现)
/*
#include <stdio.h>
int main()
{
int i;
int a[10];
int t;
for (i=0; i<10; i++)
{
scanf("%d",&a[i]);
}
int max=a[0];
int min=a[0];
for (i=0; i<10; i++)
{
if (a[i]>max)
{ t=a[i];
a[i]=max;
max=t;
}
}
printf("max=%d\n",max);
for (i=0; i<10; i++)
{
if (a[i]<min)
{t=a[i];
a[i]=min;
min=t;
}
}
printf("min=%d\n",min);
}
*/
//9.输入一个数字,将其按位 拆开 例如 1234 ---> 1 2 3 4
/*
#include <stdio.h>
int main()
{
int a,i;
i=0;
scanf("%d",&a);
int arr[10];
while (a>0)
{
arr[i]=a%10;
a=a/10;
i++;
}
while (i>=1) {
printf("%d ",arr[i-1]);
i--;
}
}
*/
// Copyright (c) 2015年 Sun. All rights reserved.
//
/*
#include <stdio.h>
int main(int argc, const char * argv[]) {
int number;
int numberArray[100];
int count = 0;//计数器
printf("请输入一个整数:\n");
scanf("%d",&number);
while (number != 0) {
numberArray[count] = number % 10;
number /= 10;
count++;
}
printf("拆开后的数字是:\n");
for (int i = count - 1;i >= 0; i--)
{
printf("%d ",numberArray[i]);
}
return 0;
}
*/
//10,判断字符串是否为回文字符串(qwerewq和qwerrewq均为回文字符串)
/*
#include <stdio.h>
#include <string.h>
int main()
{
char s[100];
gets(s);
int l=(int)strlen(s);
int i,j;
int flag=1;
for (i=0,j=l-1; i<l/2; i++,j--)
{
if (s[i]==s[j])
{ flag=1;
}
else
{flag=0;}
}
if (flag==1) {
printf("该字符串为回文字符串\n");
}
else
printf("该字符串不是回文字符串\n");
}
*/
//11.定义一个结构体包含三角形三个顶点,写一个函数,输入这个结构体变量,返回此三角形面积(注意三角形是否有效问题)
/*
#include<stdio.h>
#include <math.h>
typedef struct dian
{
int x;
int y;
}dian;
typedef struct yuan
{
dian x;
dian y;
dian z;
}yuan;
double sum(yuan yuan1)
{
double area;
double p,q,w,o;
p=(sqrt((pow((yuan1.x.x-yuan1.y.x),2))+pow((yuan1.x.y-yuan1.y.y),2)));
q=(sqrt((pow((yuan1.x.x-yuan1.z.x),2))+pow((yuan1.x.y-yuan1.z.y),2))); w=(sqrt((pow((yuan1.y.x-yuan1.z.x),2))+pow((yuan1.y.y-yuan1.z.y),2)));
if (p+q>w&&p+w>q&&q+w>p)
{
o=(q+p+w)/2;
area=sqrt(o*(o-q)*(o-p)*(o-w));
}
else{
return 0;
}
return area;
}
int main()
{
yuan yuan1;
yuan1.x.x=1;
yuan1.x.y=1;
yuan1.y.x=1;
yuan1.y.y=1;
yuan1.z.x=1;
yuan1.z.y=1;
double a;
a=sum(yuan1);
if (a!=0) {
printf("%.2lf",a);
}
else
printf("不能构成三角形!");
}
*/
浙公网安备 33010602011771号