代码记录2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码记录2相关的知识,希望对你有一定的参考价值。

//编写一个程序,输入一系列单词,单词之间以逗号分隔,然后提取这些单词,并将它们分行输出,删除头尾的空格。例如:如果输入是:John ,Jack ,Jill
//输出将是:
//John
//Jack
//Jill 
#include <stdio.h>
void main()
{
    
    int i=0;
    char str[100];
    bool mark=true;
    gets(str);
//在上题的基础上,完成字符大小写的转换。如,上题的输出变为:
//jOHN
//jACK
//jILL
    for(i=0;str[i]!=\0;i++)
    {
        if(mark&&str[i]== )
        {
            continue;
        }
        if(str[i]==,)
        {
            printf("\n");
            mark=true;
        }
        else
        {
            if(str[i]==j)
            printf("%c",str[i]);
        else
            printf("%c",str[i]-32);
            mark=false;
        }    
    }
    printf("\n");
}
      
//回文是正读反读均相同的句子,忽略空白和标点符号。
//例如,"Madam,I‘m Adam" 和 "Are we no drawn onward,we few?Drawn onward to new era?"都是回文。
//编写一个程序,确定从键盘输入的字符串是否是回文。

#include <stdio.h>
void main()
{
    
    int i=0,j=0,b=0;
    char str[100],a[100];
    bool mark=true;
    gets(str);
    for(i=0;str[i]!=\0;i++)
        if(str[i]<60||str[i]>122)
            continue;
        else
        {
            if(str[i]>90&&str[i]<97)
                break;
            else
            a[j]=str[i];
            j++;
        }
    for(j=j-1;j>=0;j--)
    {
        if(a[b]!=a[j])
        {
            mark=false;
            break;
        }
        else
            b++;
    }
    
    if(mark==true) printf("是回文");
        else printf("不是回文");

   
}
//完成字符串元素的逆序输出 忽略空格和其他字符
#include <stdio.h>
void main()
{
    int i=0,j=0,b=0;
    char str[100],a[100];
    gets(str);
    for(i=0;str[i]!=\0;i++)
    {
        if(((str[i]<65)||(str[i]>122))&&((str[i]>90)||(str[i]<97)))
            continue;
        else
        {
            a[j]=str[i];
            j++;
        }
    }
    for(j=j-1;j>=0;j--)
        printf("%c",a[j]);
    printf("\n");


}
//    从键盘输入10个整数存入一维数组中,然后将该数组中的各元素按照逆序存放显示出来。
#include <stdio.h>
void main()
{
    int i, a[15];
    for( i=0; i<10; i++ )
    {
        scanf("%d", &a[i]);
    }
    for( i--; ; i-- )
    {
        printf("%d", a[i]);
        if( i )
        {
            printf(" ");
        }
        else
        {
            printf("\n");
            break;
        }
    }
}

//输入一个字符串,将该字符串的数据存储在一个字符数组中。统计该字符串中单词、数字、空格和其他字符的个数各是多少?
//(提示:本题需要设置如下几个变量来存储各类字符的个数,word、digit、space、others。)
#include <stdio.h>
void main()
{
    int i,word=0,digit=0,space=0,others=0;
    char str[100];
    bool mark=false;
    gets(str);
    for(i=0;str[i]!=\0;i++)
    {
        if(((str[i]>64)&&(str[i]<91))||((str[i]>96)&&(str[i]<123)))
        {
            mark=true;
            continue;
        }
        else
        {
            if(mark)
            {
                word++;
                mark=false;
            }
            if(str[i]==32)
                space++;  
             else
             {
                 if((str[i]>47)&&(str[i]<58))
                     digit++;
                 else
                     others++;
             }
            
            
        }
    }
    printf("word=%d\n",word);
    printf("space=%d\n",space);
    printf("digit=%d\n",digit);
    printf("others=%d\n",others);

}
//某学生期末考试共有5门课程,分别是英语、数学、计算机基础、思想道德修养、程序设计。编写程序,输入他各门课程的得分,输出他的平均分和不及格的课程名称和分数。
//(注意使用适当的数据类型)
//测试数据如:英语 58、数学40、计算机基础83、思想道德修养80、程序设计86
//输出平均分
//输出不及格的课程: 英语 58 ;数学40
#include <stdio.h>
void main()
{
    int a[100],ave;
    printf("英语成绩为");
    scanf("%d",&a[1]);
    printf("数学成绩为");
    scanf("%d",&a[2]);
    printf("计算机基础成绩为");
    scanf("%d",&a[3]);
    printf("思想道德修养成绩为");
    scanf("%d",&a[4]);
    printf("程序设计成绩为");
    scanf("%d",&a[5]);
    ave=(a[1]+a[2]+a[3]+a[4]+a[5])/5;
    printf("平均分为%d\n",ave);
    if(a[1]<60) printf("英语%d分不及格\n",a[1]);
    if(a[2]<60) printf("数学%d分不及格\n",a[2]);
    if(a[3]<60) printf("计算机基础%d分不及格\n",a[3]);
    if(a[4]<60) printf("思想道德修养%d分不及格\n",a[4]);
    if(a[5]<60) printf("程序设计%d分不及格\n",a[5]);
}

//编写一个程序,找出二维数组中的最大和最小元素,在main()完成所有的工作。
//测试数据如: int a[3][4]={{1,2,15,3},{0,30,5,7},{4,6,8,10}};
#include <stdio.h>
void main()
{
    int a[3][4]={{1,2,15,3},{0,30,5,7},{4,6,8,10}};
    int i,j,max=0,min=99999;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            if(a[i][j]>max)
                max=a[i][j];
        }
    }
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            if(a[i][j]<min)
                min=a[i][j];
        }
    }
    printf("最大的元素为%d\n",max);
    printf("最小的元素为%d\n",min);

}

 

以上是关于代码记录2的主要内容,如果未能解决你的问题,请参考以下文章

记录C#常用的代码片段

golang代码片段(摘抄)

[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段

提效小技巧——记录那些不常用的代码片段

用于从 cloudkit 检索单列的代码模式/片段

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段