c语言 输入两个字符串,比较它们的大小 字典顺序 自定义函数实现,C语言程序设计-第二次作业的部分答案及分析.doc...

C语言程序设计-第二次作业的部分答案及分析

三、写出下列每个程序运行后的输出结果

1. #include

void main() {

int a[10]={12,39,26,41,55,63,72,40,83,95};

int i, i1=0, i2=0;

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

if(a[i]%2==1) i1++; else i2++;

printf("%d %d\n",i1,i2);

}

6 4

/* i1,i2分别统计a数组中奇数和偶数的个数。a[i]%2==1,是说a[i]除以2的余数等于1,说明a[i]是奇数。a数组中,a[1]、a[3]、a[4]、a[5]、a[8]和a[9]是奇数,共6个;a[0]、a[2]、a[6]和a[7]是偶数,共4个。 */

2. #include

#include

void main() {

int i;

char* a[5]={"student","worker","cadre","soldier","peasant"};

char *p1, *p2;

p1=p2=a[0];

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

if(strcmp(a[i], p1)>0) p1=a[i];

if(strcmp(a[i], p2)<0) p2=a[i];

}

printf("%s %s\n",p1,p2);

}

worker cadre

/* p1,p2分别指向排名最后和最前的两个字符串。Strcmp(a[i],p1)>0是指a[i]字符串大于p1字符串(字符串大小是根据字典顺序确定,排在前面为小,排在后面为大)。经过循环处理,p1指向串值最大的字符串,即排名最靠后的串worker,p2指向串值最小的字符串,即排名最靠前的串cadre。 */

3. #include

int a[10]={4,5,6,15,20,13,12,7,8,9};

void main()

{

int i,s0,s1,s2;

s0=s1=s2=0;

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

switch(a[i]%3) {

case 0: s0+=a[i];break;

case 1: s1+=a[i];break;

case 2: s2+=a[i];break;

}

}

printf("%d %d %d\n",s0,s1,s2);

}

42 24 33

/* s0,s1,s2分别累加a数组中除以3后,余0、余1、余2的三类元素 */

4. #include

void main() {

?

char a[]="abcdbfbgacd";

int i1=0, i2=0, i=0;

while(a[i]) {

if(a[i]=='a') i1++;

if(a[i]=='b') i2++;

i++;

}

printf("%d %d %d\n",i1,i2,i);

}

2 3 11

???????? 数组abcdbfbgacd\0

/* i1,i2,i分别统计a数组中字母a,b的个数以及字符串的长度(字母个数) 。

while(a[i])相当于while(a[i]!=’\0’),即未到串尾时。 */

5. #includ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值