C语言编辑作业二1.docx

上传人:b****1 文档编号:15160435 上传时间:2023-07-01 格式:DOCX 页数:31 大小:21.24KB
下载 相关 举报
C语言编辑作业二1.docx_第1页
第1页 / 共31页
C语言编辑作业二1.docx_第2页
第2页 / 共31页
C语言编辑作业二1.docx_第3页
第3页 / 共31页
C语言编辑作业二1.docx_第4页
第4页 / 共31页
C语言编辑作业二1.docx_第5页
第5页 / 共31页
C语言编辑作业二1.docx_第6页
第6页 / 共31页
C语言编辑作业二1.docx_第7页
第7页 / 共31页
C语言编辑作业二1.docx_第8页
第8页 / 共31页
C语言编辑作业二1.docx_第9页
第9页 / 共31页
C语言编辑作业二1.docx_第10页
第10页 / 共31页
C语言编辑作业二1.docx_第11页
第11页 / 共31页
C语言编辑作业二1.docx_第12页
第12页 / 共31页
C语言编辑作业二1.docx_第13页
第13页 / 共31页
C语言编辑作业二1.docx_第14页
第14页 / 共31页
C语言编辑作业二1.docx_第15页
第15页 / 共31页
C语言编辑作业二1.docx_第16页
第16页 / 共31页
C语言编辑作业二1.docx_第17页
第17页 / 共31页
C语言编辑作业二1.docx_第18页
第18页 / 共31页
C语言编辑作业二1.docx_第19页
第19页 / 共31页
C语言编辑作业二1.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言编辑作业二1.docx

《C语言编辑作业二1.docx》由会员分享,可在线阅读,更多相关《C语言编辑作业二1.docx(31页珍藏版)》请在冰点文库上搜索。

C语言编辑作业二1.docx

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;

for(i=3;i

for(j=i;j

if(a[i]

{t=a[i];a[i]=a[j];a[j]=t;}

}

3.  编程:

将一个数组中的数值按逆序重新存放。

例如,原来顺序为8,6,5,4,1。

要求改为1,4,5,6,8。

#include

intmain()

{inti,a[5];

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

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

for(i=4;i>=0;i--)

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

printf("\n");

return0;

}

●4、编程:

将字符串中的第m个字符开始的全部字符复制到另一个字符串。

要求在主函数中输入字符串及m的值并输出复制结果,在被调函数中完成复制。

#include

#include

chard[80]="0";

intmain()

{intcpy(chars[],intm);

chara[80];

intm;

gets(a);

scanf("%d",&m);

cpy(a,m);

puts(d);

return0;

}

intcpy(chars[],intm)

{inti,j=0,t;

t=strlen(s);

for(i=m-1;i

d[j]=s[i];

}

5.编程:

求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;

}

6.  求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.有4名学生,每个学生考4门课,要求:

写2个函数:

(1)返回值为总平均分的函数

(2)返回值为最低分的函数。

在main()函数中输入每个学生4门课的成绩,调用以上2个函数,输出总平均分和最低分

#include

#defineN4

intmain()

{floataver(floatm[4][4]);

floatlow(floatn[4][4]);

floata[4][4],t,s,k;

inti,j;

printf("shuchushuzua:

\n");

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

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

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

a[i][j]=k;

t=aver(a);

s=low(a);

printf("aver=%4f",t);

printf("main=%4f",s);

printf("\n");

return0;

}

floataver(floatm[4][4])

{inti,j;

floatsum=0,aver;

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

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

sum=sum+m[i][j];

aver=sum/4;

return(aver);

}

floatlow(floatn[4][4])

{inti,j;

floatmin=n[0][0];

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

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

{if(min>n[i][j])

min=n[i][j];

}

return(min);

}

2.编程:

把100---200间的不能被3整除的数输出。

#include

intmain()

{intm;

for(m=100;m<=200;m++)

{if(m%3!

=0)

printf("%4d",m);

}

printf("\n");

return0;

}

3.  输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

要求:

写3个函数:

(1)输入10个数的函数,

(2)交换处理的函数,(3)输出10个数的函数。

在main()函数中调用以上3个函数。

#include

intmain()

{intinput(inta[]);

intf(inta[]);

intoutput(inta[]);

inta[10];

input(a);

f(a);

output(a);

return0;

}

intinput(inta[])

{inti;

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

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

}

intf(inta[])

{inti,j,t,max=0,min=0;

for(i=1,j=0;i<10;i++,j++)

{if(a[max]

max=i;

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

min=j;

}

t=a[max];a[max]=a[9];a[9]=t;

t=a[min];a[min]=a[0];a[0]=t;

}

intoutput(inta[])

{inti;

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

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

printf("\n");

}

●4、设有10个学生的信息,包括学号、姓名和三门功课的成绩,试编写学生信息输入函数、学生信息输出函数,最后编写主函数,并在主函数中调用这些函数。

#include

#defineN5

structstu

{intnum;

charname[20];

intscore1;

intscore2;

intscore3;

}

stu[N];

intmain()

{intshuru();

intshuchu();

shuru();

shuchu();

}

intshuru()

{inti;

for(i=0;i

{printf("num=");

scanf("%d",&stu[i].num);

printf("name=");

scanf("%s",&stu[i].name);

printf("score1=");

scanf("%d",&stu[i].score1);

printf("score2=");

scanf("%d",&stu[i].score2);

printf("score=");

scanf("%d",&stu[i].score3);

}

printf("\n");

}

intshuchu()

{inti;

printf("xueshengdexinxi:

\n");

for(i=0;i

{printf("%5d%10s%10s%10d%10d%10d\n",stu[i].num,stu[i].name,stu[i].score1,

stu[i].score2,stu[i].score3);

}

printf("\n");

}

1.  从键盘输入10个整数,对其进行从小到大排序,将排序后的结果输出并保存到文件“DATA.DAT”中。

#include

intmain()

{inti,j,t,a[10];

printf("shuru10geshu;\n");

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

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

printf("\n");

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

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

if(a[i]>a[i+1])

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

printf("shuchuxinpailie:

\n");

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

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

printf("\n");

return0;

}

2.     从3*4的矩阵中求出最大值及所在的行号、列号,并将结果存入文件“DATA.DAT”中。

#include

intmain()

{inti,j,max,hang,lie,a[3][4];

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

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

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

max=a[0][0];

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

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

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

{max=a[i][j];

hang=i;

lie=j;

}

printf("max=%d\nhang=%d\nlie=%d\n",max,hang,lie);

return0;

}

3.  编程:

从键盘输入一行字符,将其中的大写字母改成小写字母存入磁盘文件“TEXT.TXT”中保存。

#include

#include

intmain()

{chara[81],d[81];

inti,j,t=0;

gets(a);

t=strlen(a);

for(i=0,j=0;i

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

d[j]=a[i]+32;

}

for(j=0;j

printf("%c",d[j]);

printf("\n");

return0;

}

●4、编程:

从键盘输入N个字符串,按字典顺序排序后输出,并将结果保存入“DATA.DAT”中。

#include

#include

#defineN3

intmain()

{charstr[N][81],t[81];

inti,j,k;

for(i=0;i

scanf("%s",str[i]);

for(i=0;i

{k=i;

for(j=i+1;j

if(strcmp(str[k],str[j])>0)

k=j;

{

strcpy(t,str[k]);

strcpy(str[k],str[i]);

strcpy(str[i],t);

}

}

for(i=0;i

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

printf("\n");

return0;

}

法二

#include

#include

#include

typedefstruct{

charc[105];

}Line;

Linea[10];

intcmp(constvoid*x,constvoid*y)

{

char*m=((Line*)x)->c;

char*n=((Line*)y)->c;

returnstrcmp(m,n);

}

intmain()

{

intL,M,i,x,y,ans;

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

scanf("%s",a[i].c);

qsort(a,10,sizeof(a[0]),cmp);

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

printf("%s\n",a[i].c);

return0;

}

5.键盘输入n个整数,统计其中正数、负数及零的个数,结果保存至“data.dat”文件中。

#include

intmain()

{inti,z=0,f=0,l=0,a[10];

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

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

if(a[i]>0)z++;

elseif(a[i]==0)l++;

elsef++;

}

printf("zhengshu=%d\nfushu=%d\nling=%d\n",z,f,l);

return0;

}

6.  输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数,并将统计结果输出到磁盘文件“test”中保存#include

intmain()

{charc;

intz=0,k=0,s=0,q=0;

printf("qingshuchuyihangzifu:

\n");

while((c=getchar())!

='\n')

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

z++;

elseif(c=='')

k++;

elseif(c>='0'&&c<='9')

s++;

else

q++;

}

printf("zimushu=%d\nkonggeshu=%d\nshuzishu=%d\nqitazifu=%d\n",

z,k,s,q);

return0;

}。

5.     输出所有的“水

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 公共行政管理

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

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