1.输入一个小写字母,将其转化为大写
#import <Foundation/Foundation.h> char change(char c) { if (c>='a' && c<='z') // 保证输入的是小写字母 { return c - 32; } else { return c; } } int main() { NSLog(@"please input"); char m; scanf("%c",&m); char k = change(m); NSLog(@"%c",k); return 0; }
2.输入一个句子,然后把每个单词首字母大写之后输出。
int main() { char *sen; NSLog(@"please input"); gets(sen); if(sen[0]>='a' && sen[0]<='z') { sen[0] = sen[0]-32; }; for (int i = 0;sen[i] != '\0';i++) { if(sen[i] == ' ') { if (sen[i+1]>='a' && sen[i+1]<='z') { sen[i+1] = sen[i+1]-32; }; } } NSLog(@"%s",sen); // NSLog输出看来也是认地址,然后到/0结束 return 0; }
3.用类与对象的思想设置一个学生
#import <Foundation/Foundation.h> typedef enum { Sexman, Sexwomen, Unknown }Sex; // 定义一个枚举 typedef struct { int year; int month; int day; }Date; // 定义一个结构体 typedef enum { FavRed, FavWhite, FavBlack }Favcolor; // 定义一个枚举 @interface Student : NSObject { @public Sex sex; Date birthday; double weight; Favcolor fav; } - (void)eat; - (void)run; - (void)printf; @end @implementation Student - (void)eat { weight = weight=1; NSLog(@"weight=%f",weight); } - (void)run { weight = weight-1; NSLog(@"weight=%f",weight); } - (void)printf { NSLog(@"xingbieshi%d,shengrishi%d-%d-%d,tizhongshi%f,xihuandeyanseshi%d",sex,birthday.year,birthday.month,birthday.day,weight,fav); } @end int main() { Student *p = [Student new]; p->sex = Sexman; Date d = {2011,10,9}; // 先将生日赋值给d,然后再传递给birthday,因为在定义对象的时候,已经对birthday赋值,这里无法用这种方式再次赋值 p->birthday = d; p->weight = 120; p->fav = FavRed; [p eat]; [p run]; [p run]; [p run]; [p printf]; return 0; }
4.用类和对象设置一个计算器,可以计算和,平方,返回3,14
#import <Foundation/Foundation.h> @interface Jisuanqi : NSObject - (double)pi; - (int)pingfang:(int)num; - (int)sumAndnum1:(int)num1 Withnum2:(int)num2; // 注意书写格式,两个形参之间加一个空格 @end @implementation Jisuanqi - (double)pi { return 3.14; } - (int)pingfang:(int)num { return num * num; } - (int)sumAndnum1:(int)num1 Withnum2:(int)num2 { return num1 + num2; } @end int main() { Jisuanqi *p = [Jisuanqi new]; double c1 = [p pi]; int c2 = [p pingfang:10]; int c3 = [p sumAndnum1:2 Withnum2:4]; NSLog(@"pi=%f,pingfang=%d,sum=%d",c1,c2,c3); return 0; }
5.设计一个方法,用来比较车速,若本车速快,返回1,若本车速慢,返回-1,若车速相同,返回0
#import <Foundation/Foundation.h> @interface Car : NSObject { @public int speed; } - (int)Comparespeedwith:(Car *)other; @end @implementation Car - (int)Comparespeedwith:(Car *)other { return speed - other->speed; } @end int main() { Car *p1 = [Car new]; p1->speed = 100; Car *p2 = [Car new]; p2->speed = 150; int c =[p1 Comparespeedwith:p2]; NSLog(@"suducha=%d",c); return 0; }
6.
//小明从2006年1月1日开始,每三天结识一个美女两天结识一个帅哥,编程实现当输入2006年1月1日之后的任意一天,输出小明那天是结识美女还是帅哥(注意润年问题)(C语言) #import <Foundation/Foundation.h> #include <stdio.h> //所用到的三个函数的声明; int getDays(int y, int m, int d); void estimate(int days); int isRun(int y); int main() { //初始化年,月,日,用于接收输入键盘录入。 int year,month,day; do { printf("请输入2006.1.1之后的任意一天,年月日之间以.隔开\n"); scanf("%d.%d.%d", &year, &month, &day); } while (year<2006 || month<1 || month>12 ||day>31); //调用函数getDays获得这天离2006年1月1日相差的天数。 int days=getDays(year, month, day); //调用函数判断遇到的是美女还是帅哥。 estimate(days); return 0; } int getDays(int y,int m,int d) { //闰年每月的天数 int leapYearMonths[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; //正常年每月的天书 int yearMonths[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; //初始化一个月份差距的天数和,默认值为0。 int sumOfMonth=0; //初始化一个年差距的天数和,默认值为0. int sumOfYear=0; //从2006年开始遍历,算出年差距的总天数。 for(int x=2006;x<y;x++) { if(isRun(x)) sumOfYear+=366; else sumOfYear+=365; } //从1月份算起,算出月差距的总天数。 for(int i=1;i<m;i++) { if(isRun(y)) sumOfMonth+=leapYearMonths[i]; else sumOfMonth+=yearMonths[i]; } //返回一个年月日差距的总天数。 return sumOfMonth+sumOfYear+d; } void estimate(int days) { //利用%的特性来判断是否遇见美女和帅哥。 if(days%2==0) printf("这天小明碰到的是帅哥\n"); if(days%3==0) printf("这天小明碰到的是美女\n"); if(days%2!=0 && days%3!=0) printf("这天小明既没有碰到美女,也没有碰到帅哥"); } //判断是否是闰年的函数。 int isRun(int y) { //闰年的计算是1,能被4整除,且不能被100整除, // 2。能被400整除。两者满足其一即可。 if((y/4==0 && y/100!=0)||(y/400==0)) { return 1; } else { return 0; } }7.
//学生信息管理系统,包含添加,删除和查看功能(有个功能实现不了,就是不知道怎么样在第一次运行程序时候输入的数据,关闭再打开还能查看) #import <Foundation/Foundation.h> #include <stdio.h> #include <string.h> void gongNing (); // 增加、删除、查询的功能声明 void zengJia(); // 增加功能声明 void shanchu(); // 删除功能声明 void chaxun(); // 查询功能声明 void xuehao(); void xingming(); void xingbie(); void fenshu(); void suoyou(); void shanchuxingming(); void shanchuxuehao(); void shanchuxingbie(); void shanchufenshu(); void shanchusuoyou(); // 定义一个学生的结构体 struct Student { char name[10]; // 姓名 int age; // 年龄 char set[10]; // 姓别 int number; // 学号 double score; // 分数 } ; // 定义一个学生数组可放100人 struct Student str[100]; int main() { // 提示用户登陆学生管理系统 // printf("欢迎登陆学生管理系统\n"); printf("\n\n\n\n\t\t\t\t\t\t 欢迎使用学生管理系统!\n"); // 调用功能 gongNing(); // 程序归零,正常退出 return 0; } // 所有功能定义 void gongNing () { // 保证功能函数一直不退出循环,想退出的时候再退出(可退出的死循环) // 定义功能的标识 int n = 0; // 提示用户输入 printf("\t\t\t\t\t\t*******************\n"); printf("\t\t\t\t\t\t 1.增加学生信息\n"); printf("\t\t\t\t\t\t 2.删除学生信息\n"); printf("\t\t\t\t\t\t 3.查询学生信息\n"); printf("\t\t\t\t\t\t 退出系统按任意键\n"); printf("\t\t\t\t\t\t*******************\n"); // 接收用户的选择 scanf("%d", &n); // 定义用户所需进入的选择 if (n == 1) { zengJia(); // 增加 } else if (n == 2) { shanchu(); // 删除 } else if (n == 3) { chaxun(); // 查询 } else { exit(0);//退出函数的命令 } } // 增加功能定义 void zengJia() { static int i; // 定义学生数组每个人的信息 while (i<100) { printf("请输入该学生的姓名\n"); scanf("%s",str[i].name); printf("请输入该学生的年龄(5岁-30岁之间)\n"); scanf("%d",&str[i].age); // 检察年龄是否适当(5岁-30岁之间) while (str[i].age<5 || str[i].age>30) { printf("对不起您的学生年龄输入可能有误\n"); printf("请重新输入该学生年龄\n"); scanf("%d",&str[i].age); } printf("请输入该学生的性别(man或woman)\n"); scanf("%s",&str[i].set); // 只能输入男或女或man或woman while ((strcmp("man",str[i].set)!=0) && (strcmp("woman",str[i].set)!=0)) { printf("您输入的性别有误\n请重新输入\n"); scanf("%s",&str[i].set); } printf("请输入该学生的学号\n"); scanf("%d",&str[i].number); // 检察学号是否相同,学号具有惟一性,不能同时给多人赋值 for (int a = 0; a<i; a++) { while (str[i].number == str[a].number) { printf("对不起学号具有惟一性,不能同时给多人同一学号\n"); printf("请重新输入该学生的学号\n"); scanf("%d",&str[i].number); } } printf("请输入该学生的分数\n"); scanf("%lf",&str[i].score); // 检察分数是否适当 while (str[i].score<0 || str[i].score>100) { printf("对不起您的考生考分不符合判卷标准\n"); printf("请重新输入该学生的分数\n"); scanf("%lf",&str[i].score); } // 确保每次调用函数都输入下一个数组的信息 i++; printf("是否继续添加,请按1,返回菜单请按2,退出按任意键\n"); int a = 0; scanf("%d", &a); if (a == 1) { zengJia(); } else if (a == 2) { gongNing(); } } } // 删除功能定义 void shanchu() { printf("请输入需要删除的选择\n学号删除请按1\n姓名删除请按2\n性别删除请按3\n分数删除请按4\n删除所有请按5\n返回请按6\n"); int a = 0; scanf("%d",&a); if (a == 1) { shanchuxuehao(); } else if (a == 2) { shanchuxingming(); } else if (a == 3) { shanchuxingbie(); } else if (a == 4) { shanchufenshu(); } else if (a == 5){ shanchusuoyou(); }else if(a == 6) { gongNing(); } } void shanchuxuehao() { // 提示用户需要删除该学生的学号 printf("请输入需要删除该学生的学号\n"); int n = 0; scanf("%d",&n); // 找到这个学号对应的数组 for (int i = 0,count = 0; i<100; i++) { // 定义一个空的学生变量a struct Student a; // 如果数组某一个元素的学号与需要删除的学号相等 if (str[i].number == n) { printf("您要删除的学生姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n如不是很按1(跳过继续查找),返回请按2,删除请按任意键\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); int b = 0; scanf("%d",&b); if (b==1) { continue; } else if (b ==2) { shanchu(); } else { str[i] = a; // 然后将这个数组元素清空 --count; }; } ++count; if (count==100) { printf("无此学生\n"); shanchu(); } } } void shanchuxingming() { // 提示用户需要删除该学生的学姓名 printf("请输入需要删除该学生的姓名\n"); char n[10] = {0}; scanf("%s",&n); // 找到这个性别对应的数组 for (int i = 0,count = 0; i<100; i++) { // 定义一个空的学生变量a struct Student a; // 如果数组某一个元素的姓名与需要删除的姓名相等 if (strcmp(str[i].name, n) == 0) { printf("您要删除的学生姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n如不是很按1(跳过继续查找),返回请按2,删除请按任意键\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); int b = 0; scanf("%d",&b); if (b==1) { continue; } else if (b ==2) { shanchu(); } else { str[i] = a; // 然后将这个数组元素清空 --count; }; } ++count; if (count==99) { printf("无此学生\n"); shanchu(); } } } void shanchuxingbie() { // 提示用户需要删除该学生的学姓别 printf("请输入需要删除该学生的姓别(man或woman)\n"); char n[10] = {0}; scanf("%s",&n); // 找到这个性别对应的数组 for (int i = 0,count = 0; i<100; i++) { // 定义一个空的学生变量a struct Student a; // 如果数组某一个元素的姓名与需要删除的姓名相等 if (strcmp(str[i].set, n) == 0) { printf("您要删除的学生姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n如不是很按1(跳过继续查找),返回请按2,删除请按任意键\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); int b = 0; scanf("%d",&b); if (b==1) { continue; } else if (b ==2) { shanchu(); } else { str[i] = a; // 然后将这个数组元素清空 --count; }; } ++count; if (count==99) { printf("无此学生\n"); shanchu(); } } } void shanchufenshu() { // 提示用户需要删除该学生的分数 printf("请输入需要删除多少学生的分数以内的数据用“-”(如:90-100,单个成绩100-100)\n"); int n = 0,m = 0; scanf("%d-%d",&n, &m); for (;n <= m;n++) { // 找到这个学号对应的数组 for (int i = 0,count = 0; i<100; i++) { // 定义一个空的学生变量a printf("您要删除的学生是%d-%d将被删除,返回请按2,确认请按任意键\n",n,m); struct Student a; // 如果数组某一个元素的分数与需要删除的分数相等 if (str[i].number == n) { str[i] = a; // 然后将这个数组元素清空 } ++count; if (count==99) { printf("无此学生\n"); shanchu(); } } } } void shanchusuoyou() { for (int i = 0; i<100; i++) { struct Student a; // 如果数组某一个元素的姓名与需要删除的姓名相等 printf("您将要删除所有学生信息,返回请按1,删除请按任意键\n"); int b = 0; scanf("%d",&b); if (b==1) { continue; } else if (b ==2) { shanchu(); } else { str[i] = a; // 然后将这个数组元素清空 }; } } // 查询功能定义 void chaxun() { printf("按学号查询请按1\n按姓名查询请按2\n按性别查询请按3\n按分数查询请按4\n查询所有(按录入顺序)请按5\n"); int a = 0; scanf("%d", &a); if (a==1) { xuehao(); } else if (a == 2) { xingming(); } else if (a == 3) { xingbie(); } else if (a == 4) { fenshu(); } else if (a == 5) { suoyou(); } printf("是否继续查询,查询请按1,返回菜单请按2\n"); int b = 0; scanf("%d",&b); if (b == 1) { chaxun(); }else if (b ==2){ gongNing(); } } void suoyou() { printf("从录入顺序\n"); for (int i = 0; i<=99; i++) { printf("第%d个的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",(i+1),str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); } } void fenshu() { // 提示用户输入需要查询的学生分数 printf("请输入需要查询的学生分数\n"); double n = 0; scanf("%lf",&n); // 将这个分数找出 for (int i = 0,count = 0; i<100; i++) { // 如果数组的某一个元素分数与需要查找的元素分数相等 if (str[i].score == n) { // 打印这个学生元素的所有信息 printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); --count; } ++count; // 遍历每一个分数,如果找不到打印无此学生,返回查询 if (count==100) { printf("无此学生\n"); chaxun(); } } } void xingbie() { // 提示用户输入需要查询的学生姓别 printf("请输入需要查询的学生姓别\n"); char n[10] = {0}; scanf("%s",n); // 将这个姓别找出 for (int i = 0,count = 0; i<100; i++) { // 如果数组的某一个元素姓别与需要查找的元素姓别相等 if (strcmp(str[i].set, n) == 0) { // 打印这个学生元素的所有信息 printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); --count; } ++count; // 遍历每一个姓别,如果找不到打印无此学生,返回查询 if (count == 100) { printf("无此学生\n"); chaxun(); } } } void xingming() { // 提示用户输入需要查询的学生姓名 printf("请输入需要查询的学生姓名\n"); char n[10] = {0}; scanf("%s",n); // 将这个姓名找出 for (int i = 0, count = 0; i<100; i++) { // 如果数组的某一个元素姓名与需要查找的元素姓名相等 if (strcmp(str[i].name, n) == 0) { // 打印这个学生元素的所有信息 printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); --count; } // 遍历每一个姓名,如果找不到打印无此学生,退出此功能 ++count; if (count==100) { printf("无此学生\n"); chaxun(); } } } void xuehao() { // 提示用户输入需要查询的学生学号 printf("请输入需要查询的学生学号\n"); int n = 0; scanf("%d",&n); // 将这个学号找出 for (int i = 0; i<100; i++) { // 如果数组的某一个元素学号与需要查找的元素学号相等 if (str[i].number == n) { // 打印这个学生元素的所有信息 printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score); break; } // 遍历每一个学号,如果找不到打印无此学生,退出此功能 else if (i == 99) { printf("无此学生\n"); chaxun(); } } }
8.
#import <Foundation/Foundation.h> #include <stdio.h> #include <string.h> int string_len(char *s) { //两种方法:第一种是遍历字符串,计数,第二种是利用strlen函数 /* int i; for (i=0;s[i] != '\0';i++);//前边一直,出错,是因为这里少了一个分号; return i;*/ int a=strlen(s); return a; } int main() { char name[1024]; printf("please input a sentence"); gets(name); int c=string_len(name); printf("字符串长度=%d",c); return 0; }
9.
//输入字符串,将每个单词首字母变成大写再输出 #import <Foundation/Foundation.h> #include <stdio.h> int main() { char name[1024];//定义字符数组 printf("please input a sentence"); gets (name);//接收输入的字符串 if (name[0]>='a'&&name[0]<='z')//如果首字母是小写 { name[0]=name[0]-32;//将首字母转化为大写 } for (int i=1;name[i]!='\0';i++)//遍历字符串 { if (name[i-1] ==' '&&name[i]>='a' && name[i]<='z')//如果该字符前一个字符为空格,且该字符为小写 { name[i]=name[i]-32; } } printf("%s",name); return 0; }
10.在键盘输入run,然后打印pao [str isEqualToString:@""]的用法
#import <Foundation/Foundation.h> int main() { NSLog(@"please input a sentence"); char *sen; scanf("%s",sen); NSString *str = [NSString stringWithUTF8String:sen]; if ([str isEqualToString:@"run"]) { NSLog(@"跑"); } else if ([str isEqualToString:@"pao"]) { NSLog(@"跑1"); } else { NSLog(@"wrong input"); } return 0; }