现在的位置: 首页 > 综合 > 正文

[C语言学习]作业十

2013年01月07日 ⁄ 综合 ⁄ 共 1656字 ⁄ 字号 评论关闭

题目: 
1) 查阅期中考试的各题参考解答;
2) 编制C语言程序(考试的五题的第二小题),"读取两个字符串,按字典次序比较它们的大小,不要用标准函数strcmp"
3) 编制C语言程序(书129页第四题),"输出字串中包含a的最长的单词"
 C程序调试正确后粘贴在下框内,提交作业。

--------------------------------------------------------------------------------

提交作业时间:2004-4-14 11:40:10   
/* ==============  Program Description  ============= */
/*                    -[i]清翔兔 -                    */
/* ================================================== */
#include<stdio.h>
#include<string.h>
#define PF printf
/*第1题*/
void L10_1()
{
    char a[20],b[20]; int i=0,j=0,m=0,a1=0,b1=0;
    printf("请输入第一个单词:");
        scanf ("%s",a);
    printf("请输入第二个单词:");
        scanf ("%s",b);
    for(i=0;a[i]!='/0';i++) a1++;
    for(i=0;b[i]!='/0';i++) b1++;
    if (a1<b1)
    {for(i=0;i<=a1;i++)    if(a[i]>b[i]) m=1;}
    else
    {    m=1;
        for(i=0;i<=b1;i++)
        if(a[i]<b[i]) m=0 ;
    }
    if (m==0)     printf("%s在字典中靠前/n",a);
    else  printf("%s在字典中靠前/n",b);
}

/*第2题*/
void check(char s1[], char s2[])
{
int i,j=0,e=0,f=0,c=0,d=0;
char a1[20][20],a2[20][20];
int t[10]={0};
for (i=0;s1[i]!='/0';i++)
     if (s1[i]==' ')
     {a1[j][c]='/0';j++;c=0;}
     else {a1[j][c]=s1[i];c++;}
     a1[j][c]='/0';
     for (i=0;i<=j;i++)  
       for (c=0;a1[i][c]!='/0';c++)
           if (a1[i][c]=='a')
           {strcpy(a2[d],a1[i]);d++;
           break;}
           if (strlen(a2[0])!=0)
     for (i=0;i<d;i++)  
       for (c=0;a2[i][c]!='/0';c++)
       t[i]++;
   for (i=0;i<d;i++)  
       if (t[i]>e)
     {e=t[i];f=i;}
     strcpy(s2,a2[f]);
}
void L10_2()
{ char s1[81]="Today is April 7, 2004. It's a fine day.";
  char s2[1]="";     
  //scanf("%s",s1);
  check(s1,s2);
  if (strlen(s2)!=0) PF("Q5_C4题:含有a的最长的单词是 %s/n",s2);
  else PF("Q5_C4题:没有包含a的单词/n");
}

main()
{
    L10_1();
    L10_2();
}

得分:7  点评:/

抱歉!评论已关闭.