OC

习题合集三

#import <Foundation/Foundation.h>
//1用函数实现 : 随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
void RadomMax(int arraya[],int count){
    int max = 0;
    for (int i = 0; i < 20; i++) {
        arraya[i]=arc4random()%(100-10-1)+10;
        printf("%d\n",arraya[i]);
        if (arraya[i]>10) {
            max = max > arraya[i] ? max : arraya[i];
        }
    }
    printf("最大值为:%d\n",max);
}
//用函数实现 : 输入一个整数,判断奇偶,并返回判断结果(BOOL)
int ParityNum(int a){
//    printf("请输入一个数%d",&a);
//    scanf("%d",&a);
    BOOL b = a%2==0;
    if (b == 0) {
        printf("%d是奇数",a);
    }else{
        printf("%d是偶数",a);
    }
    return b;
}
//3计算double类型的一维数组的平均值
//要求:
//1、编写一函数,计算n个元素的一维数组的平均值。
//2、在main()函数中调用该函数。
//3、用全局变量存储平均值。
double average = 0;

void averageArrayNumber(int arr[],int count){
    int sum = 0;
    for (int i = 0; i < count; i++) {
        sum = sum + arr[i];
        printf("%d ",arr[i]);
    }
    average = sum/count;
    printf("该数组的平均值为%f",average);
}

//4一维浮点型数组的冒泡排序函数
//题目重点
//函数的声明语法
//冒泡排序算法
void BubbleArray(double arr[],int count){
    for (int i = 0; i < count - 1; i++) {
        
        for (int j = 0; j < count - 1 - i; j++) {
            if (arr[j]>arr[j+1]) {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
    for (int i = 0 ; i < count; i++) {
        printf("%f  ",arr[i]);
    }
}

//5“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
void PalindromicNumber(char a[]){
   unsigned long length = strlen(a);
    int aa = 0;
    for (int i = 0; i<length/2;i++ ) {
        if (a[i] - a[length-i-1] == 0) {
            aa = 0;
        }else{
            aa = 1;
            break;
        }
    }
    if (aa == 0) {
        printf("是回文");
    }else{
        printf("不是回文");
    }
    
}
 //6编写函数统计一个三位正整数各位数的和。
void ThreeSum(int m){
    //100位
    int a = m/100;
    //个位
    int b = m%10;
    int c = (a/10)%10;
    int sum = a+b+c;
    printf("%d的各位数和为:%d",m,sum);
}
//7.1(1)编写实现strlen同功能的函数stringLength。
void stringLength(char c[]){
    int n = 0;
    while (c[n] != '\0') {
        n++;
    }
    printf("%d",n);
}
//7.2编写实现strcpy同功能的函数stringCopy。
void stringCopy(char m[],char n[]){
   
    unsigned long alength = strlen(m);
    unsigned long blength = strlen(n);
    if (alength == blength) {
        for (int i = 0; i < alength;i++ ) {
           m[i]=n[i];
        }
    }
    for (int j = 0; j < alength; j++) {
        printf("%c ",m[j]);
    }

}
//7.3编写实现strcat同功能的函数stringCatch。//注意 \0
void stringCatch(char a[],char b[]){
    unsigned long alength = strlen(a);
    unsigned long blength = strlen(b);
    for (int  i = 0 ; i < blength; i++) {
        a[alength+i] = b[i];
    }
    for (int i = 0; i<(alength+blength); i++) {
        printf("%c",a[i]);
    }
}
//7.4编写实现strcmp同功能的函数string Compare。
void stringCompar(char a[],char b[]){
    unsigned long alength = strlen(a);
    unsigned long blength = strlen(b);
    int sum = 0;
    for (int i = 0; (i < alength )&&(i<blength); i++) {
        
        if (a[i]==b[i]) {
            sum =0;
        }else{
            sum = a[i]-b[i];
        }
    }
    
    printf("%d",sum);
}

//8编写一个函数:将一个字符串中相同的元素删除,并在main()中调用,并输出
void DeleSameNum(char a[]){
    unsigned long length = strlen(a);
  
     int k =  0;
    for (int i = 0; i < length; i++) {
        for(int j = i+1;j<length;j++){
            if (a[i] == a[j]) {
                for ( k = j; k < length; k++) {
                    a[k]=a[k + 1];
                }
                length --;
            a[k] = '\0';
                j--;
                
            }
        }
    }
    length = strlen(a);
    printf("%lu",length);
    for (int i = 0; i<length; i++) {
        printf("%c",a[i]);
    }
    
    

}
int main(int argc, const char * argv[]) {
   // int a[20]={};
    //RadomMax(a, 20);
    
//    int n ;
//    printf("请输入一个数:");
//    scanf("%d",&n);
//    ParityNum(n);
    
    
    //int as[3]={1,2,9};
    //averageArrayNumber(as,3);
    
//    double ad[] = {12.0,45.0,2.0,36.0,5.0};
//    BubbleArray(ad, 5);
    
    //ThreeSum(124);
    
  // char parNum[]= "ajiea";
  // PalindromicNumber(parNum);
    
//    char s[] = "asdfs";
//    stringLength(s);
    
    char am[] = "sdadsf";
   // char bm[] = "sdp";
    //stringCopy(am, bm);
    //stringCatch(am,bm);
   // stringCompar(am, bm);
    DeleSameNum(am);
        return 0;
   
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,312评论 5 473
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,578评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,337评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,134评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,161评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,303评论 1 280
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,761评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,421评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,609评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,450评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,504评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,194评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,760评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,836评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,066评论 1 257
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,612评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,178评论 2 341

推荐阅读更多精彩内容