浙大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语言-编程题-创新互联
URL地址:https://www.cdcxhl.com/article28/dpdejp.html

成都网站建设公司_创新互联,为您提供自适应网站营销型网站建设网站策划响应式网站商城网站虚拟主机

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发