C语言编辑作业二1Word文档下载推荐.doc
《C语言编辑作业二1Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《C语言编辑作业二1Word文档下载推荐.doc(25页珍藏版)》请在冰豆网上搜索。
score);
switch((int)(score/10))
{
case10:
case9:
grade='
A'
;
break;
case8:
B'
case7:
C'
case6:
D'
case5:
case4:
case3:
case2:
case1:
case0:
grade='
E'
default:
error\n"
%c\n"
grade);
3、有10个数围成一圈,求相邻三个数之和的最小值。
intmain()
{floata[10];
floatt,b;
inti;
qingshuru10geshu:
for(i=0;
i<
=9;
i++)
a[i]);
t=a[0]+a[1]+a[9];
for(i=1;
9;
{b=a[i-1]+a[i]+a[i+1];
if(t>
b)
t=b;
}
Thesmallestnumberis:
%6.2f\n"
t);
4.
编程判断输入的正整数是否既是5又是7的整倍数。
若是,则输出yes;
否则输出no。
%d"
n);
if(n%5==0&
&
n%7==0)
yes\n"
elseprintf("
no\n"
5.
一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
intm,s,i;
for(m=2;
m<
1000;
m++)
{s=0;
for(i=1;
m;
i++)
if(m%i==0)
s=s+i;
if(s==m)
{printf("
%d,itsfactorsare"
m);
for(i=1;
if(m%i==0)
printf("
%d"
i);
printf("
}
}
return0;
法二
{
intm,i,s;
for(m=2;
m++)
s=1;
for(i=2;
=m/2;
if(m%i==0)
s=s+i;
if(s==m)
%dis完数itsfactorsare"
=m;
二
把100---200间的不能被3整除的数输出。
intn;
for(n=100;
=200;
if(n%3!
=0)
printf("
%3d\n"
return0;
2.编写一函数fun,实现矩阵(3行3列)的转置(即行列互换)。
#defineN3
floatb[3][3];
floata[3][3];
{voidfun(floata[][3]);
inti,j;
qingshurushuzu:
N;
for(j=0;
j<
j++)
a[i][j]);
\nyuanshuzua:
for(i=0;
{for(j=0;
{printf("
%8.2f"
a[i][j]);
fun(a);
zhuanzhihoushuzua:
b[i][j]);
voidfun(floata[][3])
{inti,j,t;
b[j][i]=a[i][j];
3.
从键盘输入100个整数,统计其中正数、负数及零的个数。
{inti,n,s1,s2,s3;
for(i=1,s1=0,s2=0,s3=0;
=100;
{scanf("
if(n>
0)s1=s1+1;
if(n<
0)s2=s2+1;
if(n==0)s3=s3+1;
s1=%ds2=%ds3=%d\n"
s1,s2,s3);
求1到100之间的奇数之和及偶数之和,并将二者输出。
{inti,s1=0,s2=0;
{if(i%2==0)
s1=s1+1;
elses2=s2+1;
printf("
s1=%d\ns2=%d\n"
s1,s2);
编写一个函数,求6行、6列的二维数组全体元素中负数的个数。
#include<
inti,j,a[6][6],n=0;
printf("
输入6*6数组:
for(i=0;
6;
for(j=0;
j++)
scanf("
for(i=0;
{for(j=0;
if(a[i][j]<
0)
n=n+1;
}
n=%d\n"
三
编程:
输出100~300中的素数及素数的个数
math.h>
intn,k,i,m=0;
for(n=101;
=300;
n=n+2)
{k=sqrt(n);
for(i=2;
=k;
if(n%i==0)break;
if(i>
=k+1)
%4d"
m=m+1;
if(m%10==0)printf("
}
m=%3d\n"
有一数列,包含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个数按逆序重新排列。
intaa[10]={2,4,6,8,10,12,14,16,18,20},i;
voidsort(inta[],intn);
sort(aa,5);
for(i=0;
10;
printf("
%d"
aa[i]);
voidsort(inta[],intn)
{inti,j,t;
for(i=3;
n+3-1;
for(j=i;
n+3;
if(a[i]<
a[j])
{t=a[i];
a[i]=a[j];
a[j]=t;
将一个数组中的数值按逆序重新存放。
例如,原来顺序为8,6,5,4,1。
要求改为1,4,5,6,8。
{inti,a[5];
5;
for(i=4;
i>
=0;
i--)
%2d"
a[i]);
l4、编程:
将字符串中的第m个字符开始的全部字符复制到另一个字符串。
要求在主函数中输入字符串及m的值并输出复制结果,在被调函数中完成复制。
string.h>
chard[80]="
0"
{intcpy(chars[],intm);
chara[80];
intm;
gets(a);
m);
cpy(a,m);
puts(d);
intcpy(chars[],intm)
{inti,j=0,t;
t=strlen(s);
for(i=m-1;
t;
i++,j++)
d[j]=s[i];
5.编程:
求1到100之间的奇数之和及偶数之和,并将二者输出
inti,s1=0,s2=0;
{
if(i%2==0)
s1=%d\n