随笔分类 -  C语言常用算法

收集一些语法、算法方面的内容。
摘要:代码 阅读全文
posted @ 2010-06-21 09:09 齐心 阅读(692) 评论(0) 推荐(0) 编辑
摘要:/*2、编程题 1) 从键盘输入一个字符串,将其中的大写字母变小写字母,小写字母变大写字母,并输出 。【要求】 (1)用字符数组表示存储字符串(字符串最大为100)。 (2)使用scanf函数逐个输入字符保存在字符数组中 (3)使用printf函数逐个输出字符数组中的字符*/题目很简单,但是要求用scanf函数逐个输入字符保存在字符数组中,对于新手有一些难度。[代码] 阅读全文
posted @ 2010-02-11 10:22 齐心 阅读(42346) 评论(0) 推荐(1) 编辑
摘要:本题编程思路如下:五个国家名应由一个二维字符数组来处理。然而C语言规定可以把一个二维数组当成多个一维数组处理。 因此本题又可以按五个一维数组处理, 而每一个一维数组就是一个国家名字符串。用字符串比较函数比较各一维数组的大小,并排序, 输出结果即可。 include#includevoid main(){ char st[20],cs[5][20]; int i,j,p; prin... 阅读全文
posted @ 2007-07-06 09:22 齐心 阅读(5870) 评论(0) 推荐(0) 编辑
摘要:为了把一个数按大小插入已排好序的数组中, 应首先确定排序是从大到小还是从小到大进行的。设排序是从大到小进序的, 则可把欲插入的数与数组中各数逐个比较, 当找到第一个比插入数小的元素i时,该元素之前即为插入位置。然后从数组最后一个元素开始到该元素为止,逐个后移一个单元。最后把插入数赋予元素i即可。如果被插入数比所有的元素值都小则插入最后位置。 #include#includevoid m... 阅读全文
posted @ 2007-07-06 08:57 齐心 阅读(3674) 评论(0) 推荐(0) 编辑
摘要:用二分法求方程2x3-4x2+3x=0在(-10,10)附近的根(二分法:先找到a、b,使f(a)、f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],现在假设f(a)0,az); printf("The root is:%lf\n",x); } getch();} 阅读全文
posted @ 2007-07-02 16:47 齐心 阅读(1742) 评论(0) 推荐(0) 编辑
摘要:计算斐波那契分数序列前n项之和(n是某个常数,波那契分数序列为2/1,3/2,5/3,8/5,...)。 #include#includevoid main(){ int i,n; float f1=1,f2=2,f,sum=0; scanf("%d",&n); for(i=0;i<n;i++) { sum+=f2/f1; f=f2+f1;... 阅读全文
posted @ 2007-06-25 16:41 齐心 阅读(2758) 评论(0) 推荐(0) 编辑
摘要:输入一个三位数,判断是否事一个水仙花数。水仙花数是指3位数的各位数字的立方和等于这个3位数本身。例如,153=1*1*1+5*5*5+3*3*3 #include#includevoid main(){ int i,n,x1,x2,x3,sum; clrscr(); for(i=100;i<1000;i++) { n=i; x1=n%10; ... 阅读全文
posted @ 2007-06-25 09:51 齐心 阅读(903) 评论(1) 推荐(0) 编辑
摘要:#include#includevoid show(int c[][3]){ int i,j; for(i=0;i<5;i++) {for(j=0;j<3;j++) printf("%d\t",c[i][j]); printf("\n"); }}void main(){ int a[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}... 阅读全文
posted @ 2007-01-21 09:21 齐心 阅读(987) 评论(0) 推荐(0) 编辑
摘要:若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数。例如,6的因子之和为1+2+3=6,因此6与6为一对亲密数(即6自身构成一对亲密数);又如,220的因子之和为l+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+142—220,因此,220与284为一对亲密数。 #include#includ... 阅读全文
posted @ 2007-01-21 08:44 齐心 阅读(7899) 评论(4) 推荐(1) 编辑
摘要:如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子为1,2,3,且1+2+3=6,因此6是一个“完数”。 计算并输出1000以内的所有“完数”之和。 具体要求如下: (1)所有循环均用for循环。 (2)输出要有文字说明,并同时输出各“完数”。输出形式为 完数1+完数2+…=和值 #incl... 阅读全文
posted @ 2007-01-20 15:49 齐心 阅读(5640) 评论(0) 推荐(0) 编辑
摘要:#include#includevoid main(){ int num; int b0,b1,b2,b3,b4,b5,b6,b7; printf("Please input a integer number:"); scanf("%d",&num); b0=num%2; b1=num/2%2; b2=num/4%2; b3=num/8%2; b4=num/16%2; b5=num/32%2; b... 阅读全文
posted @ 2007-01-20 15:12 齐心 阅读(5344) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h"#include "conio.h"#include "string.h"void prochar(char *str,char c){ char *p; for(p=str;*p!='\0';p++) if(*p!=c) *str++=*p; *str='\0';}void main(){ char ... 阅读全文
posted @ 2007-01-19 21:51 齐心 阅读(2395) 评论(0) 推荐(0) 编辑
摘要:1、形参采用指针 #include "stdio.h"#include "conio.h"#include "string.h"void main(){ int i,radix; long n; char a[33]; void trans10_2_8_16(char *p,long m,int base); printf("\nInput radix(2,8,16)... 阅读全文
posted @ 2007-01-19 17:27 齐心 阅读(21424) 评论(0) 推荐(1) 编辑
摘要:1、用数组名常量指针输出二维数组,并将数组中的最大元素及所在行列号输出 #include "stdio.h"#include "conio.h"void main(){ int i,j,m,n,max; int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; m=0;n=0; max=**a; ... 阅读全文
posted @ 2007-01-19 13:54 齐心 阅读(553) 评论(0) 推荐(1) 编辑
摘要:#include "stdio.h"#include "conio.h"void main(){ static int a[5]={1,3,5,7,9}; int i,*p; for(i=0;i<5;i++) printf("%4d",a[i]); /**//*方法1:下标法*/ putchar('\n'); for(i=0;i<5;i... 阅读全文
posted @ 2007-01-19 09:03 齐心 阅读(842) 评论(0) 推荐(1) 编辑
摘要:#include "stdio.h"#include "conio.h"#define M 8float max(float a[],int n); /**//*函数声明*/void main(){ clrscr(); float sumf,sump; float a[M]={11,2,-3,4.5,5,69,7,80}; float (*p)(float a[],int); /... 阅读全文
posted @ 2007-01-18 15:17 齐心 阅读(888) 评论(0) 推荐(0) 编辑
摘要:注意: 指针函数的返回值一定要是地址,并且返回值的类型要与函数类型一致。 #include "stdio.h"#include "conio.h"int *min(int,int);int *minp(int *,int *);void main(){ int a,b,*p; clrscr(); scanf("%d,%d",&a,&b); p=min(a,b); prin... 阅读全文
posted @ 2007-01-18 10:32 齐心 阅读(737) 评论(0) 推荐(0) 编辑
摘要:判断的依据是 空格' '字符 #include "stdio.h"#include "conio.h"#include "string.h"int count_words(char str[]);void main(){ int n; char s[80]; clrscr(); printf("Input a string:"); gets(s); n=count_words(s); ... 阅读全文
posted @ 2007-01-17 09:56 齐心 阅读(1348) 评论(0) 推荐(0) 编辑
摘要:从键盘输入一个正整数,判断其是否为回文数。所谓回文数是顺读和反读都一样的数,如12321,23455432都是回文数。 #include "Stdio.h"#include "Conio.h"int main(void){ int i,k; long n,m; int digit[10]; clrscr(); puts("Please input a long number:"); s... 阅读全文
posted @ 2007-01-17 09:33 齐心 阅读(4267) 评论(0) 推荐(0) 编辑
摘要:#include #include #define N 10void yanghui(int a[][N],int n);void main(){ int i,j,n,b[N][N]; printf("Enter n:"); scanf("%d",&n); yanghui(b,n); for(i=0;i<n;i++) { for(j=0;j<=i;j++) pr... 阅读全文
posted @ 2007-01-17 08:53 齐心 阅读(889) 评论(0) 推荐(0) 编辑