C部分答案2.docx

上传人:b****6 文档编号:3045521 上传时间:2022-11-17 格式:DOCX 页数:31 大小:22.49KB
下载 相关 举报
C部分答案2.docx_第1页
第1页 / 共31页
C部分答案2.docx_第2页
第2页 / 共31页
C部分答案2.docx_第3页
第3页 / 共31页
C部分答案2.docx_第4页
第4页 / 共31页
C部分答案2.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

C部分答案2.docx

《C部分答案2.docx》由会员分享,可在线阅读,更多相关《C部分答案2.docx(31页珍藏版)》请在冰豆网上搜索。

C部分答案2.docx

C部分答案2

数组

61.见实验指导书P60必做题1。

62.

#include

voidmain()

{inta[10],b[5],i;

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

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

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

b[i]=a[2*i];//把数组a中下标为偶数的元素放入数组b中

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

printf(“%d”,b[i]);

}

63.

#include

voidmain()

{floatscore[10],sum=0,aver;

intI,m=0;

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

scanf(“%f”,&score[i]);

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

sum+=score[i];

aver=sum/10;

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

if(score[i]>aver)m++;

printf(“Thescoregaoyuaveragedestudentsyou:

%d”,m);

}

64.

#include

voidmain()

{inta[3][3],i,j,sum=0;

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

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

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

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

sum+=a[0][i];

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

sum+=a[2][i]

sum+=a[1][0]+a[1][2];

printf(“%d”,sum);

}

65.见实验指导书P71必做题1。

66.

#include

#include

voidmain()

{chars[20],t;

inti,j,len;

gets(s);

len=strlen(s);

for(i=1;i

for(j=1;j<=len-i;j++)

if(s[j-1]>s[j])

{t=s[j-1];

s[j-1]=s[j];

s[j]=t;

}

puts(s);

}

67.

#include

#include

voidmain()

{chars1[200],s2[100];

inti=0,j=0;

gets(s1);

gets(s2);

while(s1[i]!

=’\0’)

i++;//统计s1中字符的个数

while(s2[j]!

=’\0’)

s1[i++]=s2[j++];//把s2接在s1的后面

s1[i]=’\0’;//最后加上字符串结束符号

puts(s1);//把连接后的字符串输出

}

68.

#include

#include

voidmain()

{chars[10][20];//二维数组,10个字符串,每个字符串最多20个字符

inta[10],i,j;

for(i=0;i<10;i++)//循环输入10个字符串

gets(s[i]);

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

{a[i]=s[i][0];//先将第i个字符串的第一个字符附值给一维数组a的第i个元素

for(j=1;s[i][j]!

=’\0’;j++)

if(a[i]

}

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

printf(“%c”,a[i]);

}

69.此题参见实验指导数组章节,实验九必做题2

#include

voidmain()

{intbas,num,a[18],i,j;

printf(“Inputashijinzhizhengshuandjinzhi:

”);

scanf(“%d,&d”,&num,&bas);

for(i=0;num;i++)//num变为0时停止循环

{a[i]=num%bas;

num=num/bas;

}

for(j=i-1;j>=0;j--)//输出

printf(“%d”,a[j]);

}

70.#include

voidmain()

{inta[10],i,m=0,sum=0,aver;

for(i=0;i<10;i++)//输入10个正整数

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

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

if(a[i]%2==0)

{sum+=a[i];

m++;

}

aver=sum/m;

printf(“\nOushudegeshuwei:

%d,Oushudepingjunzhiwei:

%d”,m,aver);

}

71.

#include

voidmain()

{inta[10],b[9],i;

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

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

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

b[i]=a[i+1]/a[i];

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

{printf(“%d”,b[i]);

if((i+1)%3==0)printf(“\n”);//每输出3个元素换行

}

}

72.

#include

#include

voidmain()

{chara[100],b[50],c[100],maxc;

inti,maxi,len1,len2;

gets(a);

gets(b);

len1=strlen(a);

len2=strlen(b);

maxc=a[0];

for(i=0;a[i]!

=’\0’;i++)//求字符串a的最大字符,保存在maxc中,以及其下标

if(maxc

{maxc=a[i];

maxi=i;//maxi保存最大字符的下标

}

for(i=0;i

c[i]=a[maxi+1+i];

c[i]=’\0’;

for(i=0;i

a[maxi+1+i]=b[i];

for(i=0;c[i]!

=’\0’;i++)//再连接数组c

a[maxi+1+len2+i]=c[i];

a[maxi+1+len2+i]=’\0’;

puts(a);

}

73.输入一个正整数,按逆序输出各位的数字。

#include

voidmain()

{inta[10],num,i,j;

scanf(“%d”,&num);

i=0;

while(num!

=0)//每次分离得到个位数

{a[i]=num%10;

num=num/10;

i++;

}

for(j=0;j

printf(“%d”,a[j]);

}

74.参见C语言教材P128例7.4。

注意在main()上面要加上#include

在main()前要加上void

75.参见C语言教材P129例7.5。

注意在main()上面要加上#include

在main()前要加上void

76.同题68

77.同题70

78.编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中。

不得使用strcpy函数。

拷贝时,‘\0‘也要拷贝过去。

#include

#include

voidmain()

{chars1[100],s2[100];

inti;

gets(s2);

for(i=0;s2[i]!

=’\0’;i++)

s1[i]=s2[i];

s1[i]=’\0’;

puts(s1);

}

79.将一个字符串中下标值为偶数的元素由小到大排序,其它元素不变。

#include

#include

voidmain()

{chars[100],s1[50],s2[5],c;

inti,j,len;

gets(s);

for(i=0;s[2*i]!

=’\0’;i++)//将字符串中下标为偶数的元素存放在数组s1中

s1[i]=s[2*i];

len=strlen(s1);//对s1中的len个字符进行冒泡排序

for(i=1;i<=len-1;i++)

for(j=1;j<=len-i;j++)

if(s[j-1]>s[j])

{c=s[j-1];

s[j-1]=s[j];

s[j]=c;

}

for(i=0;s1[i]!

=’\0’;i++)//再将排好序的s1中字符依次放入s中偶数下标处

s[2*i]=s1[i];

puts(s);//输出处理后的字符串s

}

80.思路:

(1)各行第一个数都是1

(2)各行最后一个数都是1

(3)从第3行开始,除第一后最后一个数外,其余各数是上一行同列和前一列两个数之和,即a[i][j]=a[i-1][j]+a[i-1][j-1],i为行数,j为列数

#include

voidmain()

{inti,j,a[11][11];

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

{a[i][i]=1;//最后一列

a[i][1]=1;//第1列

}

for(i=3;i<11;i++)//第3行起

for(j=2;j<=i-1;j++)//除第一和最后一个元素外其它元素

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

for(i=1;i<11;i++)//输出

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

printf(“%6d”,a[i][j]);

printf(“\n”);

}

printf(“\n”);

}

81.从键盘输入一个二维整型数组,如a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4},试编程检查一个二维数组是否对称(即对所有i,j都有a[i][j]=a[j][i])。

#include

voidmain()

{inta[4][4],i,j,k=0;

for(i=0;i<4;i++)//数组元素的输入

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

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

for(i=0;i<4;i++)//比较判断是否对称

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

{if(a[i][j]!

=a[j][i])//如果有一个不相等,就输出No,并结束循环

{printf(“No\n”);

break;

}

elsek

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1