美文网首页
课后作业

课后作业

作者: 丿水木灬年华 | 来源:发表于2016-12-16 17:41 被阅读0次

    打印2~100的素数:
    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;
    }

    在已排好序的数组中插入一个数,人让其排好输出:

    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;
    }

    课堂笔记:
    指针:
    野指针:没有初始化,或者其指向的内存被释放,而指针没有被置空;危害:造成段错误处,出现未知的错误。
    指针的运算:指针的自增和自减自增:指针向高地址方向移动;自减:指针向低地址方向移动;指针不能相加,只能相减;
    概念区分int buf[3];int *pb;int arr[3];指针数组int (pa)[3];数组指针
    二级指针:DataType **pointername;int a = 10;int *p = &a;int pa = &p;pa = *p = a = 10;

    总结:今天讲的东西重在理解数组,理解数组和指针之间的各项,要学会思路的理转换和理解作业:

    1.编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数(用指针实现)#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数字:%4d\n其他:  %4d\n",capital_count,lowercase_count,space_count,number_count,other_count);    
                          printf("%d",index); return 0;}
    

    2.从键盘输入5个整数存入一个数组。然后输入另外一个数,用指针的方法从中查找该数是否存在,如果找到,输出该数所在的下标,否则输出消息:"没有找到"。
    //在数组中查找一个数然后输出下标#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];用指针方法将数组a和数组b的内容存到数组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);
    }

    相关文章

      网友评论

          本文标题:课后作业

          本文链接:https://www.haomeiwen.com/subject/mjonmttx.html