浮点数里面,int表示无穷大,nan表示不存在
scanf(%c,&c);可以输出字符;
scanf(%d,&i)c=i;输入值可以转换为字符
强制类型转换不会改变被转换的值,只会调用那个值。
对于printf 任何小于int的整数会被转换为int 浮点数float会被转换为double所以在printf里输出浮点数只需要%f不需要%lf
unsigned无符号数
getchar()读入从键盘输入的字符串 putchar输出读入的字符
continue跳过本次循环
!>&&>||
逗号表达式的应用:for(i=0,j=10;i<j;i++,j–)
入果需要修改字符串 应该使用数组
求最大公约数
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%min0){
printf("%d和%d的最大公约数是%d\n",a,b,min);
i=0;
break;
}
}
}
if(i1){printf("%d和%d没有最大公约数",a,b);
}
return 0;
}
从以3开始连续四个数中取三个不重复的数组成一个三位数
#include <stdio.h>
int main()
{
int a=3;
//scanf("%d",&a);
int i,j,k;
i=a;
int ret=0;
while(i<a+4){
j=a;
i++;
while(j<a+4){
j++;
k=a;
while(k<a+4){
if(i!=j){
if(i!=k){
if(j!=k){
printf("%d %d %d",i,j,k);
ret++;
if(ret6){
printf("\n");
ret=0;
}else{
printf(" ");
}
}
}
}
}
k++;
}
//j++;
}
//i++;
}
return 0;
}
未解决的问题
水仙花数
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int first=1;
int i=1;
for( ;i<n;i++){
first=10first;
}
printf(“first=%d\n”,first);
printf(“水仙花数为:\t”);
i=first;
while(i<10first){
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<n){
z=z*s;
j++;
}
sum=sum+z;
}
if(sum==i){
printf("%d\t",sum);
}
i++;
}
return 0;
}