1.读取一个65到122之间的整型数,然后以字符形式输出它,比如读取了97,输出字符a
#include <stdio.h>
int main(){int n;scanf("%d",&n);if(n>=65 && n<=122){printf("%c\n",n);}
}
2.判断某个年份是不是闰年,如果是闰年,请输出“yes”,否则请输出“no”
int main(){ int year;scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0){printf("yes\n");} else{printf("no\n");}return 0;
}
3.读取一个整型数,字符,浮点数,分别到变量i,j,k中,然后将i,j,k直接相加并输出,小数点后保留两位小数,不用考虑输入的浮点数的小数部分超过了两位
int main(){int i;char j;float k;int ret = scanf("%d %c%f",&i,&j,&k);printf("%5.2f\n",i+j+k);return 0 ;}
4.输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no,不用考虑这个整型数过大,int类型存不下,不用考虑负值;
例如 12321是对称数,输出yes,124421是对称数,输出yes,1231不是对称数,输出no
int main(){int a,b,backupa;scanf("%d",&a);backupa = a; //给a做备份b=0;while (a){b=b*10+a%10; //b把原有的值*10,再加上余数a=a/10;}if(b==backupa){printf("yes");} else{printf("no");}
}
5.利用while或者for循环计算n!的值。(提示:n!=1*2*3…*n)
int main(){int n;scanf("%d",&n);int result =1;for(int i=1;i<=n;i++){result*=i;}printf("%d\n",result);return 0;
}
6.某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张。问:有几种换法?
#include <stdio.h>
int main() {int a,b,c,d,count=0;for(a=1;a<=10;a++){for(b=1;b<=20;b++){for(c=1;c<=37;c++){for(d=1;d<=37;d++){if(a+b+c+d ==40 && 10*a+5*b+2*c+d==100){count++;//换法加1}}}}}printf("%d\n",count);return 0;
}
7.输入N个数(N小于等于100),输出数字2的出现次数;
int main() {int elementcount; //元素个数int arr[100];//存储的元素scanf("%d",&elementcount);int i;for(i=0;i<elementcount;i++){scanf("%d",&arr[i]);}//判断2出现的次数int count=0;for(i=0;i<elementcount;i++){if(arr[i]==2){count++;}}printf("%d",count);return 0;
}
8.读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。
例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1
#include <stdio.h>
#include <string.h>
//字符翻转,反转后比较与原字符串是否相等
int main() {char c[100]; //翻转前的字符串char d[100]={0};//翻转后的字符串gets(c);int i,j; //用来控制循环翻转的次数for(i=0,j= strlen(c)-1;i< strlen(c);i++,j--){d[j]=c[i];}//puts(d);int result = strcmp(c, d);if (result < 0){printf("%d\n",-1);}else if (result > 0){printf("%d\n", 1);}else {printf("%d\n", 0);}return 0;
}