C语言学习记录

浮点数里面,int表示无穷大,nan表示不存在
scanf(%c,&c);可以输出字符;
scanf(%d,&i)c=i;输入值可以转换为字符

强制类型转换不会改变被转换的值,只会调用那个值。

对于printf 任何小于int的整数会被转换为int 浮点数float会被转换为double所以在printf里输出浮点数只需要%f不需要%lf

unsigned无符号数

getchar()读入从键盘输入的字符串 putchar输出读入的字符
continue跳过本次循环

!>&&>||
C语言学习记录_第1张图片

C语言学习记录_第2张图片

逗号表达式的应用:for(i=0,j=10;i

入果需要修改字符串 应该使用数组

求最大公约数
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int min;
if(a>b)min=b;
else min=a;
int i=1;
for(;min>0;min–){
if(a%min0){
if(b%min
0){
printf("%d和%d的最大公约数是%d\n",a,b,min);
i=0;
break;
}
}
}
if(i1){printf("%d和%d没有最大公约数",a,b);
}
return 0;
}
从以3开始连续四个数中取三个不重复的数组成一个三位数
#include
int main()
{
int a=3;
//scanf("%d",&a);
int i,j,k;
i=a;
int ret=0;
while(i j=a;
i++;
while(j j++;
k=a;
while(k if(i!=j){
if(i!=k){
if(j!=k){
printf("%d %d %d",i,j,k);
ret++;
if(ret
6){
printf("\n");
ret=0;
}else{
printf(" ");
}
}
}
}
}
k++;
}
//j++;
}
//i++;
}
return 0;
}
未解决的问题

C语言学习记录_第3张图片

水仙花数
#include
int main()
{
int n;
scanf("%d",&n);
int first=1;
int i=1;
for( ;i first=10first;
}
printf(“first=%d\n”,first);
printf(“水仙花数为:\t”);
i=first;
while(i<10
first){
int t=i;
int s;
int sum=0;
while(t>0){
s=t%10;
t=t/10;
int z=1;
int j=0;
int d;
while(j z=z*s;
j++;
}
sum=sum+z;
}
if(sum==i){
printf("%d\t",sum);
}
i++;
}
return 0;
}

你可能感兴趣的:(C语言学习)