voidquestion5(){int n;scanf_s("%d",&n);int i;int t =0;do{
i = n %10;
n = n /10;
t = t *10+ i;}while(n >0);printf("%d\n", t);do{
i = t %10;printf("%d", i);if(t >9)printf(" ");
t = t /10;}while(t >0);}
6、非负整数,正序输出每一位数字,例如12345,输出 1 2 3 4 5
voidquestion6(){int n;scanf_s("%d",&n);int t = n;int i =0;do{
n = n /10;
i++;}while(n >0);printf("%d\n", i);
n = t;printf("%d/n", n);do{int d =pow(10, i -1);int j = n / d;printf("%d", j);
n = n % d;
i--;}while(i >=1);}
7、求最大公约数辗转相除法
voidquestion7(){int a, b, t;scanf_s("%d %d",&a,&b);while(b >0){
t = a % b;
a = b;
b = t;}printf("%d", a);}
8、不超过6连续四位整数组成的三位数,从小到大排列
voidquestion8(){int a;scanf_s("%d",&a);int i, j, k;int t =0;for(i =0; i <=3; i++){for(j =0; j <=3; j++){for(k =0; k <=3; k++){if((j != k)&(i != j)&(i != k)){if(t <=4)printf("%d%d%d---", a + i, a + j, a + k);elseprintf("%d%d%d", a + i, a + j, a + k);
t++;}}}
t =0;printf("\n");}}
9、水仙花数
voidquestion9(){int N;scanf_s("%d",&N);int a, b;int c = N -1;
a =pow(10, c);printf("%d\n", a);
b =pow(10, N)-1;printf("%d\n", b);int sum =0;int t, k;for(int i = a; i <= b; i++){
t = i;for(int j =1; j <= N; j++){
k = t %10;
sum = sum +pow(k, N);
t = t /10;}if(sum == i)printf("%d\n", sum);
sum =0;}}
10、九九乘法表,输出结果四位数,左对齐 解决思路一位数小于9三个空格,大于9两个
voidquestion10(){int n;scanf_s("%d",&n);for(int i =1; i <= n; i++){for(int j =1; j <= i; j++){int t = j * i;printf("%d*%d=%d", j, i, t);int cnt =0;while(t >0){
t = t /10;
cnt++;}int a =4- cnt;while(a >0){printf(" ");
a--;}}printf("\n");}}
11、统计给定整数M和N区间内素数的个数,并求和
voidquestion11(){int m, n;int cnt =0, sum =0;scanf_s("%d %d",&m,&n);for(int i = m; i <= n; i++){int j;for(j =2; j < i; j++){if(i % j ==0){break;}}if(j == i){
cnt++;
sum += i;}}printf("%d %d", cnt, sum);}
12、输入数量不确定的0-9范围内的整数,统计每一种数字出现的次数,输入-1表示结束
voidquestion12(){int x;scanf_s("%d",&x);int count[10]={0,0,0,0,0,0,0,0,0,0};while(x !=-1){
count[x]= count[x]+1;scanf_s("%d",&x);}for(int i =0; i <=9; i++){printf("数字%d的个数为%d\n", i, count[i]);}}
13、等差数列,前四个和26,乘积880,求前n项和
voidquestion13(){int n;scanf_s("%d",&n);int i, j;for(i =0; i <6; i++){for(j =0; j <4; j++){if(4* i +6* j ==26&&(i *(i + j)*(i +2* j)*(i +3* j)==880)){printf("%d %d\n", i, j);int t, num =0;for(t =0; t < n; t++){
num = i + j * t;printf("%6d", num);
num =0;}}}}}
14、小球自由落体,原来100米,每次反弹一半
voidquestion14(){double b[11], sum;int i;
b[0]=100;
sum =100;for(i =1; i <=10; i++){
b[i]= b[i -1]*0.5;
sum = sum + b[i]*2;}printf("%f %f", b[10], sum);}
#include<stdio.h>intmain(void){int year, month;int a =0;scanf_s("%d%d",&year,&month);if(year %400==0||(year %4==0&& year %100!=0)){
a =1;}switch(a){case1:{printf("瑞年");switch(month){case4:case6:case9:case11:printf("30天");break;case2:printf("29天");break;default:printf("31天");}break;}case0:{printf("不是瑞年");switch(month){case4:case6:case9:case11:printf("30天");break;case2:printf("28天");break;default:printf("31天");}}}}
17、goto-if 语句求1-100的和
intmain(void){int i=0, sum=0;
LOOP:
sum = sum + i;
i++;if(i >100)goto EXT;goto LOOP;
EXT:printf("%d", sum);}