C语言编辑作业二1.docx
- 文档编号:15160435
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:31
- 大小:21.24KB
C语言编辑作业二1.docx
《C语言编辑作业二1.docx》由会员分享,可在线阅读,更多相关《C语言编辑作业二1.docx(31页珍藏版)》请在冰点文库上搜索。
C语言编辑作业二1
一
1. 求出10至1000之内能同时被2、3、7整除的数,并输出。
#include
intmain()
{intn;
for(n=10;n<=1000;n++)
{if(n%42==0)
printf("%d",n);
}
printf("\n");
return0;
}
2. 用switch语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:
90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
#include
intmain()
{floatscore;
chargrade;
scanf("%f",&score);
switch((int)(score/10))
{
case10:
case9:
grade='A';break;
case8:
grade='B';break;
case7:
grade='C';break;
case6:
grade='D';break;
case5:
case4:
case3:
case2:
case1:
case0:
grade='E';break;
default:
printf("error\n");
}
printf("%c\n",grade);
return0;
}
3、有10个数围成一圈,求相邻三个数之和的最小值。
#include
intmain()
{floata[10];
floatt,b;
inti;
printf("qingshuru10geshu:
\n");
for(i=0;i<=9;i++)
scanf("%f",&a[i]);
printf("\n");
t=a[0]+a[1]+a[9];
for(i=1;i<9;i++)
{b=a[i-1]+a[i]+a[i+1];
if(t>b)
t=b;
}
printf("Thesmallestnumberis:
%6.2f\n",t);
return0;
}
4. 编程判断输入的正整数是否既是5又是7的整倍数。
若是,则输出yes;否则输出no。
#include
intmain()
{intn;
scanf("%d",&n);
if(n%5==0&&n%7==0)
printf("yes\n");
elseprintf("no\n");
return0;
}
5. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
#include
intmain()
{
intm,s,i;
for(m=2;m<1000;m++)
{s=0;
for(i=1;i if(m%i==0) s=s+i; if(s==m) {printf("%d,itsfactorsare",m); for(i=1;i if(m%i==0) printf("%d",i); printf("\n"); } } return0; } 法二 #include intmain() { intm,i,s; for(m=2;m<1000;m++) { s=1; for(i=2;i<=m/2;i++) { if(m%i==0) s=s+i; } if(s==m) { printf("%dis完数itsfactorsare",m); for(i=1;i<=m;i++) if(m%i==0) printf("%d",i); printf("\n"); } } return0; } 二 1. 把100---200间的不能被3整除的数输出。 #include intmain() { intn; for(n=100;n<=200;n++) if(n%3! =0) printf("%3d\n",n); return0; } 2.编写一函数fun,实现矩阵(3行3列)的转置(即行列互换)。 #include #defineN3 floatb[3][3]; floata[3][3]; intmain() {voidfun(floata[][3]); inti,j; printf("qingshurushuzu: \n"); for(i=0;i for(j=0;j scanf("%f",&a[i][j]); printf("\nyuanshuzua: \n"); for(i=0;i {for(j=0;j {printf("%8.2f",a[i][j]); } printf("\n"); } fun(a); printf("zhuanzhihoushuzua: \n"); for(i=0;i {for(j=0;j printf("%8.2f",b[i][j]); printf("\n"); } return0; } voidfun(floata[][3]) {inti,j,t; for(i=0;i for(j=0;j b[j][i]=a[i][j]; } 3. 从键盘输入100个整数,统计其中正数、负数及零的个数。 #include intmain() {inti,n,s1,s2,s3; for(i=1,s1=0,s2=0,s3=0;i<=100;i++) {scanf("%d",&n); if(n>0)s1=s1+1; if(n<0)s2=s2+1; if(n==0)s3=s3+1; } printf("s1=%ds2=%ds3=%d\n",s1,s2,s3); return0; } 4. 求1到100之间的奇数之和及偶数之和,并将二者输出。 #include intmain() {inti,s1=0,s2=0; for(i=1;i<=100;i++) {if(i%2==0) s1=s1+1; elses2=s2+1; } printf("s1=%d\ns2=%d\n",s1,s2); return0; } 5. 编写一个函数,求6行、6列的二维数组全体元素中负数的个数。 #include intmain() { inti,j,a[6][6],n=0; printf("输入6*6数组: \n"); for(i=0;i<6;i++) for(j=0;j<6;j++) scanf("%d",&a[i][j]); for(i=0;i<6;i++) {for(j=0;j<6;j++) if(a[i][j]<0) n=n+1; } printf("n=%d\n",n); return0; } 三 1. 编程: 输出100~300中的素数及素数的个数 #include #include intmain() { intn,k,i,m=0; for(n=101;n<=300;n=n+2) {k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) {printf("%4d",n); m=m+1; if(m%10==0)printf("\n"); } } printf("\n"); printf("m=%3d\n",m); return0; } 2. 有一数列,包含10个数,已按升序排好。 现要求编一程序,从指定位置开始的n个数按逆序重新排列并输出新的完整数列(例: 原数列: 2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20)要求在主函数中输入10个数及指定位置m的值,并输出新的数列,在被调函数中从指定位置开始的n个数按逆序重新排列。 #include intmain() { intaa[10]={2,4,6,8,10,12,14,16,18,20},i; voidsort(inta[],intn); sort(aa,5); for(i=0;i<10;i++) printf("%d",aa[i]); printf("\n"); return0; } voidsort(inta[],intn) {inti,j,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编辑 作业