华为机考HJ4字符串分隔C语言题解
生活随笔
收集整理的這篇文章主要介紹了
华为机考HJ4字符串分隔C语言题解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
華為機(jī)考HJ4字符串分隔C語(yǔ)言題解
好家伙,今天的while循環(huán)檢測(cè)文件末尾又好使了。
把白給打在公屏上。
主要思路就是求余的花樣使用。
首先把字符串?dāng)?shù)組里的內(nèi)容全部放入新的數(shù)組。
新的數(shù)組每滿(mǎn)八個(gè)就會(huì)刷新一次。
這里主要利用的是舊的數(shù)組的角標(biāo)對(duì)8求余作為新數(shù)組的角標(biāo)。
特別注意的是第0個(gè)字符,0對(duì)8求余為0,但開(kāi)頭不應(yīng)該輸出回車(chē),所以應(yīng)該設(shè)置條件排除。
得到其余的求余為0的角標(biāo)后正常輸出回車(chē)。
其次同樣利用對(duì)8求余補(bǔ)0。
一開(kāi)始我以為數(shù)組的初值都為0,但忘了這是字符數(shù)組,大意了。
一個(gè)每天使用單片機(jī)的人碰上這種數(shù)據(jù)類(lèi)型的題,總是容易混淆。。。
把白給打在公屏上。
希望大家都能拿到offer。
#include<stdio.h>
#include<string.h>//檢測(cè)字符串長(zhǎng)度,將字符串長(zhǎng)度對(duì)8求余。
//將數(shù)組角標(biāo)對(duì)8求余的結(jié)果作為新字符串的角標(biāo)并放入int len;
char str[101],new[101];
int extra,add,des,i,count=0,j;
int main(){
while(scanf("%s",str)!= EOF){
len = strlen(str);
for( i = 0; i < len ;++i ) //注意區(qū)分i++與++i
{new[i%8] = str[i];if((i%8)==0 && i> 0){printf("\n");}printf("%c",new[i%8]);} while(len%8)//補(bǔ)0{printf("0");++len;}printf("\n");}return 0;
}
總結(jié)
以上是生活随笔為你收集整理的华为机考HJ4字符串分隔C语言题解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 李文迪钢琴家
- 下一篇: 华为机考HJ6求质因子C语言解法