ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:172.50KB ,
资源ID:4718101      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4718101.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序详解110.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c语言程序详解110.doc

1、/对data.txt文件写入10条记录#include main()FILE *fp;int i;float x;fp=fopen(d:date.txt,w);for(i=1;i=5;i+)scanf(%f,&x);fprintf(fp,%fn,x);fclose(fp);有一个34的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。#include#define M 3#define N 4main( )int max,i,j,r,c;int aMN=123,94,-10,218,3,9,10,-83,45,16,44,-99;max=a00;for(i=0;iM;i+)for(j=0

2、;jmax)max= aij;r=i;c=j;printf(max=%d , row =%d , colum=%d n,max,r,c);求一个33矩阵主对角线元素之和。#includevoid main( )int a33=1,2,3,4,5,6,7,8,9,sum=0,i,j; for (i=0;i3;i+) for (j=0;j3;j+) if (i=j) sum+=aij; printf(%d,sum); /*建立一个通讯录结构体,其成员变量主要有:序号,姓名,电话。根据建好的结构体设计有3个人员的通讯录,对其赋值,并将3人的通讯录按行输出。*/#include stdio.hstru

3、ct memberchar num5;char name10;int tel;void main()int i;struct member mem3=001,zhangsan,139,002,lisi,139,003,wangwu,139;printf(NumberName teln);for(i=0;i3;i+)printf(%5s%10s%5dn,memi.num,memi.name,memi.tel);/*2、编写程序,从键盘读入一个字符串,用字符数组保存,然后分别用strlen()、sizeof()计算其长度,输出结果并分析。*/#include #include void main(

4、) char s20;gets(s);puts(s);printf(%d,%dn ,sizeof(s),strlen(s); 程序中头文件type1.h的内容是:#define N 5#define M1 N*3程序如下:#includetype1.h#define M2 N*2main()int i; i=M1+M2;printf(%dn,i);程序编译运行后的输出结果是(c)A)10 B)20 C)25 D)301、所谓“同构数”是指这样一个数,它出现在它的平方数的右侧,例如5的平方是25,25的平方是625,故5和25都是同构数,求1,1000之间所有同构数的个数和总和。7,1114#i

5、ncludevoid main()int i,a,n=0,sum=0;for(i=1;i1000;i+)a=i*i;if(i10&a%10=i)n+;sum=sum+i;else if(i100&a%100=i)n+;sum=sum+i;else if(a%1000=i)n+;sum=sum+i;printf(%d,%d,n,sum);方法二:#includevoid main()int i,a,sum=0,n=0;for(i=1;i1000;i+)a=i*i;if(a%10=i|a%100=i|a%1000=i)n+;sum=sum+i; printf(%d %d,sum,n);猴子第一天摘

6、下若干桃子,当即吃了一半,还不过瘾又多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾,有多吃一个。以后每天都吃前一天剩下的一半再加一个。到第10天再吃剩下一个了。求猴子第一天摘了多少桃子?1534#includevoid main() int i,x=1; for(i=9;i0;i-) x=(x+1)*2; printf(第一天共摘了%d只桃子n,x); 方法二:#include int peach(int n) int c; if(n=10) c=1; else c=2*(peach(n+1)+1); return c;void main() int sum=0;sum=peach(

7、1);printf(%d,sum);2、一个素数(设为p)依次从最高位去掉一位,二位,三位,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求100,999之内的所有逆向超级素数的个数。39#include#includeint prime(int m) int i,k,f=1 ; if (m=1) f=0 ; k=(int)sqrt(m); for (i=2; i=k;i+) if (m%i=0) f=0 ; retur

8、n f ; void main()int p,i,j,k,sum=0;for(p=100;p=999;p+)i=p/100;j=(p/10)%10;k=p%10;if(prime(p)&prime(j*10+k)&prime(k)&k!=0&j!=0)printf(%d ,p);sum+;printf(%d,sum); /*程序:冒泡法排序函数的定义。*/#include void Bubble (int *pa,int n);/冒泡法排序函数声明int main() int a10,n,i; do printf(Input n(1=n=10):n);scanf(%d,&n);while (n

9、10); printf(Input %d elements:n,n);for (i=0;in;i+) scanf(%d,&ai); printf(The original array is:n);for (i=0;in;i+) printf(%5d,ai);printf(n);Bubble (a,n); /冒泡排序函数调用 printf(The sorted array is:n);for (i=0;in;i+) printf(%5d,ai);printf(n);return 0;void Bubble (int *pa,int n) int i, j ,t;for (i=0; ii;j-)i

10、f (pajpaj-1)t=paj-1;paj-1=paj;paj=t;德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求6744可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)144#include#includeint prime(int m) int i,k,f=1 ; if (m=1) f=0 ; k=(int)sqrt(m); for (i=2; i=k;i+) if (m%i=0) f=0 ; return f ; void main()

11、int a,b,n=0;for(a=1;a6744/2;a=a+2)if(prime(a)b=6744-a;if(prime(b)n+; printf(%dn,n);/*程序6.6 求最大公约数函数的定义与调用。第4章的程序4.9是求最大公约数程序的主函数形式,现在将其求最大公约数部分独立定义为函数gcd,并在主函数中调用*/#includeint gcd(int dividend,int divider);/求最大公约数函数声明int main( )int m,n; do printf(Input m,n:n);scanf(%d%d,&m,&n); while (m=0|n=0); prin

12、tf(hcd: %dn,gcd(m,n);/求最大公约数函数调用return 0; int gcd(int dividend,int divider) /求最大公约数函数定义int remainder; remainder=dividend%divider; while (remainder) dividend=divider; divider=remainder; remainder=dividend%divider ; return divider; /循环终止时的除数 1、在100,999范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10所得的余数是百位数字;该数是

13、素数; 求有多少个这样的数?15方法一:main()int a,i,j,k,m,sum=0;for(a=100;a=999;a+)i=a%10;j=(a/10)%10;k=a/100;if(i+j)%10=k)for(m=2;m=a)sum+;printf(%d,sum);方法二:#includemath.hint prime(int i)int j;for(j=2;j=sqrt(i);j+)if(i%j=0)return 0;return 1;main()int a,i,j,k,m,sum=0;for(a=100;a=B,求所有小于或等于100(即:A=100,B=100)的自然数对中A之和

14、。1669#includemath.hmain()int a,b,i,j,k,sum=0;for(a=1;a=100;a+)for(b=1;ba;b+)i=a+b;j=a-b;if(sqrt(i)-(int)sqrt(i)=0 & (sqrt(j)-(int)sqrt(j)=0)printf(%d,%d)n,a,b);sum=sum+j;printf(%d,sum);方法二#includestdio.h#includemath.hint f(int i)int flag;if(sqrt(i)-(int)sqrt(i)=0)flag=1;elseflag=0;return flag;main()

15、int a,b,i,j,k,sum=0;for(a=1;a=100;a+)for(b=1;ba;b+)if(f(a+b)&f(a-b)printf(%d,%d)n,a,b);sum=sum+(a-b);printf(%d,sum);梅森尼数是指能使2n-1为素数的数n,求1,21范围内最大的梅素尼数?19梅森尼数是指能使2n-1为素数的数n,求1,21范围内有多少个梅森尼数?7#includemath.hint prime(int i)int j;for(j=2;j=sqrt(i);j+)if(i%j=0)return 0;return 1;main()int i,j,p,sum=0;for(

16、i=2;i=21;i+)p=1;for(j=1;j=i;j+)p=p*2;if(prime(p-1)=1)printf(%d ,i);sum+;printf(%dn,sum);求100200间的全部素数方法一: #include # include void main() int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for (i=2;i=k+1)printf(%d ,m);n=n+1;if(n%10=0) printf(n); printf (n);方法二:#includemain()int i,j,k,n=0;for(i=100;i=20

17、0;i+)k=1;for(j=2;j=sqrt(i);j+)if(i%j=0)k=0;if(k)printf(%d ,i);n+;printf(n);printf(%dn,n);一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。496main()int n,s,i,total=0;for(n=200;n=500;n+)s=0;for(i=1;in;i+)if(n%i=0)s=s+i;if(s=n)total=total+n;printf(%dn,total);求出1000以内所有的完数,并输出其因子main

18、()int n,s,i;for(n=1;n=1000;n+)s=0;for(i=1;in;i+)if(n%i=0)s=s+i;if(s=n)printf(%d ,n);for(i=1;in;i+)if(n%i=0)printf(%d ,i);printf(n);编程序求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500 时程序退出。550方法一Void main()int sum=0,i;for(i=2;i500)break;printf(%d,%dn,sum,i);方法二#include void main()int sum=0,i;i=2;while(sum=500)if(i

19、%5=0)sum=sum+i;i=i+2;printf(%d,%dn,sum,i); getch(); 编程序求出 2+4+8+16+32+这样的数之和。如果累加数大于500时,则程序终止并输出结果。510方法一:main()int sum=0,i=2;while(sum=500)sum=sum+i;i=i*2;printf(%d,%dn,sum,i/2);方法二:main()int sum=0,i=2;for(i=2;i500)break;printf(%d,%dn,sum,i);“水仙花数”是指这样的数,其各位数字的立方和等于该数本身,如: 153=13+53+33。编写程序求100至99

20、9的范围内有多少个水仙花数。4main()int i,j,k,n;for(n=100;n=999;n+)i=n/100;j=(n/10)%10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%d ,n);一个数如果恰好等于它的所有真因子之和,这个数就称为“完数”。例如,6的真因子为1,2,3,而6=1+2+3,因此,6是“完数”。求200到500之间的的所有完数之和。496main()int n,s,i,total=0;for(n=200;n=500;n+)s=0;for(i=1;in;i+)if(n%i=0)s=s+i;if(s=n)total=total+n;p

21、rintf(%dn,total);求100,200范围内素数的个数。21#includemain()int i,j,k,n=0;for(i=100;i=200;i+)k=1;for(j=2;j=sqrt(i);j+)if(i%j=0)k=0;if(k)n+;printf(%d ,i);printf(n);printf(%dn,n);编写程序,求所有符合算式ij*ji=1300的最小数ij(即i*10+j)。其中i、j是19之间的一位整数。25void main() int i,j,n,t=0;for(n=11;n=99;n+)i=n/10;j=n%10;if(n*(j*10+i)=1300)b

22、reak;printf(%dn,n);德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求6744可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)144#include#includevoid main()int a,b,i,j,f1,f,n=0;for(a=3;a6744/2;a=a+2) f1=1;for(j=2;j=sqrt(a);j+)if(a%j=0)f1=0;if(f1) b=6744-a;f=1;for(i=2;i=sqrt(b);i+)if(b%i=0)f=0; if(f)printf(%d,%d n,a,b);n+; printf(%dn,n);方法二:#include#includevoid main()int f(int x);int a,b,n=0;for(a=3;a6744/2;a=a+2)if(f(a)b=6744-a;if(f(b)n+; printf(%dn,n);int f(int x)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2