c语言编程
2015-07-21 20:59
225 查看
1.打印水仙花数
打印所有的三位数的水仙花数,例如:153 = 1*1*1+5*5*5+3*3*3
运行结果: 153 307 371 407
2.任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序, 然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
3.语句的作用域
因为上面的代码没有加作用域,所以它的作用范围是依次包含执行, 直到执行到printf结束,输出,第一个printf前的a不满足条件,所以不会输出~~~
4.指针的参数传递
运行结果:2293552 2293552 2293552 2293552
因为在数组中数组名代表数组的首地址,a[0]指针偏移量为0,所以a的地址与a[0]的地址为一致的。
在func函数中, 把数组a的地址传给p,打印出来的地址则为a的地址2293552。
在func2函数中,把数组a的地址传给a[], 打印出来的地址也为a的地址2293552
打印所有的三位数的水仙花数,例如:153 = 1*1*1+5*5*5+3*3*3
#include <stdio.h> int main(void) { int i, a, b, c; for (i = 100; i < 1000; i++) { a = i / 100; b = i / 10 % 10;//i / 10 - a * 10 c = i % 10; if (i == a * a * a + b * b * b + c * c * c) { printf("%d\n", i); } } }
运行结果: 153 307 371 407
2.任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序, 然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
#include<stdio.h> void mop(int n, int a[]) { int i, j, temp; for (i = 0; i < n; i++) { for (j = 0; j < n - i; j++) { if (a[j] < a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } for (i = 0; i < n + 1; i++) { printf("%d\t", a[i]); } } int main(void) { int a[10], i, temp; for (i = 0; i < 9; i++) { scanf("%d", &a[i]); } mop(8, a); printf("\n"); scanf("%d", &temp); printf("\n"); a[9] = temp; mop(9, a); }
3.语句的作用域
#include<stdio.h> int main(void) { int a = 6; if (a > 5) while(a > 3) if (a > 6) printf("~~~"); if (a > -1) if (a < 7) while (a > 4) printf("!!!"); }运行结果为:!!!
因为上面的代码没有加作用域,所以它的作用范围是依次包含执行, 直到执行到printf结束,输出,第一个printf前的a不满足条件,所以不会输出~~~
4.指针的参数传递
#include<stdio.h> void func(int* p); void func2(int a[]); int main() { int a[4] = {1, 2, 3, 4}; printf("%d\t", a); printf("%d\t", &a[0]); func(a); func2(a); } void func(int* p) { printf("%d\t", p); } void func2(int a[]) { printf("%d\n", a); }
运行结果:2293552 2293552 2293552 2293552
因为在数组中数组名代表数组的首地址,a[0]指针偏移量为0,所以a的地址与a[0]的地址为一致的。
在func函数中, 把数组a的地址传给p,打印出来的地址则为a的地址2293552。
在func2函数中,把数组a的地址传给a[], 打印出来的地址也为a的地址2293552
相关文章推荐
- 黑马程序员----C语言函数
- C++设计模式之 -- 桥接模式 (Bridge)
- c++函数初探
- 多态在 Java 和 C++ 编程语言中的实现比较
- C++继承问题
- java 它 引用(基本类型的包装,构造函数和析构函数c++不同)
- 梅尔频率倒谱系数(MFCC)的提取过程与C++代码实现
- 【C++】容器类
- C语言基础知识小总结(2)
- C语言11 -- 函数指针
- extendGcd,即扩展欧几里得算法的C++模板化解释
- C语言10 -- 动态内存分配
- C|C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别
- 结构体字节对齐
- C语言入门学习小总结
- cython封装c/c++代码
- C++对象模型--C++对象模型
- C语言 数组、函数应用实例篇
- 【Visual C++】游戏开发笔记十九 DirectX与OpenGL的博弈
- C语言不使用库函数对字符串操作