浙大mooc-c语言-编程题-创新互联

入门 第七周 1.多项式加法

代码

创新互联建站致力于网站设计制作、成都做网站,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联建站,就选择了安全、稳定、美观的网站建设服务!
#include#includeint duru(int x[])
{	int num=sizeof(x)/sizeof(x[0]);
	int a,b;
	printf("输入:"); 
	do 
	{scanf("%d %d",&a,&b);
		for(int i=num;i>=0;i--)
		{	if(a==i)
			{		x[i]=b; break;
			}
		}
    	

	}while(a>0);
	
}
int main()
{int a[101]={0},b[101]={0};
	duru(a);
	duru(b);
	printf("输出:"); 
	for(int i=100;i>=0;i--)
	{a[i]+=b[i];
		if(a[i]!=0)
		{	
			if(i!=0)
			{		printf("%dx%d+",a[i],i);
			}
			else
			{		printf("%d",a[i]);
			}
		}
		
	}

	return 0;
}

效果
在这里插入图片描述

2.鞍点

代码

#include#includeint main()
{int n,m;
    printf("输入m*n:\n");
	scanf("%d*%d",&m,&n);
	printf("矩阵:\n");
	int A[m][n];
	for(int i=0;ifor(int j=0;j	scanf("%d",&A[i][j]);				
		}
	}
	int maxh[2][m];
	for(int i=0;imaxh[0][i]=0;maxh[1][i]=0;
		for(int j=0;jif(A[i][j]>=maxh[0][i])
			{		maxh[0][i]=A[i][j];
				maxh[1][i]=j;//maxh[0]行大值  maxh[1]列坐标 
			}
		}
		
	}
	printf("每行大值及其列坐标:\n");
	for(int i=0;iprintf("%d %d\n",maxh[0][i],maxh[1][i]);//横纵坐标均从零开始 
	}

	printf("开始判断是否为每列最小值…\n");
	int p[m];//判断是否列最小
	int t=0;//鞍点数量 
	for(int i=0;ip[i]=1;//用0初始化 
		for(int j=0;j	if(A[j][maxh[1][i]]		p[i]=0;
				break;
			}
		}
		if(p[i])
		{	printf("输出鞍点坐标及鞍点值:%d %d %d",i,maxh[1][i],maxh[0][i]);
			t++; 
		}
	}
	if(t==0)
	{printf("没有鞍点");
	}
	return 0;
}

效果
在这里插入图片描述

第八周 1.单词长度

代码

#include#includeint main()
{char a[20]; 
	char c='.';
	do
	{for(int i;i	a[i]=0;
		}
        scanf("%s",&a);
        int b=strlen(a);
        if(strchr(a,c)!=NULL)
        {	b--;
		}
		printf("%d ",b);	
	}while(strchr(a,c)==NULL);
	return 0;
}

效果
在这里插入图片描述

2.GPS数据处理

代码

#include#includeint main()
{char a[100]; 
	int len;
	char p[9]={'0'};       	
	do
	{for(int i;ia[i]=0;
    	}
        scanf("%s",&a);
        len=strlen(a);
        int c=a[1];//c 计算校验值 
        for(int i=2;ic=c^a[i];
     	}
	    int d=(a[len-2]-48)*16+a[len-1]-48; //d 实际校验值 
    	int e=((a[7]-48)*10+a[8]-48+8)%24;//e 小时换算 
    	//printf("%d %d %d\n",c,d,e);
    	if(c==d&&a[18]=='A') 
    	{	    for(int i=0;i<8;i++)//最后一个正确数据 
         	{p[i]='0';//printf("**%c",p[i]);
		        
        	}
	        if(e<=9)
	        {	p[0]='0';p[1]=(char)(e+48);
	        	//printf("0%d:%c%c:%c%c\n",e,a[9],a[10],a[11],a[12]);
	    	}
		    else if(e<=19)
		    {
		    	p[0]='1';p[1]=(char)(e/10+48);
	    		//printf("%d:%c%c:%c%c\n",e,a[9],a[10],a[11],a[12]);
	    	}
	    	else
			{	    		p[0]='2';p[1]=(char)(e/10+48);
			}
	    	p[2]=':';p[3]=a[9];p[4]=a[10];p[5]=':';p[6]=a[11];p[7]=a[12];
	   }
//	   	for(int i=0;i<8;i++)
//	   {//	    	printf("**%c",p[i]);
//    	}
	}while(len!=3);
	for(int i=0;i<8;i++)
	{printf("%c",p[i]);
	}

	return 0;
} 
//测试数据 
//$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50//正确数据 
//$GPRMC,032803.640,V,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*41//状态为V,未定位,错误数据 
//$GPRMC,173218.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*52//正确数据 
//$GPRMC,143823.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*43//校验值不对,错误数据 
//END

效果
在这里插入图片描述

进阶 第一周 1.字符串比对

代码

#include#includeint main()
{char a[10000]={0},b[10000]={0};int t=0;
	scanf("%s %s",&a,&b);
	for(int i=0;iint p=1;
	    for(int j=0;j	if(a[j]!=b[i+j])
			{		p=0;break;
			}
		}
		if(p)
		{	printf("%d ",i+1);
			t++;
		}
		p=0;	
	}
	if(t==0)
	{printf("-1");
	}
}
//abba//测试数据 
//
//ababbbaabbabbabbabbaacc

效果
在这里插入图片描述

数组

代码

#include#include#include#define block 20
typedef struct{int *array;int size;
}Array; 
Array a_create(int size)
{Array a;a.size=size;a.array=(int*)malloc(sizeof(int)*size);
	return a;
}
void a_free(Array *a)
{free(a->array);a->array=NULL;a->size=0;
}
int a_size(const Array *a)
{return a->size;
}
void a_inflate(Array *a,int more_size)
{int*p=(int*)malloc(sizeof(int)*(a->size+more_size));
	for(int i=0;isize;i++)
	{p[i]=a->array[i];
	}
	free(a->array);a->array=p;a->size=a->size+more_size;
}
int *a_at(Array *a,int length)
{if(a->size<=length)a_inflate(a,(length/block+1)*block-a->size);
	return &(a->array[length]);
}

int a_get(Array *a,int index)
{return a->array[index];
}
int a_set(Array *a,int length,int value)
{*a_at(a,length)=value;
	
}
int main()
{Array a=a_create(10);
	*a_at(&a,5)=6;
	*a_at(&a,10)=*a_at(&a,5);
	return 0;
}
链表

代码

main()
{Array a=a_create(10);
	*a_at(&a,5)=6;
	*a_at(&a,10)=*a_at(&a,5);
	return 0;
}
第四周 1.逆序输出

代码

#include#includeint main()
{char a[100];
	int p=0;
	for(int i=0;i<100;i++)
	{scanf("%c",&a[i]);
	    if(a[i]=='-')
		{   p=i-2;
		   break;
		}	   
	}
	for(int i=p;i>=0;i--)
	{printf("%c",a[i]);
	} 			
	return 0;
}

效果
在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:浙大mooc-c语言-编程题-创新互联
分享地址:http://myzitong.com/article/dpdejp.html