ACM_编程与调试重点记录(十四)

1. 字符串输入输出函数的使用比较:

/*

【例8-15-2】字符串输入输出函数的使用比较。

*/

 

/* 程序B:使用getsputs函数输入输出字符串的示例*/

#include <stdio.h>

int main( )

{

    char str[80];

 

    gets(str);

    puts(str);

    puts("Hello");

 

    return 0;

}   

/*

【例8-15-1】字符串输入输出函数的使用比较。

*/

 

/* 程序A:使用scanfprintf函数输入输出字符串的示例 */

#include <stdio.h>

int main( )

{

    char str[80];

 

    scanf("%s", str);

    printf("%s", str);

    printf("%s", "Hello");

 

    return 0;

}

 


2 #include<stdio.h>

void dele(int a[]);

int min(int a[]);

void sum(int a[]);

int n=9;

main()

{

    int i,a[9]={1,4,2,5,23,5,55,-2,1},*p,min1;

    p=a;

    dele(p);

    min1=min(p);

    printf("/n/n/n");

    printf("min=%d/n",min1);

    sum(p);

    //system("pause");[GP1] 

}

 

void dele(int a[])

{

    int maxi,i;

    maxi=0;

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

       

 

 if (maxi<a[i])maxi=i;

  

 for (i=maxi;i<n-1;i++) a[i]=a[i+1];

    n--;

}

int min(int a[])

{

    int min,i;

    min=a[0];

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

        if (min>a[i])min=a[i];

    return min;

}

 

void sum(int a[])

{

    int sum1,ave,i;

    sum1=0;

    for (i=0;i<n;i++)sum1+=a[i];

    ave=sum1/n;

    printf("sum=%d,ave=%d/n",sum1,ave);

}

 

 

3. 排序:


#include <stdio.h>

main()

{

    int i,j,t,a[6],n;

    printf("/n/n/nPlease input 6 number:/n");

    n=6;

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

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

    for (i=0;i<n-1;i++)

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

            if (a[i]>a[j])

            {

                t=a[i];

                a[i]=a[j];

                a[j]=t;

            }

[GP2]     printf("The sorted numbers are:/n");

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

        printf("%6d",a[i]);

    printf("/n");

}

4. /* 删除数组中的一个指定元素 */

 

/* 在数组中查找一个给定的数 */

#include <stdio.h>

int main(void)

{

    int i,j, n, x;

    int a[10];   

    n=5;

    printf("Enter 5 integers: ");   /* 提示输入5 个数 */

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

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

    printf("Enter x: ");        /* 提示输入 x */

    scanf("%d", &x);

    /* 在数组a中查找x */

     for(i = 0; a[i]!=x; i++);

     if(i<n)

     {

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

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

        n=n-1;

      }

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

       printf("%5d", a[i]);

  

      

}   

4.

/*输入一个以回车结束的字符串(少于80个字符),反序后输出*/

#include<stdio.h>

int main(void)

{

    int count, i,j;

    char str[80],c;

 

    /* 输入字符串 */

    printf("Enter a string: ");       /* 输入提示 */

    i = 0;

       count = 0;

    while((str[i] = getchar( )) != '/n')

        i++;

    str[i] = '/0';                    /* 将结束符 '/0' 存入数组 */

    count=i;

    /* 统计字符串中数字字符的个数 */

     printf("count = %d/n", count);

    for(i = 0,j=count-1; i<j; i++,j--)

    {c=str[i];str[i]=str[j];str[j]=c;}

[GP3]      printf("Str=%s/n",str);

}   

5.

/*【例6-11】输入一个以回车结束的字符串(少于80个字符),大写字母加密后输出*/

 

/* 统计字符串中数字字符的个数 */

#include <stdio.h>

int main(void)

{

    int count, i,j;

    char str[80];

    char str2[]="ZXYWVUTSRQPONMLKJIHGFEDCBA";

    /* 输入字符串 */

    printf("Enter a string: ");       /* 输入提示 */

    i = 0;

    while ((str[i] = getchar( )) != '/n')

        i++;

    str[i] = '/0';                    /* 将结束符 '/0' 存入数组 */

    /* 统计字符串中数字字符的个数 */

    count = 0;

    for (i = 0; str[i] != '/0'; i++)  /* 循环条件:数组元素 str[i] 不等于 '/0' */

        if (str[i] >= 'A' && str[i] <= 'Z')

        {

            count=str[i]-'A';

            str[i]=str2[count];

        }

    printf("count=%s/n",str);

    i = 0;

    while ((str[i] = getchar( )) != '/n')

        i++;

    for (j=0; ;j++)

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

            if (str[j]==str2[i])

                printf("%c",i+'A'[GP4] );

[GP5] }

6.三个数比较大小:

#include <stdio.h>

main()

{

    int a,b,c,min;

    scanf("%d%d%d",&a,&b,&c);

    min=a<b?(a<c?a:c):(b<c?b:c); 

    printf("min=%d/n",min);

}

运行结果:

 

8 9 65

min=8

请按任意键继续. . .

7.顺序结构:

#include <stdio.h>

main()

{

char a;

scanf("%c",&a);

printf("   %c/n",a);

printf("   %c/n",a);

printf("%c%c%c%c%c%c%c/n",a,a,a,a,a,a,a);

printf("   %c/n",a);

printf("%c%c%c%c%c%c%c/n",a,a,a,a,a,a,a);

printf("   %c/n",a);

printf("   %c/n",a);

}

运行结果:

 

 

8

   8

   8

8888888

   8

8888888

   8

   8

请按任意键继续. . .

 


 [GP1]系统暂停函数?

 [GP2]好!

 [GP3]好方法!循环一遍就实现了逆序排列。

 [GP4]不能是‘i+’A’,即数字i加上字符A

 [GP5]解密过程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值