07年4月自考“高級語言程序設(shè)計(jì)”模擬題(4)

字號:

34. struct porb
    {char * name;
    int count;
    }x[]={″Li ning″,19,″Lang ping″,21,″Zhu jian hua″,20};
    main()
    {int i;
    for(i = 0;i<3;i + + )
    printf(″﹪s: ﹪d \ n″,x[i].name,x[i].count);
    }
    35. main()
    {union
    {short a;char ch;
    }M;
    M.a = 100;M.ch =′A′;
    printf(″﹪d,﹪d,﹪c \n″,sizeof(M),M.a,M.ch);
    }
    四、程序填充題 (本大題共3小題,每小題6分,共18分)
    給出下列程序,將橫線處缺少的部分補(bǔ)上,使其能正確運(yùn)行。
    36. 以下程序的功能是用選擇法對數(shù)組a中的整數(shù)由小到大進(jìn)行排序。
    void sort(int b[],int n)
    { int i,j,t;
    for(i = 0;i    for(______;j    if(b[i]_____b[j])
    {t = b[i];_____________;b[j]=t;}
    }
    main()
    { int a[]={5,8,6,2,7,4,1,3};
    int i;
    sort(a,8);
    for(i = 0;i<8;i ++ )
    printf(″﹪5d″,a[i]);
    printf(″\ n″);
    }
    37. 輸入一字符串(換行為結(jié)束標(biāo)志)統(tǒng)計(jì)其中數(shù)字(0,1,2,…,9不單獨(dú)統(tǒng)計(jì))、空白和其它字符出現(xiàn)的次數(shù)。
    # include ″stdio.h″
    main()
    { char c;
    int ___________________________;
    while((c = getchar())! =′\ n′)
    {
    if(__________________________)digit + + ;
    else if(c = =′′‖c = =′\ t′) ++ blank;
    else __________________________;
    }
    printf(″digit =﹪d,blank =﹪d,other =﹪d \ n″,digit,blank,other);
    }
    38. 先為數(shù)組a輸滿數(shù)據(jù),再為x輸入一個(gè)數(shù)據(jù),在數(shù)組a中找出第一個(gè)與x相等的元素并將其下標(biāo)輸出,若不存在這樣的元素,則輸出“Not found!”標(biāo)志。
    main()
    {int i,x,a[10];
    for(i = 0;i<10;i ++ )scanf(″﹪d″,___________);
    scanf(″﹪d″,&x);printf(″﹪d″,x);
    for(i = 0;i<10;i ++) if(_________________)break;
    if (i _________10)printf(″ position:﹪d \ n″,i);
    else printf(″ Not found! \ n″,x);
    }
    五、程序設(shè)計(jì)題 (第39小題5分,第40、41小題各6分,共17分)
    39. 求出10至1000之內(nèi)能同時(shí)被2、3、7整除的數(shù),并輸出。
    40. 求1到100之間的奇數(shù)之和及偶數(shù)之和,并將二者輸出。
    41. 輸入一字符串,檢查是否回文 (回文是指正反序相同,如,LeveL),若是則輸出“Yes”,否則輸出“No”。