学习笔记7/26(调试)

易错点(const的用法)
#include<stdio.h>
int main(){
	 const int num=10;
//	 num=20; //err 
    //使用指针修改
//	int *p=&num;
//	*p=20;
//const 修饰指针变量
//const 1.放在*的左边  const int *p==int const*p
//意思是 p指向的对象(也就是这里的num)不能通过p来改变了 
//但是p变量本身的值是可以改变的 如把其他的地址赋值给p 
//	const int *p=&num;
//	int ww=100;
	*p=20;//err
//	p=&ww;//pk

//2.const放在*的右边
	int* const p= &num;
		int ww=100;
	*p=20;//ok
//	p=&ww;//err
	printf("%d\n",num); 
	return 0; 
} 
模拟strcpy库函数
#include<stdio.h>
#include<assert.h>

//模拟库函数strcpy 
char* my_strcpy(char* cc,char* ww){
	//断言
	assert(cc!=NULL);
	assert(ww!=NULL); 
	char* ret=cc; 
	while(*cc++=*ww++){
		;
	}
	*cc=*ww;
	return ret;
}
int main(){
	char cc[20]="wwwan";
	char ww[]="nianjing";
	printf("%s\n",my_strcpy(cc,ww));
	return 0; 
} 
打印数组
#include<stdio.h>
  void print(int arr[],int size){
 	int i=0;
 	for(i=0;i<size;i++){
 		printf("%d\n",arr[i]);
	 }
 }
// void print(int* p,int size){
// 	int i=0;
// 	for(i=0;i<size;i++){
// 		printf("%d\n",*(p+i));
//	 }
// }
int main(){
	int arr[]={1,2,3,4,5};
	int size=sizeof(arr)/sizeof(arr[0]);
	print(arr,size);
	return 0;
} 
字符逆序

字符逆序

#include<stdio.h>
#include<string.h>

//字符数组的逆序
int main() {
    char cc[10001] = {0};
    gets(cc);
	int left=0; 
    int right = strlen(cc) - 1;
    while(left<right){
    	char temp=cc[left];
    	cc[left]=cc[right]; 
    	cc[right]=temp;
    	left++;
    	right--;
	} 
    printf("%s\n", cc);

    return 0;

}
计算求和
#include<stdio.h>
int main(){
	int ww=0;
	int cc=0;
	scanf("%d %d",&ww,&cc);
	int sum=0;
	int i=0;
	int k=0;
	for(i=0;i<cc;i++){
		k=k*10+ww;
		sum+=k;
	}
	printf("%d\n",sum);
	return 0;
} 
水仙花数
#include<stdio.h>
#include<math.h>
int main(){
	int i=0;
	for(i=0;i<=100000;i++){
		int sum=0;//记录总和 
		int temp=i;
		int n=1;//记录次方 如果只有1位数的时候 while会直接跳过 所以n从1开始	  
		 while(temp/10){
		 	n++;
		 	temp/=10;
		 } 
		 temp=i; 
		 while(temp){
		 	sum+=pow(temp%10,n);
		 	temp/=10;
		 }
		 if(sum==i){
		 		printf("%d\n",sum);
		 }
	}
	return 0;
} 
打印菱形
#include<stdio.h>
#include<math.h>
int main(){
	int ww=0;//
	scanf("%d",&ww);
	int i=0;
	for(i=0;i<ww;i++){
		int j=0;
		for(j=0;j<ww-1-i;j++){
			printf(" ");
		}
		for(j=0;j<2*i+1;j++){
			printf("*");
		}
		printf("\n");
	} 
		for(i=0;i<ww-1;i++){
		int j=0;
		for(j=0;j<i+1;j++){
			printf(" ");
		}
		for(j=0;j<2*(ww-i-1)-1;j++){
			printf("*");
		}
		printf("\n");
	}

	return 0;
} 
喝汽水
#include<stdio.h>
//喝汽水 1瓶1元 2个空瓶可以换1瓶 
int main(){
	int ww=0;
	scanf("%d",&ww);
	int sum=0;
	int ping=0;
	while(ww>0||ping>=2){
		if(ww!=0){
			sum+=ww;
			ping+=ww;
			ww=0;
		}
		if(ping!=0){
			ww=ping/2;
			ping%=2;
		}
	}
	printf("%d\n",sum);
	return 0;
} 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值