栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

21Winter C语言程序设计第六章

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

21Winter C语言程序设计第六章

C语言程序设计 第六章

expr 2.1
#include
#include
int main(){
    int i,n;
    scanf("%d",&n);
    for(i = 2; i<=n;i++){
        while(n!=0){
            if(n%i==0){
                printf("%d*",i);
                n /= i;
            }
            else{
                break;
            }
        }
    }
    putchar('b');
    return 0;
}

在这个代码之中,因为有for循环对于i变量进行着范围的约束,所以说只要是n!=0就可以了,可以不用考虑最后n=1,i一直累加进入死循环的情况。(可以与实验六之中的my_fun()函数进行比较)

因为在实验六之中,质因数的分解是在同一个while循环中完成的,所以说只用了一层的循环。而且并没有对i进行范围的限制,所以导致如果在“1”的情况之下不break会出现死循环。

void fun(int m){
    int i = 2;
    printf("%d = 1",m);
    while(m>1){			//在这里对1进行约束,防止出现1一直除不尽,所以一直i++的情况。
        if(m%i==0){
            m/=i;
            printf("*%d",i);
        }
        else i++; 
    }
}

expr 2.2
#include
#include
int datoi(char str[]){
    int value = 0, i = 0;
    while(str[i]!=''){
        value = value*10 + str[i] - '0';
        i++;
    }
    return value;
}
int main(){
    char *str = "9999";
    printf("%d",datoi(str)*10+9);
    return 0;
}

注意,在做这个实验的时候不可以

#include

因为atoi这个函数在stdlib.h这个库之中已经存在了,相当于是对于这个函数进行复写,所以会导致报错。

expr 2.3
#include
void maxval(int (*num)[4]){
    int i, j, max, row =0, col = 0;
    max = num[0][0];
    for(i=0; i<4; i++)
        for(j=0; j<4;j++)
            if(max 
expr 2.9 

注意插入排序!!

#include
#include 
void insert(float* num,float new){
    int i = 11;
    num[12] = new;
    while( i>=0 && num[i] 
expr 2.10 
#include
#include 
int mycmp(char *p1, char* p2){
    while(*p1 && *p2 && *p1 == *p2){
        p1++, p2++;
    }
    return *p1 - *p2;
}
int main(){
    char *p1, *p2;
    p1 = (char*)malloc(sizeof(char)*20);
    p2 = (char*)malloc(sizeof(char)*20);
    gets(p1);
    gets(p2);
    printf("%d",mycmp(p1,p2));
    return 0;
}

Equivalent Solution:

int mycmp(char *p1, char* p2){
    while(*p1 && *p2 && *p1++ == *p2++);
    return *(--p1) - *(--p2);
}
expr 3.3
#include
#include 
void ss(char*s, char t){
    while(*s){
        if(*s==t)
            *s = t -'a' +'A';
        s++;
    }

}
void main(void){
    char str1[100] = "abcddfefdbd", c = 'd';
    ss(str1,c);
    puts(str1);
}

The code in Line 6 search for a particular character that is equal to the input char t, and return a Capitalized character in the string.

expr 3.6
#include
#include 
void sort(int a[], int n){
    int i,j,t;
    for(i = 0; i 

上述的代码的核心原理是,以输入的int型指针a为起点,以a+n-1指针为终点,进行降序的排序。

从a[3]开始,长度为5的子列进行一个降序的排序。

expr 3.7
#include
#include
#include
void sort(char **str, int n){
    char * tmp;
    int i, j;
    for(i=0; i0){
                tmp = str[j], str[j] = str[j+1], str[j+1] = tmp;
            }
}
int main(){
    char **ps, *str[3] ={"BOOK", "COMPUTER", "CHINA"};
    int i;
    ps = str;
    sort(str,3);
    for(i=0;i<3;i++)
        puts(str[i]);
    return 0;
}
expr 5.2
#include
#include
int prime(int x){
    int flag = x;
    for(int i = 2;i 
expr 5.10 
#include
#include
int sort(short *num, int n){
    int p;
    short temp;
    for(int i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676623.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号