用pi/4=1-1/3+1/5-1/7+...公式求PI的近似值,直到最后一项的绝对值小有10的-6次方为止。

#include

main()

{int i=-1;

float j,s=0.0;

for(j=1.0;fabs(1.0/j)>=1e-6;j=j+2.0)

{i=-i;

s+=i*1.0/j;}

s=s*4.0;

printf("%f\n",s);

}

输入四个整数,要求按由小到大的顺序输出。

main()

{int a,b,c,d;

printf("请输入4个整数:");

scanf("%d,%d,%d,%d",&a,&b,&c,&d);

printf("\n a=%d, b=%d, c=%d, d=%d \n",a,b,c,d);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(a>d)

{t=a;a=d;d=t;}

if(b>c)

{t=b,b=c;c=t;}

if(b>d)

{t=b;b=d;d=t;}

if(c>d)

{t=c;c=d;d=t;}

printf("排序结果如下:\n");

printf("%d %d %d %d\n",a,b,c,d);

}

译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律电文变为密码:

将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母字符不变。如“China!”转换为“Glmre!”。输入一行字符,要求输出其相应的密码。

#include

main()

{char a,b[100];

int i,j=0;

printf("qing shu ru,yi hui che jie shu:");

for(i=0;(b[i]=getchar())!='\n';i++)

{if((b[i]>='a'&&b[i]<='z')||(b[i]>='A'&&b[i]<='Z'))

b[i]+=4;

if(b[i]>'Z'&&b[i]<='Z'+4||b[i]>'z')b[i]=b[i]-26;

}

while(b[j]!='\0')

{printf("%c",b[j]);

j++;}

}

输入两个正整数m和n,求其最大公约数和最小公倍数。

main()

{int p,r,n,m,temp;

printf("请输入两个正整数 n,m");

scanf("%d,%d",&n,&m);

if(n

{temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!=0)

{r=n%m;

n=m;

m=r;

}

printf("它们的最大公约数为:%d\n",n);

printf("它们的最小公倍数为:%d\n",p\n);

}

打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153=1的立方+5的立方+3的立方。

main()

{int i,j,k,n;

printf("水仙花"数是:");

for(n=100;n<1000;n++)

{i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%4d",n);

}

printf("\n");

}

两个乒乓球队进行比赛,各出三人。甲队为A、B、C三人,乙队为X、Y、Z三人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比。请编程序找出三对赛手的名单。

main()

{char i,j,k;

for(i='X';i<='Z';i++)

for(j='X';j<='Z';j++)

if(i!=j)

for(k='X';k<='Z';k++)

if(i!=k&&j!=k)

if(i!='X'&&k!='X'&&k!='Z')

printf("A--%c\tB--%c\tC--%c\n",i,j,k);

}

用起泡法对10个数排序(由小到大)。

main()

{int a[10],t,i,j;

printf("qing shu ru 10 ge shu:\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

for(j=0;j<9-i;j++)

if(a[j]>=a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

for(i=0;i<10;i++)

printf("%5d",a[i]);

}

输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

#include

main()

{

char string[81];

int i,num=0,word=0;

char c;

gets(string);

for(i=0;(c=string[i])!='\0';i++)

if(c==' ')word=0;

else if(word==0)

{

word=1;

num++;

}

printf("there are %d wprd in the line.\n",num);

}

用选择法对10个整数排序(从小到大)。

main()

{int i,j,temp,a[11];

printf("Enter data:\n");

for(i=1;i<=10;i++)

{printf("a[%d]=",i);

scanf("%d",&a[i]);

}

printf("\n");

for(i=1;i<=10;i++)

printf("%5d",a[i]);

printf("\n");

for(i=1;i<=9;i++)

{for(j=i+1;j<=10;j++)

if(a[i]>a[j])

{temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

printf("\nThe sorted numbers:\n");

for(i=1;i<=10;i++)

printf("%5d",a[i]);

}

将一个数组中的直按逆序重新存放。列如原来顺序为:8、6、5、4、1。要求改为:1、4、5、6、8。

#define N 5

main()

{int a[N],i,temp;

printf("qing shu ru :");

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

{temp=a[i];

a[i]=a[N-i+1];

a[N-i+1]=temp;}

for(i=0;i

printf("%4d",a[i]);

printf("\n");

}

打印“打印魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。要求打印1……平方的自然数构成的魔方阵。

main()

{int a[16][16],i,j,k,p,m,n;

p=1;

while(p==1)

{printf("Enter

n(n=1~15):");

scanf("%d",&n);

if((n!=0)&&(n<=15)&&(n%2!=0))

p=0;

}

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

a[i][j]=0;

j=n/2+1;

a[1][j]=1;

for(k=2;k<=n*n;k++)

{i=i-1;

j=j+1;;

if((i<1)&&(j>n))

{i=i+2;

j=j-1;

}

else

{if(i<1)i=n;

if(j>n)j=1;

}

if(a[i][j]==0)

a[i][j]=k;

else

{i=i+2;

j=j-1;

a[i][j]=k;

}

}

for(i=1;i<=n;i++)

{for(j=1;j<=n;j++)

printf("%4d",a[i][j]);

printf("\n");

}

}

有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中(以两两交换的方式)。

main()

{int a[11]={1,4,6,13,16,19,28,40,100};

int temp1,temp2,number,end,i,j;

printf("array a:\n");

for(i=0;i<10;i++)

printf("%5d",a[i]);

printf("\n");

printf("Insert data:");

scanf("%d",&number);

end=a[9];

if(number>end)

a[10]=number;

else

{for(i=0;i<10;i++)

{if(a[i]>number)

{temp1=a[i];

a[i]=number;

for(j=i+1;j<11;j++)

{temp2=a[j];

a[j]=temp1;

temp1=temp2;

}

break;

}

}

}

printf("Now,array a:\n");

for(i=0;i<11;i++)

printf("%6d",a[i]);

}

写一函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间有一个空格。如输入1990,应输出“1 9 9 0”。

main()

{char str[80];

void insert(char s[]);

printf("\nInput four digits:");

scanf("%s",str);

insert(str);

}

void insert(char str[])

{int i;

for(i=strlen(str);i>0;i--)

{str[2*i]=str[i];

str[2*i-1]='

';

}

printf("\nOutput:\n%s",str);

}

写一函数,输入一行字符,将此字符串中最长的单词输出。

int alphabetic(char c)

{if((c>='a'&&c<='z')||(c>='A'&&c<='z'))

return(1);

else

return(0);

}

int longest(char string[])

{int len=0,i,length=0,flag=1,place=0,point;

for(i=0;i<=strlen(string);i++)

if(alphabetic(string[i]))

if(flag)

{point=i;

flag=0;

}

else

len++;

else

{flag=1;

if(len>=length)

{length=len;

place=point;

len=0;

}

}

return(place);

}

main()

{int

i;

char line[100];

printf("Input one line:\n");

gets(line);

printf("\nThe longest word is:");

for(i=longest(line);alphabetic(line[i]);i++)

printf("%c",line[i]);

printf("\n");

}

有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此表”。

#include

#define N 15

main()

{int i,j,number,top,bott,mid,loca,a[N],flag=1,sign=1;

char c;

printf("Enter data:\n");

scanf("%d",&a[0]);

i=1;

while(i

{scanf("%d",&a[i]);

if(a[i]>=a[i-1])

i++;

else

printf("Enter this data again:");

}

printf("\n");

for(i=0;i

printf("%4d",a[i]);

printf("\n");

while(flag)

{printf("Input number to look

for:");

scanf("%d",&number);

loca=0;

top=0;

bott=N-1;

if((numbera[N-1]))

loca=-1;

while((sign==1)&&(top<=bott))

{mid=(bott+top)/2;

if(number==a[mid])

{loca=mid;

printf("Find %d,its position is %d\n",number,loca+1);

sign=0;

}

else if(number

bott=mid-1;

else

top=mid+1;

}

if(sign==1||loca==-1)

printf("%d is not found.\n",number);

printf("Continue or not(Y/N)?");

scanf(" %c",&c);

if(c=='N'||c=='n')

flag=0;

}

}

写一函数,输入一个十六进制数,输出相应的十进制数。

#include

#define MAX 1000

main()

{char t[MAX],c;

int i,flag,flag1;

i=0;

flag=0;

flag1=1;

printf("\nInput a hex

number:");

while((c=getchar())!='\0'&&i

{if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F')

{flag=1;

t[i++]=c;

}

else if(flag)

{t[i]='\0';

printf("decimal number %d:\n",htoi(t));

printf("Continue or not?");

c=getchar();

if(c=='N'||c=='n')

flag1=0;

else

{flag=0;

i=0;

printf("\nInput a hex number:");

}

}

}

}

htoi(char s[])

{int i,n;

n=0;

for(i=0;s[i]!='\0';i++)

{if(s[i]>='0'&&s[i]<='9')

n=n*16+s[i]-'0';

if(s[i]>='a'&&s[i]<='f')

n=n*16+s[i]-'a'+10;

if(s[i]>='A'&&s[i]<='F')

n=n*16+s[i]-'A'+10;

}

return(n);

}

10进制转k进制(2<=k<=9)编程

给定程序功能是将十进制正整数m转化为k进制(2<=k<=9)数的数字输出。例如,若输入8和2,则应输出1000(即十进制数8转化为二进制表示是1000)。

#include

void fun( int m, int k )

{

int aa[20], i;

for( i = 0; m; i++ ) {

aa[i] = m%k;

m /= k;

}

for( ; i; i-- )

printf( "%d", aa[ i-1 ] );

}

main()

{

int b, n;

printf( "\nPlease enter a number and a base:\n" );

scanf( "%d

%d", &n, &b );

fun( n, b );}

用递归法将一个整数n 转换成字符串。例如输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。

#include

void convert(int n)

{int i;

if((i=n/10)!=0)

convert(i);

putchar(n%10+'0');

}

main()

{int number;

printf("\n Input an integer:");

scanf("%d",&number);

printf("Output:");

if(number<0)

{putchar('_');

number=-number;

}

convert(number);

}

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图10.3。写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数。

main()

{int number[20],n,m,i;

printf("How many numbers?");

scanf("%d",&n);

printf("Input %d numbers:\n",n);

for(i=0;i

scanf("%d",&number[i]);

printf("How many place you want to move?");

scanf("%d",&m);

move(number,n,m);

printf("Now,they are:\n");

for(i=0;i

printf("%d",number[i]);

}

move(int array[20],int n,int m)

{int *p,array_end;

array_end=*(array+n-1);

for(p=array+n-1;p>array;p--)

*p=*(p-1);

*array=array_end;

m--;

if(m>0)

move(array,n,m);

}

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

main()

{int n,i,a[100],*p,tr=0;

printf("qing shu ru ren shu:");

scanf("%d",&n);

for(i=0;i

a[i]=i+1;

p=a;

while(tr

{

if(*p!=0)

{if(i==3)

{*p=0;

tr++;

}

i++;

}

p++;

if(p>a+n-1)

p=a;

}

for(i=0;i

if(a[i]!=0)

{printf("zui hou liu zai dui wu zhong de shi %d",a[i]);

break;}

}

写一个函数,将一个3*3的矩阵转置。

main()

{int a[3][3],*p,i,j;

printf("Input matrix:\n");

for(i=0;i<3;i++)

scanf("%d %d

%d",&a[i][0],&a[i][1],&a[i][2]);

p=&a[0][0];

move(p);

printf("Now,matrix:\n");

for(i=0;i<3;i++)

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

move(int *pointer)

{int i,j,t;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

{t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i);

*(pointer+3*j+i)=t;

}

}

用指向指针的指针的方法对5个字符串排序并输出。

#define LINEMAX 20

#include

#include

main()

{char *str[5],temp[LINEMAX],a[5][LINEMAX],**p;

int i,j;

printf("qing yi ci shu ru zi fu chuan:");

for(i=0;i<5;i++)

gets(a[i]);

for(i=0;i<5;i++)

str[i]=a[i];

p=str;

for(i=0;i<4;i++)

for(j=i+1;j<5;j++)

if(strcmp(*(p+i),*(p+j))>0)

{strcpy(temp,*(p+i));

strcpy(*(p+i),*(p+j));

strcpy(*(p+j),temp);}

for(i=0;i<5;i++)

{puts(a[i]);

printf("\n");

}

}

写一个函数,对一个16位的二进制数取出它的奇数位(即从左边起第1、3、5、...、15位)。

main()

{unsigned getbits(unsigned);

unsigned int a;

printf("\nInput an octal number:");

scanf("%o",&a);

printf(""result:%o\n",getbits(a));

}

unsigned getbits(unsigned value)

{int i,j,m,n;

unsigned int z,a,q;

z=0;

for(i=1;i<=15;i+=2)

{q=1;

for(j=1;j<=(16-i-1)/2;j++)

q=q*2;

a=value>>(16-i);

a=a<<15;

a=a>>15;

z=z+a*q;

}

return(z);

}

编一函数用来实现左右循环移位。

main()

{unsigned moveright(unsigned,int);

unsigned moveleft(unsigned,int);

unsigned a;

int n;

printf("\nInput an octal number:");

scanf("%o",&a);

printf("Input n: ");

scanf("%d",&n);

if(n>0)

{moveright(a,n);

printf("result:%o\n",moveright(a,n));

}

else

{n=-n;

moveleft(a,n);

printf("result:%o\n",moveleft(a,n));

}

}

unsigned moveright(unsigned value,int n)

{unsigned z;

z=(value>>n)|(value<

return(z);

}

unsigned moveleft(unsigned value,int n)

{unsigned z;

z=(value>>(16-n))|(value<

return(z);

}

c语言编程 新浪博客,[c语言编程]经典编程相关推荐

  1. 计算机语言zuv,我们的拼语_大家的语言_新浪博客

    (2019-03-06 14:15) 标签: 杂谈 我们的拼语,大家的语言. 汉 语 拉 文 xoe 近 pio zaz lez meo guv daz bov tol soc , zua zeg s ...

  2. 关于幂律分布的一个笔记_哈克_新浪博客

    关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记     (2011-03-02 18:12:27)     转载▼     标签:     幂律     二八法则     杂谈     ...

  3. 欢迎访问我的新浪博客

    我的新浪博客(http://blog.sina.com.cn/u/1690987771)是大一开始学习编程时建立的,里面放的大部分是我大一时的程序代码,欢迎大家光临指导.现在开始学习项目管理方面的知识 ...

  4. 发布一个mmap的trie_midrmm02_新浪博客

    发布一个mmap的trie_midrmm02_新浪博客 发布一个mmap的trie     (2012-04-13 03:09:22)     转载▼     标签:     杂谈           ...

  5. 文献与逻辑的联手——评林奎成《吴三桂与甲申之变》王立群新浪博客

    甲申日记>.<甲申日记>令当今"甲申之变"研究者最感兴趣的是其书收入五封吴三桂写给其父吴襄的"家书".在历史书写中,日记.家书往往是最重要最可 ...

  6. 我的新浪博客搬家到CSDN博客啦!

    我的新浪博客搬家到CSDN博客啦! CSDN上有更专业的专家和技术爱好者,有更好的C/C++.数值算法.混合编程的技术文章,所以我也搬过去跟技术大牛一起住,哈哈,我将在CSDN有个新家啦.

  7. Action Golf 四个魔法球实战训练系列_huatuo_新浪博客

    Action & Golf 四个魔法球实战训练系列_huatuo_新浪博客

  8. 普度网络营销策划_普度网络营销策划-齐宁_新浪博客

    标签: 杂谈 自媒体的盛行,让我们知道了文案的重要性.一条好的文案,可以让你的广告如虎添翼.一篇好的内容可以瞬间刷爆朋友圈.今天我要总结的就是如何做一个打动人内心心智的好文案. 文案最主要的目的是让消 ...

  9. 黄聪:wordpress文章同步发布到网易、天涯、新浪博客、百度空间插件

    新浪博客,网易博客,百度空间,天涯博客都是权重很高的第三方博客平台.如果能保持更新,有助于提升主站权重.有了博客同步插件,直接在wordpress 后台设置一下,wordpress 自动把更新的日志同 ...

最新文章

  1. Springboot配置不当
  2. Linux操作系统下Sudo命令的使用方法说明
  3. 量子相干与量子纠缠_量子分类
  4. (34)FPGA原语设计(BUFGMUX)
  5. 双向链表示意图_java双向链表示意图
  6. python 核心编程 第一部分
  7. c语言作业统计字符,C语言统计字符数(示例代码)
  8. 基于持续集成的轻量级接口自动化测试 【持续更新...】
  9. 依赖注入及AOP简述(四)——“好莱坞原则”和依赖注入框架简介 .
  10. [zhuan]asp.net程序性能优化的七个方面 (c#(或vb.net)程序改进)
  11. 四川理工学院计算机学院在哪里,四川理工计算机学院
  12. 蓝牙音箱项目:记录CSR8635芯片的蓝牙音箱的开发过程
  13. 2023华南农业大学计算机考研信息汇总
  14. MOOC-大型开放式网络课程massive open online courses
  15. vue中使用腾讯地图选择地址
  16. oracle gbk ebcdic,文件编码 ANSI、GBK、GB2312、MS936、MS932、SJIS、Windows-31 、EUC-JP 、EBCDIC 等等之间的区别与联系...
  17. JavaFX店铺管理软件
  18. 浅谈企业数字化转型之主数据管理系统(MDM)
  19. 庚顿风电场远程集中监控系统、 庚顿风电集控中心一体化应用系统解决方案
  20. Java生成二维码或条形码

热门文章

  1. 机器学习导论(张志华):随机向量性质
  2. Linux内核源代码获取方法
  3. MPICH3环境配置
  4. 【Matlab】定义顺序增加的字符串数组(A1,A2 ... An)并写到Excel的第一行
  5. 目标检测,目标识别的SAR数据集构建和标注
  6. USTC English Club Note20171014
  7. [MATLAB学习笔记]sprintf将数据格式化为字符串或字符向量
  8. 台湾大学林轩田机器学习基石课程学习笔记1 -- The Learning Problem
  9. 跨服务器post数据失败:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 machineKey 配置指定了相同的 validationKey 和验证算法。的解决办法
  10. THttprio连接WebService的内存泄漏问题