/*
1. 用函数实现 : 随机产⽣生20个[10 , 100]的正整数,输 出这些数以及他们中的最大数
void getMaxOfArray()
{
int array[20]={0};
int max=0;
for (int i=0; i<20;i++) {
array[i]=arc4random()%(100-10+1)+10;
if (array[i]>max) {
max=array[i];
}
printf("%4d",array[i]);
}
printf(" max=%d",max);
}
2. 用函数实现 : 编程将所有“⽔水仙花数”打印出来, 并打印其总个数。 “⽔水仙花数”是一个各个位立方 之和等于该整数的三位数
void getDaffodilNumber()
{
int count=0;
for (int i=100; i<1000; i++) {
int x,y,z=0;
x=i%10;
y=i/10%10;
z=i/100;
if (x*x*x+y*y*y+z*z*z==i) {
printf("%4d",i);
count++;
}
}
printf(" count=%d",count);
}
3.⽤用函数实现 : 已知abc+cba = 1333,其中a,b,c均为 ⼀一位数,编程求出满⾜足条件的a,b,c所有组合
void getNumber()
{
for (int a=1; a<10; a++) {
for (int b=0;b<10; b++) {
for (int c=1;c<10;c++) {
if (a*100+b*10+c+c*100+10*b+a==1333) {
printf("%d,%d,%d\n",a,b,c);
}
}
} }
}
4. ⽤用函数实现:输⼊入⼀一个数,判断符号。如果⼤大于 0,输出“正数”;如果⼩小于0,输出“负数”;如果等 于0,输出“0”
void getNumber(int n)
{
if (n==0) {
printf("0");
}
else if(n>0)
{
printf("正数");
}
else
{
printf("负数");
}
}
5. ⽤用函数实现 : 输⼊入⼀一个整数,判断奇偶,并返回 判断结果(BOOL)
BOOL getOdd_event(int n)
{
BOOL result;
if (n%2==0) {
result=YES;
}
else
{
result=NO;
}
return result;
}
6.编写函数, 求⽅方程ax2+bx+c=0的根,并单独编写 函数求b2-4ac的值, a,b,c来源于键盘输⼊入
void getResult(float a,float b,float c)
{
float temp;
temp=b*b-4*a*c;
if (temp==0) {
printf("X1=%.2f,X2=%.2f",(-b)/(2*a),(-b)/(2*a));
}
else if(temp<0)
{
printf("方程无解!");
}
else
{
printf("X1=%.2f,X2=%.2f",(-b+sqrt(temp))/(2*a),(-b-sqrt(temp))/(2*a));
}
}
7. 调查如何将数组作为函数参数进⾏行传递
int data(int a[],int N);
8. 在第7题的调查基础上, 编写冒泡排序的函数
void sortArray(int a[],int N)
{
for (int i=0;i<N-1; i++) {
for (int j=0; j<N-1-i; j++) {
if (a[j]>a[j+1]) {
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}
void printArray(int a[],int n)
{
for (int i=0; i<n; i++) {
printf("%2d",a[i]);
}
}
9. 在第7题的调查基础上, 思考传递数组的特异性 (提⽰示, 分别在⾃自定义函数体与主函数中查看作为参 数的变量的改变情况)
10. 在第7题的调查基础上, 实现字符串拷贝函数. 并 调查完整版的字符串拷贝函数与⾃自⼰己编写的区别
void strcpy_my(char desc[],char source[])
{
int i=0;
while ((desc[i]=source[i])!='\0') {
i++;
}
}
*/
int main(int argc, const char * argv[]) {
// 调用
// getMaxOfArray(); 1.
//getDaffodilNumber(); 2.
//getNumber(); 3.
//getNumber(19); 4.
// printf("%d",getOdd_event(32)); 5.
//getResult(2,15,8); 6.
// int a[5]={1,5,4,3,2};
// sortArray(a, 5);
// printArray(a, 5); 8.
// char desc[20]={0};
// char source[]="wangkunbest!";
// strcpy_my(desc,source);
// printf("%s",desc); 10
return 0;
}
1. 用函数实现 : 随机产⽣生20个[10 , 100]的正整数,输 出这些数以及他们中的最大数
void getMaxOfArray()
{
int array[20]={0};
int max=0;
for (int i=0; i<20;i++) {
array[i]=arc4random()%(100-10+1)+10;
if (array[i]>max) {
max=array[i];
}
printf("%4d",array[i]);
}
printf(" max=%d",max);
}
2. 用函数实现 : 编程将所有“⽔水仙花数”打印出来, 并打印其总个数。 “⽔水仙花数”是一个各个位立方 之和等于该整数的三位数
void getDaffodilNumber()
{
int count=0;
for (int i=100; i<1000; i++) {
int x,y,z=0;
x=i%10;
y=i/10%10;
z=i/100;
if (x*x*x+y*y*y+z*z*z==i) {
printf("%4d",i);
count++;
}
}
printf(" count=%d",count);
}
3.⽤用函数实现 : 已知abc+cba = 1333,其中a,b,c均为 ⼀一位数,编程求出满⾜足条件的a,b,c所有组合
void getNumber()
{
for (int a=1; a<10; a++) {
for (int b=0;b<10; b++) {
for (int c=1;c<10;c++) {
if (a*100+b*10+c+c*100+10*b+a==1333) {
printf("%d,%d,%d\n",a,b,c);
}
}
} }
}
4. ⽤用函数实现:输⼊入⼀一个数,判断符号。如果⼤大于 0,输出“正数”;如果⼩小于0,输出“负数”;如果等 于0,输出“0”
void getNumber(int n)
{
if (n==0) {
printf("0");
}
else if(n>0)
{
printf("正数");
}
else
{
printf("负数");
}
}
5. ⽤用函数实现 : 输⼊入⼀一个整数,判断奇偶,并返回 判断结果(BOOL)
BOOL getOdd_event(int n)
{
BOOL result;
if (n%2==0) {
result=YES;
}
else
{
result=NO;
}
return result;
}
6.编写函数, 求⽅方程ax2+bx+c=0的根,并单独编写 函数求b2-4ac的值, a,b,c来源于键盘输⼊入
void getResult(float a,float b,float c)
{
float temp;
temp=b*b-4*a*c;
if (temp==0) {
printf("X1=%.2f,X2=%.2f",(-b)/(2*a),(-b)/(2*a));
}
else if(temp<0)
{
printf("方程无解!");
}
else
{
printf("X1=%.2f,X2=%.2f",(-b+sqrt(temp))/(2*a),(-b-sqrt(temp))/(2*a));
}
}
7. 调查如何将数组作为函数参数进⾏行传递
int data(int a[],int N);
8. 在第7题的调查基础上, 编写冒泡排序的函数
void sortArray(int a[],int N)
{
for (int i=0;i<N-1; i++) {
for (int j=0; j<N-1-i; j++) {
if (a[j]>a[j+1]) {
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}
void printArray(int a[],int n)
{
for (int i=0; i<n; i++) {
printf("%2d",a[i]);
}
}
9. 在第7题的调查基础上, 思考传递数组的特异性 (提⽰示, 分别在⾃自定义函数体与主函数中查看作为参 数的变量的改变情况)
10. 在第7题的调查基础上, 实现字符串拷贝函数. 并 调查完整版的字符串拷贝函数与⾃自⼰己编写的区别
void strcpy_my(char desc[],char source[])
{
int i=0;
while ((desc[i]=source[i])!='\0') {
i++;
}
}
*/
int main(int argc, const char * argv[]) {
// 调用
// getMaxOfArray(); 1.
//getDaffodilNumber(); 2.
//getNumber(); 3.
//getNumber(19); 4.
// printf("%d",getOdd_event(32)); 5.
//getResult(2,15,8); 6.
// int a[5]={1,5,4,3,2};
// sortArray(a, 5);
// printArray(a, 5); 8.
// char desc[20]={0};
// char source[]="wangkunbest!";
// strcpy_my(desc,source);
// printf("%s",desc); 10
return 0;
}