C语言第三天01
1.求复合给定条件的整数集(15)
给定不超过6的整数A,考虑从A开始的连续4个数字,请输出所有由它们组成的无重复数字的三位数
#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
int i,j,k;
int cnt = 0;
i=a;
while(i<=a+3){
//TODO
j=a;
while(j<=a+3){
//TODO
k=a;
while(k<=a+3){
//TODO
if(i!=j){
if(j!=k){
if(i!=k){
cnt++;
printf("%d%d%d",i,j,k);
if(cnt == 6){
printf("\n");
cnt=0;
}else{
printf(" ");
}
}
}
}
k++;
}
j++;
}
i++;
}
return 0;
}
2.水仙花数
#include<stdio.h>
int main(){
int n,m;
scanf("%d",&n);
int first = 1;
int i = 1;
while(i<n){
//TODO
first*=10;
i++;
}
//printf("first=%d\n",first);
// 遍历 100-999
while(i<first*10){
//TODO
int t = i;
int sum =0;
do{
//TODO
int d = t%10;
t/=10;
int p = d;
int j = 1;
while(j<n){
//TODO
p *= d;
j++;
}
sum += p ;
}while(t>0);
if(sum == i){
printf("%d\n",i);
}
i++;
}
return 0;
}
3.九九乘法表
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=1; i<=n; i++){
for(int j =1; j<=i; j++){
printf("%d*%d=%d ",j,i,i*j);
if(j!=i){
printf(" ");
}else{
printf(" ");
}
}
printf("\n");
}
return 0;
}
4.统计素数并求和
#include<stdio.h>
int main(){
int m,n;
int i;
int cnt = 0;
int sum = 0;
scanf("%d %d",&m,&n);
for(i=m; i<=n; i++){
int isPrime = 1;
int k;
for( k = 2; k<i-1; k++ ){
if(i%k == 0){
isPrime = 0;
break;
}
}
//判断i是否是素数
if(isPrime){
cnt++;
sum+=i;
}
}
printf("%d %d",cnt,sum);
return 0;
}
5.念数字
#include<stdio.h>
int main(){
int n,m;
scanf("%d",&n);
int mask=1;
if(n<0){
//TODO
n=-n;
printf("- ");
}
m=n;
while(m>10){
m/=10;
mask*=10;
}
do{
int t = n/mask;
switch (t) {
case 1:
//TODO
printf("yi");
break;
case 2:
//TODO
printf("er");
break;
case 3:
printf("san");
break;
case 4:
printf("si");
break;
case 5:
printf("wu");
break;
case 6:
printf("liu");
break;
case 7:
printf("qi");
break;
case 8:
printf("ba");
break;
case 9:
printf("jiu");
break;
case 0:
printf("ling");
break;
}
if(mask>9){
//TODO
printf(" ");
}
n%=mask;
mask/=10;
}while(mask>0);
return 0;
}
6.求a的连续和(15)
#include<stdio.h>
int main(){
int n,m;
scanf("%d%d",&n,&m);
int sum = 0,sum1=0;
for(int i = 1; i<=m;i++)
{
sum1=sum1*10+n;
sum+=sum1;
}
printf("%d",sum);
return 0;
}