C基礎(chǔ)for循環(huán)和數(shù)組(7)(8)

打印2~100的素?cái)?shù):

int main(int argc,char *argv[]){
    int num,i,j;
    int arr[50];
    int index = 1;
    for(num = 2;num < 100;num++){
        for(j = 2;j <= num;j++){
            if(num % j == 0)
                break;
        }
        if(j == num){
            arr[index] = num;
            index++;
        }
    }
    for(i = 0;i < index;i++){
        if(i % 5 == 0 && i / 5 != 0)
            printf("\n");
        printf("%4d",arr[i]);
    }
    return 0;
}

在已排好序的數(shù)組中插入一個(gè)數(shù),人讓其排好輸出:

#include<stdio.h>
int main(){
    int arr[6] = {4,6,33,35,65};
    int i,insert,temp;
    printf("input a num of insert:\n");
    scanf("%d",&insert);
    //insert = 5;
    for(i = 0;i < 6;i++){
        if(arr[i]>insert){
            temp = arr[i];
            arr[i] = insert;
            insert = temp;
        }
    }
    arr[5] = insert;
    for(i = 0;i<6;i++){
        printf("%d ",arr[i]);
    }
    printf("\n");
    return 0;
}

課堂筆記:

指針:

  • 野指針:
    沒有初始化,或者其指向的內(nèi)存被釋放,而指針沒有被置空;
    危害:造成段錯(cuò)誤處,出現(xiàn)未知的錯(cuò)誤。
  • 指針的運(yùn)算:
    指針的自增和自減
    自增:指針向高地址方向移動(dòng);
    自減:指針向低地址方向移動(dòng);
    指針不能相加,只能相減;
  • 概念區(qū)分
    int buf[3];
    int *pb;
    int arr[3];指針數(shù)組
    int (
    pa)[3];數(shù)組指針
  • 二級(jí)指針:
DataType **pointername;
int a = 10;
int *p = &a;
int **pa = &p;
**pa = *p = a = 10;

總結(jié):今天講的東西重在理解數(shù)組,理解數(shù)組和指針之間的各項(xiàng),要學(xué)會(huì)思路的理轉(zhuǎn)換和理解

作業(yè):

  • 1.編程輸入一行文字,找出其中的大寫字母,小寫字母,空格,數(shù)字,及
    其他字符的個(gè)數(shù)(用指針實(shí)現(xiàn))
#include<stdio.h>
int main(int argc,char *argv[]){
    char arr[100];
    char *p = arr;
    int index = 0;
    int capital_count = 0;
    int lowercase_count = 0;
    int space_count = 0;
    int number_count = 0;
    int other_count = 0;
    printf("input string:");
    for(p = arr;p < arr+100;p++){
        scanf("%c",p);
        if(*p == '\n')
            break;
        //index++;
        else if(*p>='A' && *p<='Z')
            capital_count ++;
        else if(*p>='a' && *p<='z')
            lowercase_count ++;
        else if(*p == 32)
            space_count ++;
        else if(*p>=48 && *p<=57)
            number_count ++;
        else
            other_count ++;     
    }
    printf("大寫字母:%4d\n小寫字母:%4d\n空格:%4d\n數(shù)字:%4d\n其他:%4d\n",capital_count,lowercase_count,space_count,number_count,other_count);
    printf("%d",index);
    return 0;
}```
* 2.從鍵盤輸入5個(gè)整數(shù)存入一個(gè)數(shù)組。然后輸入另外一個(gè)數(shù),用指針的方法從中查找該數(shù)是否存在,如果找到,輸出該數(shù)所在的下標(biāo),否則輸出消息:"沒有找到"。

//在數(shù)組中查找一個(gè)數(shù)然后輸出下標(biāo)

include<stdio.h>

int main(int argc,char *argv[]){
int index = 0;
int arr[5];
int pointer = arr;
int i = 0;
printf("input five number:");
for(i = 0;i < 5;i++)
scanf("%d",pointer+i);
int seek_num = 0;
printf("input a num of seeking:");
scanf("%d",&seek_num);
for(pointer = arr;pointer < arr + 5;pointer++){
if(
pointer == seek_num){
i = pointer -arr;
index++;
printf("this number is found!index is :%d\n",i);
}

}
if(index == 0)
        printf("Dont found!!!\n");
return 0;

}```

  • 3.char a[5]="hello"; char b[5]="world"; char c[14];用指針方法將數(shù)組a和數(shù)組b的內(nèi)容存到數(shù)組c中
//合并字符串
#include<stdio.h>
int main(int argc,char *argv[]){
    char a[5] = "hello";
    char b[5] = "world";
    char c[14] = {0};
    char *pa = a;
    char *pb = b;
    char *pc = c;
    for(pa = a;pa < a+5;pa++,pc++)
        *pc = *pa;
    for(pb = b;pb < b+5;pb++,pc++)
        *pc = *pb;
    pc = c;
    printf("%s\n",pc);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1章 第一個(gè)C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計(jì)第5章 條件結(jié)構(gòu)程序設(shè)計(jì)第6章...
    小獅子365閱讀 10,874評(píng)論 3 71
  • 作業(yè)整理; 指針的基本的結(jié)構(gòu)與基礎(chǔ)知識(shí)整理; 作業(yè)講解:(1) 將2~100之間的素?cái)?shù) 保存到數(shù)組中,并遍歷輸出,...
    比莉吉恩閱讀 433評(píng)論 0 0
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,615評(píng)論 3 44
  • 打印2~100的素?cái)?shù):int main(int argc,char *argv[]){ int num,i...
    丿水木灬年華閱讀 245評(píng)論 0 0
  • 昨天下午,我終于將隨園陽臺(tái)的窗戶清潔完畢。那灰塵足有1mm厚,可是以前我從未想過去擦拭。上次去八樓鄰居家?guī)殞毻妫?..
    Allen_G閱讀 258評(píng)論 0 0

友情鏈接更多精彩內(nèi)容