//test1();//编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组
// test2();//给定某年某月某日,将其转换成这一年的第几天并输出。
//test3();//编写整型值数组排序程序(冒泡排序–升序)
// test4();//找出下列整型数组中最大和最小值及其所在位置i。int a[] = {5,-9,32,77,64,-24,14,0,21,45};
//test5();//char result[50] = {0};char str1[] = “Shangcheng “;char str2[] = “class “;char str3[] = ” is niu best!”;把str1, str2, str3合并到result数组中。
//test6();//模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
// test7();//题:编程在一个已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。比如:”ni hap world”,最长单词是world
//
// test8();//数组解决约瑟夫环
test9();//简单链表的创建
//
// main.m
// c32 test
//
// Created by dq on 15/7/17.
// Copyright (c) 2015年 dq. All rights reserved.
//
#import <Foundation/Foundation.h>
void insertSort(int a[])
{
for (int i=1; i<5; i++) {
if (a[i]<a[i-1]) {
int j=i-1;
int x =a[i];
while (x<a[j]&&j>=0) {
a[j+1]=a[j];
j--;
}
a[j+1]=x;
}
}
// for (int i=0; i<5; i++) {
// printf("%d ",a[i]);
// }
}
void zuhe(int a[],int b[])
{
int c[10];
int i=0,j=0;
int k=0;
while (i<5&&j<5) {
if(a[i]>b[j])
{
c[k]=b[j];
j++;
}
else{
c[k]=a[i];
i++;}
k++;
}
if(i==5)
{
for (int a1=0; a1<5-j; a1++) {
c[k]=b[j];
k++;
j++;
}
}
else
{
for (int a1=0; a1<5-i; a1++) {
c[k]=a[i];
k++;
i++;
}
}
for (int i=0 ;i<10; i++) {
printf("%d ",c[i]);
}
}
void test2()
{
int a,b,c,sum=0;
printf("请输入某年.某月.某日");
scanf("%d.%d.%d",&a,&b,&c);
if ((a%4==0&&a%100!=0)||a%400==0) {
switch (b) {
case 12:
sum+=31;
case 11:
sum+=28;
case 10:
sum+=31;
case 9:
sum+=30;
case 8:
sum+=31;
case 7:
sum+=30;
case 6:
sum+=31;
case 5:
sum+=31;
case 4:
sum+=30;
case 3:
sum+=31;
case 2:
sum+=30;
case 1:
sum+=31;break;
default:
break;
}
printf("这是这一年的第%d天",sum+c);
}
else
{
switch (b) {
case 12:
sum+=31;
case 11:
sum+=29;
case 10:
sum+=31;
case 9:
sum+=30;
case 8:
sum+=31;
case 7:
sum+=30;
case 6:
sum+=31;
case 5:
sum+=31;
case 4:
sum+=30;
case 3:
sum+=31;
case 2:
sum+=30;
case 1:
sum+=31;break;
default:
break;
}
printf("这是这一年的第%d天",sum+c);
}
}
void test1()
{
int a[5],b[5];
printf("请输入第一个数组的值\n");
for (int i=0; i<5; i++) {
scanf("%d,",a+i);
}
printf("请输入第二个数组的值\n");
for (int i=0; i<5; i++) {
scanf("%d,",b+i);
}
insertSort(a);
insertSort(b);
zuhe(a, b);
}
void test3()
{
int a[] = {3,-9,32,77,63,-24,14,0,21,45};
for (int i=0; i<9; i++) {
for (int j=0; j<9-i; j++) {
if (a[j]>a[j+1]) {
int temp =a[j];
a[j] =a[j+1];
a[j+1]=temp;
}
}
}
for (int i=0; i<10; i++) {
printf("%d ",a[i]);
}
}
void test4()
{
int a[] = {5,-9,32,77,64,-24,14,0,21,45};
int max=0,maxIdenx=0,min=0,minIdenx=0;
for (int i=0; i<10; i++) {
if(max<a[i])
{
max=a[i];
maxIdenx=i;
}
if (min>a[i]) {
min =a[i];
minIdenx=i;
}
}
printf("最大值%d下标%d 最小值%d下标%d",max,maxIdenx,min,minIdenx);
}
void test5()
{
char str1[30] = "Shangcheng ";
char str2[30] = "class ";
char str3[30] = " is niu best!";
char result[50]={0};
strcat(str1, str2);
printf("%s\n",str1);
strcat(str1, str3);
printf("%s\n",str1);
strcat(result,str1);
// printf("%s",result);
puts(result);
}
void test6()
{
int n=100,aNum=0,bNum=0,cNum=0,dNum=0;
for (int i=0; i<n; i++){
char a =arc4random()%5+65;//总共产生5种可能 ABCD 和无效票
switch (a) {
case 'A':
aNum++;
break;
case 'B':
bNum++;
break;
case 'C':
cNum++;
break;
case 'D':
dNum++;
break;
default:
break;
}
}
printf("A的票数%d\nB的票数%d\nC的票数%d\nD的票数%d",aNum,bNum,cNum,dNum);
}
void test7()
{
int temp,count=0,low_index=0,high_index=0,low_temp,high_temp;
char a[]="you a55555re b111111111est";
// printf("%d",(int)strlen(a));
for (int i=0; i<strlen(a); i++) {
temp =0;
low_temp=i;
while (a[i]!=' '&&a[i]!='\0') {
temp++;
i++;
}
high_temp =i-1;
if(temp>count)
{
count =temp;
low_index=low_temp;
high_index=high_temp;
}
}
for (int i=low_index; i<=high_index; i++) {
printf("%c",a[i]);
}
}
void test8()
{
int m,n;
int num=1;
int *a;
a=malloc(sizeof(int));
printf("请输入相应的值");
scanf("%d,%d",&n,&m);
for (int i=1;i<=n; i++) {
a[i]=i;
}
for (int i=n; i>=1; i--) {
num = (num+m-1)%i;
if(num==0)
num=i;
printf("%d\n",a[num]);
for (int j=num; j<=i; j++) {
a[j]=a[j+1];
}
}
}
struct People
{
long num;
float score;
struct People *next;
};//结点的存储结构
void test9()
{
struct People a,b,*head,*p;
a.num=100;a.score=98;
b.num=101;b.score=99;
head =&a;
a.next=&b;
b.next=NULL;
p=head;
while (p!=NULL) {
printf("%ld %f\n",p->num,p->score);
p=p->next;
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//test1();//编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组
// test2();//给定某年某月某日,将其转换成这一年的第几天并输出。
//test3();//编写整型值数组排序程序(冒泡排序--升序)
// test4();//找出下列整型数组中最大和最小值及其所在位置i。int a[] = {5,-9,32,77,64,-24,14,0,21,45};
//test5();//char result[50] = {0};char str1[] = “Shangcheng ";char str2[] = "class ";char str3[] = " is niu best!";把str1, str2, str3合并到result数组中。
//test6();//模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
// test7();//题:编程在一个已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。比如:"ni hap world",最长单词是world
//
// test8();//数组解决约瑟夫环
test9();//简单链表的创建
}
return 0;
}