C语言学习笔记04(函数,数组)

函数

一个简单的函数

#include<stdio.h>
void star(void);
int main(void)
{ 
 star();
 printf("\nthese are 80 star\n");
 star();
 return 0; 
}
void star(void){
 int i=1;
 while(i<41){
  putchar('*');
  i++;
 }
}
----------------------------------------
****************************************
these are 80 star
****************************************

返回两个数中比较小的那一个

#include<stdio.h>
int min(x,y);
int main()
{ 
 int a=9,b=8,m;
 m=min(a,b);
 printf("%d",m);
 return 0; 
}
int min(x,y){
 if(x>y)return y;
 else return x;
}
----------------------------------------
8

声明函数类型

#include<stdio.h>
float fun1(float x,float y);
int fun2(int m,int n);
int main(){ 
 float a=7.5,b=8.5;
 int c=5,d=6;
 printf("%f\n",fun1(a,b));
 printf("%d",fun2(c,d));
 return 0; 
}
float fun1(float x,float y){
 return x+y;
}
int fun2(m,n){
 return m+n;
}
----------------------------------------
16.000000
11
#include<stdio.h>
double fun(int a,int b);
int main(){
 int x,y;
 printf("please enter two number:\n");
 scanf("%d %d",&x,&y);
 printf("%lf",fun(x,y));
 return 0;
}
double fun(int a,int b){
 return a+b;
}
---------------------------------------
please enter two number:
5 3
8.000000

递归

求一个数的阶乘

#include<stdio.h>
int fun(int a);
int main(){
 int x,y;
 printf("please enter a number:\n");
 scanf("%d",&x);
 y=fun(x);
 printf("%d!=%d",x,y);
 return 0;
}
int fun(int a){
 if(a==0||a==1)
 return 1;
 else
 return fun(a-1)*a;
}
---------------------------------------
please enter a number:
5
5!=120

递归既有优点也有缺点。优点是递归为某些编程问题提供了最简单的解 决方案。缺点是一些递归算法会快速消耗计算机的内存资源。另外,递归不 方便阅读和维护。

将一个数倒序输出

#include<stdio.h>
int fun(int a);
int main(){
 int x,y,i;
 for(i=0;i<2;i++){
 printf("please enter a number<1000:\n");
 scanf("%d",&x);
 y=fun(x);
 printf("%d\n",y);
 } 
 return 0;
}
int fun(int a){
 int g,s,b;
 g=a%10;//个位 
 s=a/10%10;//十位 
 b=a/100;//百位
 if(a<10)return a;
 else if(a<100)return g*10+s;
 else if(a<1000) return g*100+s*10+b; 
}
------------------------------------
please enter a number<1000:
52
25
please enter a number<1000:
462
264

数组

一维数组

向数组存放10个数并输出

#include<stdio.h>
int main(){
 int a[10],i;
 for(i=0;i<10;i++){
  a[i]=i;
 }
 for(i=0;i<10;i++){
  printf("%d ",a[i]);
 }
 return 0;
}
----------------------------------------
0 1 2 3 4 5 6 7 8 9

二维数组

3x3数组

#include<stdio.h>
int main(){
 int a[3][3],i,j;
 printf("3x3array:\n");
 for(i=0;i<3;i++){
  for(j=0;j<3;j++){
   scanf("%d",&a[i][j]);
  }  
 }
 printf("--------------\n");
 for(i=0;i<3;i++){
  for(j=0;j<3;j++){
   printf("%d ",a[i][j]);
  } 
  printf("\n"); 
 }
 return 0;
}
---------------------------------------
3x3array:
1 1 1
2 2 2
3 3 3
--------------
1 1 1
2 2 2
3 3 3

给数组赋值

一维

#include<stdio.h>
int main(){
 int a[10]={1,2,3,8,9,44,52,78,65,66},i;
 printf("array:\n");
 printf("--------------\n");
  for(i=0;i<10;i++){
   printf("%d ",a[i]);}
 return 0;
}
---------------------------------------
array:
--------------
1 2 3 8 9 44 52 78 65 66

二维

#include<stdio.h>
int main(){
 int a[2][3]={{1,2,3},{8,9,44}},i,j;
 printf("3x3array:\n");
 printf("--------------\n");
  for(i=0;i<2;i++){
   for(j=0;j<3;j++){  
   printf("%d ",a[i][j]);
   }
   printf("\n");
   }
 return 0;
}
---------------------------------------
3x3array:
--------------
1 2 3
8 9 44
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据攻城小狮子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值