C语言教程 第28页
C 练习实例45 C 语言经典100例 题目:学习使用register定义变量的方法。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int main() { register int i; int tmp=0; for(i=1;i<=100;i++) tmp+=i; printf("总和为 %d\n",tmp); return 0; } 以上实例输出结果为: 总和为 5050 C 语言经典100例
C 练习实例34 C 语言经典100例 题目:练习函数调用。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> void hello_world(void) { printf("Hello, world!\n"); } void three_hellos(void) { int counter; for (counter = 1; counter <= 3; counter++) hello_world();/*调用此函数*/ } int main(void) { three_hellos();/*调用此函数*/ } 以上实例输出结果为: Hello, world! Hello, world! Hello, world! C 语言经典100例
C 练习实例44 C 语言经典100例 题目:学习使用external的用法。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int a,b,c; void add() { int a; a=3; c=a+b; } int main() { a=b=4; add(); printf("c 的值为 %d\n",c); return 0; } 以上实例输出结果为: c 的值为 7 C 语言经典100例
C 练习实例32 C 语言经典100例 题目:删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> #include<string.h> // 删除字符串中指定字母函数 char* deleteCharacters(char * str, char * charSet) { int hash [256]; if(NULL == charSet) return str; for(int i = 0; i < 256; i++) hash[i] = 0; for(int i = 0; i < strlen(charSet); i++) hash[charSet[i]] = 1; int currentIndex = 0; for(int i = 0; i < strlen(str); i++) { if(!hash[str[i]]) str[currentIndex++] = str[i]; } str[currentIndex] = '\0'; return str; } int main() { char s[2] = "a"; // 要删除的字母 char s2[5] = "aca"; // 目标字符串 printf("%s\n", deleteCharacters(s2, s)); return 0; } 以上实例输出结果为: c C 语言经典100例
C 练习实例42 C 语言经典100例 题目:学习使用auto定义变量的用法。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int main() { int i,num; num=2; for(i=0;i<3;i++) { printf("num 变量为 %d \n",num); num++; { auto int num=1; printf("内置模块 num 变量为 %d \n",num); num++; } } return 0; } 以上实例输出结果为: num 变量为 2 内置模块 num 变量为 1 num 变量为 3 内置模块 num 变量为 1 num 变量为 4 内置模块 num 变量为 1 C 语言经典100例
C 练习实例43 C 语言经典100例 题目:学习使用static的另一用法。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int main() { int i,num; num=2; for(i=0;i<3;i++) { printf("num 变量为 %d \n",num); num++; { static int num=1; printf("内置模块 num 变量为 %d\n",num); num++; } } return 0; } 以上实例输出结果为: num 变量为 2 内置模块 num 变量为 1 num 变量为 3 内置模块 num 变量为 2 num 变量为 4 内置模块 num 变量为 3 C 语言经典100例
C 练习实例30 – 回文数 C 语言经典100例 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 程序分析:学会分解出每一位数。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int main( ) { long ge,shi,qian,wan,x; printf("请输入 5 位数字:"); scanf("%ld",&x); wan=x/10000; /*分解出万位*/ qian=x%10000/1000; /*分解出千位*/ shi=x%100/10; /*分解出十位*/ ge=x%10; /*分解出个位*/ if (ge==wan&&shi==qian) { /*个位等于万位并且十位等于千位*/ printf("这是回文数\n"); } else { printf("这不是回文数\n"); } } 以上实例输出结果为: 请输入 5 位数字:12321 这是回文数 请输入 5 位数字:12345 这不是回文数 C 语言经典100例
C 练习实例41 – static C 语言经典100例 题目:学习static定义静态变量的用法。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> int main() { void fun(); for(int i=0;i<3;i++) fun(); return 0; } void fun() { int i=0; static int static_i=0; printf("i=%d\n",i); printf("static_i=%d\n",static_i); i++; static_i++; } 以上实例输出结果为: i=0 static_i=0 i=0 static_i=1 i=0 static_i=2 C 语言经典100例
C 练习实例28 C 语言经典100例 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大? 程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int age(n) int n; { int c; if(n==1) c=10; else c=age(n-1)+2; return(c); } int main() { printf("%d\n",age(5)); } 以上实例输出结果为: 18 C 语言经典100例
C 练习实例38 C 语言经典100例 题目:求一个3*3矩阵对角线元素之和 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #define N 3 int main() { int i,j,a[N][N],sum=0; printf("请输入矩阵(3*3):\n"); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]); for(i=0;i<N;i++) sum+=a[i][i]; printf("对角线之和为:%d\n",sum); return 0; } 以上实例输出结果为: 请输入矩阵(3*3): 1 2 3 4 5 6 7 8 9 对角线之和为:15 C 语言经典100例