saowu's Blog

C语言程序集(76-80)

C语言程序集(76-80)
2020-04-03 · 3 min read
C 日记

76.整数数值交换

#include<stdio.h>
int main()
{   int a=1,b=2;
    a-=b;
    b+=a;
    a=b-a;
    printf("a=%d,b=%d",a,b);
    return 0;
}

77.将9个学生的考试成绩进行分段统计...

将9个学生的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存在b组中:成绩为60到69的人数
存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3
],成绩为100的人数存到b[4],成绩为60以下的人数存到b[5]中。请输出数组b中的数据。假设a数组中的整数
数据为:93 85 77 68 59 43 94 75 98。 要求程序简练,采用的分支语录中分支语句中支数尽量少。

#include<stdio.h>
int main()
{   int a[9]= {93,85,77,68,59,43,94,75,98},b[6]= {0},i;
    for(i=0; i<9; i++)
        if(a[i]<60)
            b[5]++;
        else
            b[(a[i]-60)/10]++;
    for(i=0; i<6; i++)
        printf("%d",b[i]);
    return 0;
}

78.利用指针设计一个函数,求字符串长度

int strlen(char *s) {
    char *p=s;
    while(*p)
        p++;
    return p-s;
}

79.不规则数组去重

(自己写的)
#include<stdio.h>
int main()
{   int a[]= {1,2,2,2,4,5,5,8,9,9};
    int i,j,n=10,z,m;
    for(i=0; i<n; i++) {
        //更新数组长度,m必须每次全部平移后才能更新
        m=n;
        for(j=i+1,z=i+1; j<m; j++)
            if(a[i]!=a[j]) {
                a[z++]=a[j];
            } else {
                //记录数组移除重复数量
                n--;
            }
    }

    for(int k=0; k<n; k++)
        printf("%d",a[k]);
    return 0;
}

(老师写的)
#include<stdio.h>
int main()
{   int a[]= {1,2,2,2,2,4,5,5,8,9,9};
    int i,j,k,n=11;
    for(i=0; i<n; i++) {
        for(j=i+1; j<n;)
            if(a[i]==a[j]) {
                for(k=j+1; k<n; k++)
                    a[k-1]=a[k];
                n--;
            } else {
                j++;
            }
    }

    for(int t=0; t<n; t++)
        printf("%d",a[t]);
    return 0;
}

80.统计单词个数,并记录最长单词长度(p166)

#include<stdio.h>

int main()
{
    char string[81];
    int i,num=0,len=0,max=0;
    char c;
    gets(string);
    for(i=0; (c=string[i])!='\0'; i++)
        if(c==' ') {
            if(len>max)
                max=len;
            len=0;
        }
        else if(len==0) {
            len++;
            num++;
        }
        else {
            len++;
        }

    printf("There are %d words ,The longest word is %d",num,max);
    return 0;
}
Copyright © 2020 - 2024 saowu. All Right Reserved
Powered by Gridea