手抄代码1-13

1-13

打印统计结果的图形,

#include<stdio.h>
#define MAXHIST 15//nc 转 len 常量
#define MAXWORD 11//有效单词长度
#define IN 1//单词内
#define OUT 0//单词外
main()
{
    int c, i, nc, state;//字符,for,单词当前长,单词内外,
    int len;//处理过的nc,
    int maxvalue;//输入的最长单词
    int ovflow;//超出范围的单词个数
    int wl[MAXWORD];//每种词长的个数,
    state = OUT;
    nc = 0;
    ovflow = 0;
    for(i=0; i<MAXWORD; i++)
    wl[i] = 0;//初始化单词长度
    while((c=getchar()) != EOF) //输入单词
    {
        if(c==' '||c=='\n'||c=='\t')//输入是空白符时
        {
            state = OUT;//更改为在单词外
            if(nc > 0 && nc < MAXWORD)//单词长度属于这个范围则统计
                wl[nc]++;
            else
                ovflow++;//超出范围统计
            nc = 0;//输入词长清理
        }
        else if(state == OUT)//输入是非空字符时,且之前在单词外
        {
             state = IN;//更改为单词内,
             nc = 1;//基数单词字符1个,
        }
        else
            nc++;//在单词内且非空字符,单词长度累加
    }
    maxvalue = 0;
    for(i=1; i<MAXWORD; i++)
        if(wl[i]>maxvalue)//最长的单词,
            maxvalue = wl[i];
    for(i=1;i<MAXWORD; i++)
    {
        printf("%-5d - %5d :", i, wl[i]);//单词长度, 个数,
        if(wl[i]>0)
        {
             if((len=wl[i]*MAXHIST/maxvalue) <= 0)//处理单词个数,的长度,
                 len = 1;
        }
        else
            len = 0;
        while(len>0)
        {
             putchar('*');//个数直方图,
             len--;
        }
        putchar('\n');
    }
    if(ovflow>0)
        printf("超出范围的单词数%d 不可以大于%d\n", ovflow, MAXWORD);
}

输入多个单词, 每种长度输出一行,即长度, 个数, 个数的直方图。

1-4

统计输入每个字符出现的频率ascii码的字符个数是128个,可以用arr[0 - 127],累加

#include<stdio.h>
#include <ctype.h>//isprint 判断是否为字符
#define MAXHIST 15//nc 转 len 常量
#define MAXCHAR 128//有效字符集
main()
{
    int c, i;//输入字符,for
    int len;//处理过的个数,
    int maxvalue;//输入的最长单词
    int cc[MAXCHAR];//每种字符的个数,
    for(i=0; i<MAXCHAR; i++)
    cc[i] = 0;//初始化字符个数
    while((c=getchar()) != EOF) //输入字符
        if(c < MAXCHAR)//属于字符集
            cc[c]++;//累加
    maxvalue = 0;
    for(i=1; i<MAXCHAR; i++)
        if(cc[i]>maxvalue)//最大的字符,
            maxvalue = cc[i];
    for(i=1;i<MAXCHAR; i++)//0‘\0’是无法输入的
    {
        if(isprint(i))//是否字符
            printf("%-5d - %c - %5d :", i, i, cc[i]);//第几个,字符,字符频率
        else
            printf("%-5d - %5d:", i, cc[i]);//非字符
        if(cc[i]>0)
        {
             if((len=cc[i]*MAXHIST/maxvalue) <= 0)//处理字符输入的次数,
                 len = 1;
        }
        else
            len = 0;
        while(len>0)
        {
             putchar('*');//次数直方图,
             len--;
        }
        putchar('\n');
    }
}

巧用数组,a[32]++, 这样就统计数空格的个数了,

转载于:https://my.oschina.net/dengwo/blog/681479

以下是使用Android Studio制作手抄报的步骤: 1.创建一个新的Android Studio项目,选择空活动。 2.在项目中创建一个新的XML布局文件,用于手抄报的设计。可以使用LinearLayout或RelativeLayout等布局。 3.在布局文件中添加所需的组件,例如TextView、ImageView、Button等。可以使用颜色、图片、文本等来装饰手抄报。 4.在MainActivity.java文件中,使用findViewById()方法获取布局文件中的组件,并对其进行操作。例如,可以使用setText()方法设置TextView的文本,使用setImageResource()方法设置ImageView的图片等。 5.在AndroidManifest.xml文件中,添加必要的权限,例如读写外部存储器的权限,以便保存手抄报。 6.运行应用程序,查看手抄报的效果。如果需要,可以进行调整和修改。 下面是一个简单的示例代码,用于在Android Studio中制作手抄报: ```xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 添加背景图片 --> <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/background" /> <!-- 添加标题 --> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="手抄报" android:textSize="30sp" android:textColor="#FFFFFF" android:layout_marginTop="50dp" android:layout_centerHorizontal="true" /> <!-- 添加内容 --> <TextView android:id="@+id/content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是一份手抄报,用于演示Android Studio的制作方法。" android:textSize="20sp" android:textColor="#FFFFFF" android:layout_marginTop="150dp" android:layout_centerHorizontal="true" /> <!-- 添加保存按钮 --> <Button android:id="@+id/saveButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存" android:textSize="20sp" android:textColor="#FFFFFF" android:background="@drawable/button_background" android:layout_marginTop="300dp" android:layout_centerHorizontal="true" /> </RelativeLayout> ``` ```java public class MainActivity extends AppCompatActivity { private ImageView imageView; private TextView title; private TextView content; private Button saveButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获取布局文件中的组件 imageView = findViewById(R.id.imageView); title = findViewById(R.id.title); content = findViewById(R.id.content); saveButton = findViewById(R.id.saveButton); // 设置组件的属性 title.setText("手抄报"); content.setText("这是一份手抄报,用于演示Android Studio的制作方法。"); // 保存手抄报 saveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO: 保存手抄报到外部存储器 } }); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值